前言
前段时间,小编参加了某个数据挖掘的挑战赛,现在比赛已经过了,所以小编准备分享一下所用到的代码,知识。
题目
题目就如上图,有两问题,第一问是让我们根据所给数据找出影响高送转的因子(这些名词题目有给解释,小编也会给大家),第二问根据所给的前七年的数据,预测第八年那些股票会发生高送转。
第一问大家都很好理解,给了七年股票的因子数据,有基础数据,年数据,日数据,其中日数据有 3G,根据所给数据,从中找出影响一支股票是否发生高送转。
第二问就是根据选出来的这些因子,判断股票在第八年是否会高送转。
完整描述见题目 pdf。
代码流程
先给大家看看我代码目录,使用的 jupyter:
就如图看到的一个目录对应一个操作:
1.导入 pandas 库
2.导入数据,指定显示所有列,sample 随机查看数据
3.表以公共列横向拼接,默认是以所有公共列:
4.这一步是理解数据用的,就选一支股票查看有几条数据,长啥样,按条件选择行:
5.以日数据表分组计算,求每个因子的平均值:
6.这是根据经济学选一些因子,就是列的选择,根据指定列,不这样做的话,直接跟年数据表合并是不行的,因为日数据表有 3G 太大了,运行时内存不够,小编 16G 内存:
7.选出一些列后,就可以合并了,不会发生内存不够,修改指定列名,根据指定的键,进行表合并:
8.使用 map 对非数值型因子进行编码:
9.corr 计算相关系数矩阵:
10.选择相关系数达到条件的列:
11.缺失值填充:
12.使用 KNN 分类算法,对股票分类:
13.使用支持向量机算法,对股票分类:
14.对第八年的测试数据套进支持向量机模型
以上就是整个处理流程,完整代码会发关键词获取。
先使用了 KNN,又使用了支持向量机,因为发现支持向量机的准确率比 KNN 高一点。
小编给代码,数据,题目,其他的操作说明就自己体会吧。
源码获取
关注微信公众号 “木下学Python”,回复关键字 “td” 即可获取。
end
想了解更多好玩有趣的内容,请关注我们吧。
听说点“在看”的,扫了下方二维码的人都变得更好看咯~
交流群已建立,找到我,备注【交流】即可。
-END-