2018全国高校大数据应用创新大赛(技能赛)

本文介绍了2018年全国高校大数据应用创新大赛的流程,重点阐述了数据预处理、特征提取、模型选择和训练过程。在预处理中,将字母特征转换为数字;模型选用三层神经网络,学习率为0.005,经过2000次训练,准确率达到了99.5%。最后展示了使用PyTorch 1.0的训练和预测代码段。

在这里插入图片描述

描述

  • 训练阶段:组委会提供25000条数据作为训练数据,参赛队伍报名后可从大赛官网下载训练数据集,并进行算法设计、训练和优化。
  • 预赛阶段:组委会提供10万条数据作为预赛数据集。参赛队伍使用自己的算法,对这10万条数据进行“优化等级”标注。本竞赛将以优化等级标注的准确率作为选手预赛的得分。
  • 分赛区决赛和全国总决赛阶段。组委会提供100万条正式比赛数据,参赛队伍使用自己的算法,对这100万条数据进行“优化等级”标注。本竞赛将以优化等级标注的准确率作为选手决赛的技术得分,结合决赛答辩评出最终名次。
  • 详情见 http://117.50.29.62/pc/competition_topic.jsp

环境

环境 版本 Python模块 版本
Ubuntu 16.04 tensorflow 1.8
Anaconda 5.1 numpy
Python 3.6 pandas
Jupyter lab 0.31.5 matplotlib

数据预处理

  • 标签列为数字特征,不做处理。
  • 数据中特征列有花色,牌面等信息为字母标注,将其替换成数字特征,模型相对比较容易处理。比如C替换成1,D替换成2等。如下列代码所示:
NAMES = ['col'+str(e) for e in range(11)]
df_train = pd.read_csv('data/train.csv',names=NAMES,index_col=False)
huase_to_num = {
   
   'C':1,'D':2,'H':3,'S':4}
paimian_to_num = {
   
   'J':11,'Q':12,'K':13}
df_train=df_train.replace(huase_to_num).replace(paimian_to_num)

特征提取

  • 前10列特阵列的数字特征
  • 可以考虑使用交叉列输入神经网络

代码示例如下:

feature_columns = []
for col in NAMES[:-1]:
    feature_columns.append(tf.feature_column.numeric_column(key=col))
feature_columns

模型选择

  • 神经网络采用三层隐藏层,神经元个数分别是1536,768,384
  • 优化函数采用ProximalAdagradOptimizer
  • 学习率0.005
  • L1正则化率0.001
  • L2正则化率0.001
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值