下面完全copy人家的kernel看一下吧。
先看看目标特征的分布情况。
用到了ploty库,折腾了好久,装了好多库才成功。
weight是偏态的,其它几个都是正态的。再来看看features的分布。
主要是正态分布,偏态分布也有。
读取其它数据文件看看。
下面开始建模了。我还是用1/10的数据吧。
先看看特征值之间的相关性,只画相关度大于0.95的。
再看目标值的相关度。
下面真正开始干活。
具体代码就不在这里赘述了,见github上的源代码吧。
在kaggle上运行,很慢,四十几分钟都不动,又改成使用GPU。效果很好,90几秒就完成了,提交。又是长长的等待,最后看结果
嘿嘿,这个靠谱,在其基础上改进吧。
随便吓改了一下参数,再提交试试。
果然没人家的好。改回去吧。接下来一是折腾特征工程,ta这个是直接用-999填充了空值,没做其它的了。二是试试其它模型,包括深度学习的。
再加一个附加任务吧:实现一个评分函数,用题目给出的评分公式,在本地对预测结果评分。
结果评估:采用效用分数。测试集的每一行代表一个交易机会,你必须预测一个行动值(action value),值为1进行交易,值为0拒绝交易。每个交易j有两个值,weight和resp,代表一个收益结果。
对于每个日期i,定义
其中i的绝对值是测试集中的不同的数据的个数。效用分数定义为:
1 | # 评分函数 |
上面代码参考了这里
用线性回归作为模型,提交看看。
提交出错了,提示没找到csv文件。折腾了两天,才发现原来是提交环境里可能没有example_test文件,用train.csv代替就对了。把评分程序和提交程序都封装到函数里,这样框架基本上就搭好了,可以具体干活了。下次吧。
我发文章的三个地方,欢迎大家在朋友圈等地方分享,欢迎点“在看”。
我的个人博客地址:https://zwdnet.github.io
我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts
我的微信个人订阅号:赵瑜敏的口腔医学学习园地