人机识别demo
1、训练集1w条,分8份,7份训练知识结构,1份测试训练效果;将8份轮流训练 2、先用折线图观看x轴与y轴的变化曲率情况,人工获取经验 3、算法可以考虑apriori关联分析、SVM、人工神经网络、决策树、XGBoost算法(这个是有人成功过,指标达91%)
使用scikit-learn包来处理 1、将数据集数字化,预处理将浏览器内核等信息数字化,补全遗漏信息 2、信息量最大和判断最关键的就是鼠标的轨迹数据,这个可以单独来作为训练数据,得出初步判断后再结合其余特征进行判断 3、鼠标轨迹8个为一组,两两依次计算速度,将其转化为x方向和y方向的速度空间的分布,然后识别人的分布模式和机器的分布模式(已经做过,有明显的特征) 4、本题最大的难点是数据特征不明显,速度点集的个数每一个样本都是不同的,无法用矩阵进行存储 5、鼠标轨迹最后一个点为目标点,应该是滑动块成功后截取下来的数据,可以根据之前的空间点到目标点的移动分布来判断 6、可以转化为其他维度:在目标点和起始点的偏差百分比、点与基准线的角度值、当前位置点的速度值。 每个样本可以提取的特征值有最大值、最小值、中值、平均值、方差;将每个样本变为特征值与标签
1、目前用adaboost+决策树分类,最近提交结果:P值96%,R值62%,需要提高R值,即召回率低了,测试样本中机器的数量被低估了。提交的机器数量预测为2900多,后面值一定高于3000 2、提高的思路一是用CV方法来调参看效果;二是每次运行时最终结果不稳定,可以采用多次运行投票方式使得结果稳定下来;首先是自定义指标来评估样本集而不是用sklearn自带的score方法 3、使用其他维度的信息来判断,先试试在不同设备上分别进行分类 4、使用GridSearchCV参数调整和RandomForestClassifier随机森林算法试试