【水比赛】中国高校计算机大赛
【水比赛】中国高校计算机大赛
环境:win7,anaconda+python3.5
暑假第一次做了数据比赛,比赛地址:中国高校计算机大赛
总结一下我第一次数据比赛的经验(主要是失败的经验)
-【赛题描述】-
鼠标轨迹识别当前广泛运用于多种人机验证产品中,不仅便于用户的理解记忆,而且极大增加了暴力破解难度。但攻击者可通过黑产工具产生类人轨迹批量操作以绕过检测,并在对抗过程中不断升级其伪造数据以持续绕过同样升级的检测技术。我们期望用机器学习算法来提高人机验证中各种机器行为的检出率,其中包括对抗过程中出现的新的攻击手段的检测。
本题目数据来源于某人机验证产品采集的鼠标轨迹,经过脱敏处理,数据分为3部分(数据量分别为3000条,10万,200万)。
【训练数据】
训练数据表名称:dsjtzs_txfz_training
字段 | 类型 | 解释 |
---|---|---|
a1 | bigint | 编号id |
a2 | string | 鼠标移动轨迹(x,y,t) |
a3 | string | 目标坐标(x,y) |
label | string | 类别标签:1-正常轨迹,0-机器轨迹 |
【测试数据】
测试数据表名称:dsjtzs_txfz_test1
字段 | 类型 | 解释 |
---|---|---|
a1 | bigint | 编号id |
a2 | string | 鼠标移动轨迹(x,y,t) |
a3 | string | 目标坐标(x,y) |
【测评标准】
选手请将识别为机器行为的编号id提交到计算平台,需要提交的结果表,只包含一个字段:编号id。
初赛提交表名:dsjtzs_txfzjh_preliminary
复赛提交表名:dsjtzs_txfzjh _semifinal
设定Precision为P,Recall为R,白样本为正常轨迹,黑样本为机器轨迹其中:
P = 判黑的数据中真正为黑的数量/判黑的数据总量,
R = 判黑的数据中真正为黑的数量/真实黑数据总量,
比如10w条数据,其中8w条为白样本,2w条为黑样本,参赛者一共将1w条判断为黑样本(其中真正的黑样本有8000条,错将2000条白样本判黑),那么,
P=8000/10000 = 80%,R=8000/20000=40%,
参赛队伍最终得分
F = 5PR/(2P+3R)*100。
最终排名按照F值评判,F值越大,代表结果越优,排名越靠前。
【读取数据和制造特征和保存】
1,pandas的read_csv读入,也可以用文件open,readline读入
进行简单的处理,字符串数字化等内容。
2,开始进行特征的构建,典型的有
特征类型 | 例子 |
---|---|
时间间隔 | 时间间隔最大值,最小值等 |
X轴 | x运动的最大范围,平均值等 |
Y轴 | y运动的最大范围,平均值等 |
速度 | 速度的最大值,最小值等 |
角度 | 开始到最后的角度cos,sin值 |
。。。 | 。。。 |
小技巧:
pandas或者numpy里自带的函数对求统计变量很有用
如
import numpy as np
import pandas as pd
np.max()
np.mean()
pd.mode()
pd.argmax()
...
可以免去我们很多麻烦
3,最后保存到新的csv文件中,作为拥有特征的数据文件。
【特征选择】
很多时候我们不知道提取的特诊是否有用,若没用的特征太多的话
就会变成噪声,从而影响最终模型的好坏,为此,我们可以利用sklearn里的特征选择模块来为特征打分,从而来选择足够有用的特征,提升模型上限的效果。
#去除方差过小的特征
from sklearn.feature_selection import VarianceThreshold#filter型特征选择
from sklearn.feature_selection import SelectKBest
#选择评分最好的K个特征
from sklearn.feature_selection import chi2#卡方选择特征
from sklearn.feature_selection import SelectPercentile
#按百分比选择特征#递归消除特征,可自行了解
from sklearn.feature_selection import FRE
#....还有很多特征选择方法
经过选择而留下的特征,从一定程度上来讲,这些大都是有用的特征(不都是,根据具体情况确定),效果也比较理想,从而提高了模型的能力。
【XGB的初试与网格调参的使用】
可以自行在网上下载xgb的whl文件进行安装
其中可以利用自己对sklearn风格的喜爱,调用包
from xgboost import XGBClassifier #sklearn_style
from sklearn.grid_search import GridSearchCV #网格调参
有了这两个就可以根据自己的喜好进行最优参数训练,推荐网址:
xgboost调参参考
【训练集的线下测试】
其实我并没有做这个东西,但在后来别人讲解的时候发现了自己的不足
,所以就补上这个。
这个可以利用竞赛网站的评分函数,在线下对自己的训练成果进行与预估
具体做法也可以利用sklearn(交叉验证+评估)
from sklearn.cross_validation import train_test_split
from sklearn.metrics import accuracy_score,precision_score,recall_score,classification_report #里面有各种测评函数,具体用法可以看用户手册
【测试集的预测】
在线下的分数达到不错的效果后就可以进行预测了
from xgboost import XGBClassifier #sklearn_style
...
...
pre=XGBClassifier.predict(test_data)
#保存提交
如果能得到比较强的特征的话,效果会很不错,分数也很高
至于复赛太惨,也就不好意思讲了,不过也体验了一把腾讯
DIX ML平台的使用(坑太多了)
总之,还是受益匪浅的一次比赛
【水比赛】中国高校计算机大赛相关推荐
- 广东省计算机教育软件比赛,“中国高校计算机大赛-团体程序设计天梯赛” 广东赛点比赛在我校顺利举办...
"中国高校计算机大赛-团体程序设计天梯赛" 广东赛点比赛在我校顺利举办 3月31日,2018年"中国高校计算机大赛-团体程序设计天梯赛"广东赛点比赛在我校石牌校 ...
- 2020中国高校计算机大赛——华为云大数据挑战赛比赛总结
比赛背景 2016年,教育部高等学校计算机类专业教学指导委员会.教育部高等学校软件工程专业教学指导委员会.教育部高等学校大学计算机课程教学指导委员会.全国高等学校计算机教育研究会联合创办了" ...
- 琴岛学院计算机应用技术,我院计算机工程系成功晋级“中国高校计算机大赛-网络技术挑战赛”全国总决赛...
2017年7月22日,由教育部高等学校计算机类专业教学指导委员会.教育部高等学校软件工程专业教学指导委员会.教育部高等学校大学计算机课程教学指导委员会和全国高等学校计算机教育研究会联合主办的" ...
- 竞赛图 计算机网络 应用题,我校学子获2020年“中国高校计算机大赛-网络技术挑战赛”全国总决赛一等奖(图)...
近日,2020年"中国高校计算机大赛-网络技术挑战赛"全国总决赛在温州浙南科技城落下帷幕.我校计算机与信息安全学院陈俊彦.雷晓春老师指导的"智载车队"团队(成员 ...
- 2016中国高校计算机大赛——大数据挑战赛极客奖:COM团队
摘要:2016中国高校计算机大赛--大数据挑战赛是由教育部和全国高等学校计算机教育研究会联合主办,清华大学和阿里云联合承办,在"天池大数据众智平台"上开展的高端算法竞赛.本次赛题是 ...
- 中国高校计算机大赛--网络技术挑战赛(C4-Network Technology Challenge)
2022 年第七届"中国高校计算机大赛-网络技术挑战赛"规程 2022 年"中国高校计算机大赛-网络技术挑战赛" 竞赛规程 一. 制定依据 中国高校计算机大赛( ...
- 重庆大学计算机专业排名全国多少名,重庆大学成功晋级中国高校计算机大赛团体程序设计天梯赛全国总决赛...
近期,第二届中国高校计算机大赛团体程序天梯赛大区赛落下帷幕,来自全国206所高校.112个专业的4750名学生参加了本次比赛.计算机学院组织全校30名学生组成3支队伍参赛,经过3个小时的激烈角逐最终获 ...
- 中国高校计算机大赛——微信小程序应用开发赛
点击查看下载作品说明文档 点击查看下载作品演示视频 2022年的文档和视频可以私聊 2016年,教育部高等学校计算机类专业教学指导委员会.教育部高等学校软件工程专业教学指导委员会.教育部高等学校大学计 ...
- 2020中国高校计算机大赛·华为云大数据挑战赛-数据分析(一)
2020中国高校计算机大赛·华为云大数据挑战赛–数据分析(一) 正式赛已经开始几天了,但这几天有很多事要忙,所以每什么时间来做比赛,昨天把数据下下来,结合论坛里某个小伙伴的baseline简单分析了下 ...
最新文章
- 捕捉不可控iframe的close事件_湖南大学王建锋团队:光/湿驱动的超快可逆可控致动器...
- 笔记-项目整体管理-变更管理-实施整体变更控制
- css设置 ul的内外边距,9月3日学习CSS选择器,背景设置,及内外边距知识总结
- libevent evhttp学习——http服务端
- 从 0 到 1,看我玩弄千万日志于股掌
- 使用注解装配Bean
- excel导入mysql命令行_使用命令行将Excel数据表导入Mysql中的方法小结
- 刷屏的北京雾霾,2018 年北上广深空气质量分析
- 卡西欧计算机如何计算矩阵乘法,矩阵乘法计算器
- c语言角度换成弧度的编码,角度弧度转换代码
- 第六章、面向对象的PHP
- PADA: Example-based Prompt Learning for on-the-fly Adaptation to Unseen Domains
- 5种开发人工智能的最佳编程语言
- 可汗学院学习总结(一)
- 在html中雪碧图的坐标怎么看,详解CSS Sprite雪碧图的应用
- vassonic PHP,Node.js对接Hybrid框架VasSonic教程
- 阿里云/腾讯云服务器上部署Nginx,域名,SSL证书
- 嵌入式GUI LVGL『Text Area文本区域控件』介绍
- Pixel2刷入原生Google系统并获取ROOT权限
- php HTML转义,反转义