【笔记】——从0到1,走进Data Science的Kaggle比赛

    xiaoxiao2023-10-22  32

    1 引言:

    Kaggle在Data Science竞赛在美国公认度最高的。公司将数据交给kaggle组织比赛。

    有排名、有奖金,有工作的人、以打比赛为生的人、有学生,为奖金、奖牌(金银铜)、学习锻炼。

    2 有不同级别的比赛:

    入门级(getting started)、playground(只为解决一个问题)、奖金制(recruitment为了招聘,featured主要的比赛、数量较多,research解决研究型问题)、Master(邀请kaggle打的时间长、排名很高的人员参加,奖金非常丰厚)。

    3 建立自己的model:

    kaggle kernels:相当于一个远程jupyter-notebook即时运行代码

    kernels tab:公布自己的模型,跑(kernel奖牌制)

    discussion tab:发帖讨论(discussion奖牌制,发帖发的好的话,其他人投票也可以给你得到奖牌)

    leaderboard tab:抽你提交的prediction一部分与正确结果比对的结果,有private和public,最终成绩在private里面。

    4 奖牌:

    金银铜都有占比例,kernel奖、discussion奖。

    5 Performance tiers:

    Kaggle对你的评价:Expert、master、grandmaster

    6 零基础如何上手:

    Getting started、palyground级别比赛

    Machine learning、数据分析、数据可视化、统计学

    R、python编程

    7 模型经验总结:

    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集成,不同模型的集成,防止过拟合)

    8 参加Kaggle的意义

    有了一个电子档案,算一个个人评价,DS行业的人每个人都有github和kaggle竞赛经历的。

    公司面试会问你整个project的过程,一般比较看重前10%的排名。

     

    最新回复(0)