Kaggle在Data Science竞赛在美国公认度最高的。公司将数据交给kaggle组织比赛。
有排名、有奖金,有工作的人、以打比赛为生的人、有学生,为奖金、奖牌(金银铜)、学习锻炼。
入门级(getting started)、playground(只为解决一个问题)、奖金制(recruitment为了招聘,featured主要的比赛、数量较多,research解决研究型问题)、Master(邀请kaggle打的时间长、排名很高的人员参加,奖金非常丰厚)。
kaggle kernels:相当于一个远程jupyter-notebook即时运行代码
kernels tab:公布自己的模型,跑(kernel奖牌制)
discussion tab:发帖讨论(discussion奖牌制,发帖发的好的话,其他人投票也可以给你得到奖牌)
leaderboard tab:抽你提交的prediction一部分与正确结果比对的结果,有private和public,最终成绩在private里面。
金银铜都有占比例,kernel奖、discussion奖。
Kaggle对你的评价:Expert、master、grandmaster
Getting started、palyground级别比赛
Machine learning、数据分析、数据可视化、统计学
R、python编程
7.1 常用模型:
7.1.1 监督学习
7.1.1.1 回归:(预测商品价格的变化)
线性回归,ridge和lasso
Knn
Treemodel(大boss:lightgbm和xgboost)
Svm
Neural network:tensorflow、keras
Wordbatch
7.1.1.2 分类:
Logistic回归
Knn
Tree
Svm
Nn
。。。
7.1.2 非监督学习
PCA(维度较大,降维)
K-means聚类()
7.1.3 最重要的是调参:
Bayesian optimization,grid search
7.2 参加比赛技巧:
提供的数据集有训练数据集和测试数据集。
7.2.1 数据分析和可视化,数据预处理:
将变量分离成数字化或类别化
分析缺失值来源并选择缺失值合适输入方法(均值、中值、0、随机、knn)
分析每一个变量的数据分布,选择处理离群值\异常值outliner的方法(box-cox transformation,medium replacement,主要要趋近于正态分布)
缩放变量rescale(是不是所有变量都要放在一个scale上,standardization),可以在模型上进行尝试
不均衡数据,oversampling,under sampling。
7.2.2 特征工程:
数据降维PCA
不是所有feature都重要,去掉反而对模型有提升的
特征重要性Tree model
添加特征,基于领域知识、特征交互机feature之间的interaction、特征和预测结果的影响(非常靠经验)
7.2.3 建model:
对于每一个模型都要使用grid search、贝叶斯优化、cross validation选择微调的最优参数组合,基于RMSE最小(回归)、ROC和AUC最大(分类)metrics。
使用先进的ensemble和stacking技巧,很花时间,评价模型在测试数据集上的表现,要挤进前几。(例如:stacking,所有的models又添加了一层logistic回归,来提升结果;或ensemble集成,不同模型的集成,防止过拟合)
有了一个电子档案,算一个个人评价,DS行业的人每个人都有github和kaggle竞赛经历的。
公司面试会问你整个project的过程,一般比较看重前10%的排名。