交流才是提高的真正trick。
这个trick简单来说就是融合不同模型的得分。这个trick在深度学习中其实也有体现,那就是双流网络。将不同模型的输出(得分)融合,最终的结果考虑了多种输出。这里主要记录一下实现(融合得分)的过程。
1.读取两个要融合的提交文件。这里v3是课程中提供的baseline,v1是M5的notebook中得分较高的kernel,两者的得分都在0.47左右。通过融合,得分可以提高到0.465。
1 | import pandas as pd |
2.由于两个文件的id索引的顺序不同,要排序其中一个文件。这里cat.reorder_categories是临时设置的排序规则,相当于自定义排序。
1 | # 设置成“category”数据类型 |
pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改
inplace = True:不创建新的对象,直接对原始对象进行修改;
inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。
默认是False,即创建新的对象进行修改,原对象不变,和深复制和浅复制有些类似。
注意这里index要重新修改,否则后面进行加法操作的时候,它按照index进行相加,如果没改的话就直接乱套了
3.新建一个新的DataFrame,并执行均值输出。
1 | v2 = pd.DataFrame(np.random.randn(60980,29),columns=v1.columns) |
4.最后将得到的结果保存
1 | v2.to_csv('submissionv2.csv') |