Kaggle的技巧总结学习
前面写了一些简单的pandas,numpy等使用方法,但是还是一直不清楚使用他们的目的和真正带来的好处是什么。
我对于DS目前的总体理解
目前DS notebook里面所做的数据处理有2个不同的目的:
- 为了写分析报告(analysis report):很多做了很多的图,比较了两个参数,然后就没有对于模型准确率的改善有任何帮助,但是却是报告的重要组成部分,帮助不认识这个数据的人尽快熟悉数据。
- 为了之后模型准确率的改善,而作的一系列预处理。
目前我对于kaggle的理解层面在:
- 第一步: 数据基本统计
- 第二步: 找到missing value
- 第三步: 显示数据correlation
- 第四步: 填充数据missing value
- 第五步: 数据内部挖掘feature engineering:为了获取和target variable最有相关性的数据,对原数据进行加工,其中包括:
- categorical的处理(encoding)
- feature scaling
- 新建feature
- 第六步: 预测
- 可以使用ensembling(计算feature importance)但具体的不太了解
- 可以使用单一模型然后tune参数
Kaggle进阶技巧
参考Kaggle Glossary的一个Notebook对于技巧的总结,这里先进行理论/背景知识的总结,之后再写单章的代码分析。
技巧总结是第7章,其余的都是模型的实现。分类的标题按照的原文,其中和我的习惯想法有点不同,尽量在括号内注明。
预处理preprocessing
EDA
特征工程feature engineering
特征选择feature selection
处理异常值outlier treatment
异常值检测anomaly detection
SMOTE算法
省略值missing value
降维dimentionality reduction
拆分数据集dataset decomposition
PCA+tsne
后处理 post modelling techniques
model selection
model tuning+grid search
集成ensembling
ensemble
stack(多个弱分类器输出+一个弱分类器的叠加)
bagging(每个模型权重相同+从数据集中随机抽样子数据集)
blend (混合使用模型-可被认为是stack的一种形式)
联系方式:clarence_wu12@outlook.com