赞
踩
本文所有内容整理自Coursera - Advanced Machine Learning-
How to Win a Data Science Competition: Learn from Top Kagglers
1、问题类型:
2、数据量大小
3、硬件需要
4、软件需要
5、评估模型是什么
6、有没有一些相关的历史代码
1、通过hist图查看train和test分布是否一致
2、通过plot查看变量和target之间的关系,考虑时间变量的作用
3、单变量预测指标
4、bin 数值变量
5、计算变量相关性
1、leak in time series:
数据集是否按照时间来拆分,而没有打乱;数据集是否包含未来数据;
2、metadata元数据:
探索是否可以找到数据的源数据结构,如zip code转换
3、id or row order:
把id和row order纳入模型中通常是有意义的
4、LB 问题:test数据和LB数据不同分布
按如下转换为同分布
C:test预测值
N:test总行数
N1:target值为1的行数
L:lb预测分
N1/N:实际test数据的平均值
5、参考资料:
https://www.kaggle.com/olegtrott/the-perfect-score-script
https://www.kaggle.com/wiki/Leakage
1、将训练数据拆分为train和validation,并尽量保证validation和test同分布
2、尝试分别用调试好的validation和随机的validation验证方法是否有效
1、holdout:sklearn.model_selection.ShuffleSplit
适用于比较大的数据集
2、k-fold:sklearn.model_selection.Kflod
将数据多次拆分,并取每个拆分的结果的平均值,适用于数据量比较小的数据集
3、leave one out:sklearn.model_selection.LeaveOneOut
每次拆分出一个validation,取最终结果的平均值,适用于数据量极小的数据集
4、stratification:分层确保每一个split出的validation都是同分布
适用于小型或不平衡的数据集
1、groupby分组计算:mean、count、max、min
2、参数间计算:sum、add、minus、multiplay、diff
3、参数合并:f1.astype(str) + “_” + f2.astype(str)
4、数值分组neighbors:100m内最大的城市、200m内最小的商品
5、knn:先mean encoding再计算
- mean target of knn5、10、15、500、2000
- mean distance of knn10
- mean distance of knn10 with target 1
- mean distance of knn10 with target 0
6、特征计算图示:
1、作用:为分类字段编码,并使分类字段具有一定的特征,可以使模型更好收敛
2、常用方法:将分类字段编码为(标记值合计/该分类行数)
means=X_tr.groupby(col).target.mean()
train_new[col+'_mean_target']=train_new[col].map(means)
val_new[col+'_mean_target']=val_new[col].map(means)
其他方法:(goods/bads)*100、sum(goods)、goods-bads
3、解决过拟合regularization方法
稍后放出代码
4、问题:
5、整体操作步骤
1、原理:把一个矩阵用多个矩阵的乘积表示,应用于部分categorial、number列
2、参数:潜在变量5-100
3、模型包:sklearn
- 常用模型:svd、pca
- truncatedsvd:稀疏矩阵、文本分析
- NMF:正值潜变量,如count-like 数据,适用于tree-base处理
4、代码:
1、要点:
- 结果的好快基于参数的选择,尝试不同的perplexity困惑度
- 先降维再做tSNE
- 适合做数据的探索
- 同线性降维,需要把tSNE同时应用于train和test
1、matrix factorizations线性降维:
- http://scikit-learn.org/stable/modules/decomposition.html
2、tSNE非线性降维:
- https://github.com/DmitryUlyanov/Multicore-TSNE
- http://scikit-learn.org/stable/auto_examples/manifold/plot_compare_methods.html
- https://distill.pub/2016/misread-tsne/
- https://lvdmaaten.github.io/tsne/
3、拓展特征:
- https://research.fb.com/publications/practical-lessons-from-predicting-clicks-on-ads-at-facebook/
- http://scikit-learn.org/stable/auto_examples/ensemble/plot_feature_transformation.html
1、图示:
2、树模型:GBDT、XGboost、lightGBM、random forest、ET
3、线性模型:liblinear、libsvm
1、GBDT模型:
2、树模型:
3、神经网络模型:
4、线性模型:
early stop:
在训练数据上使用M1进行训练,并同时在固定周期迭代后在Val数据上对M2进行验证,如果在M2上的结果已经达到了最低点,则提前终止训练,即使模型还可以在M1上继续提升
https://blog.csdn.net/qq_36080693/article/details/79782713
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。