一篇文章预览数据挖掘比赛入门

很多学习机器学习的同学来参加数据挖掘比赛,发现数据挖掘比赛和自己学过的机器学习理论完全不一致.

所以,我决定写一篇入门文章给那些新人。

必须掌握的库scikit-learn scipy  seaborn matplotlib pandas Hyperopt

特征分类:连续数字特征 序数特征 类别特征 时间特征 坐标特征 文本特征

序数特征:定义为无限循环有限个数字。 比如 某一列只有 1 2 3 

类别特征:类别特征和序数特征相似 只不过表现形式是由字符来表示 比如某一列只由A B C表示

文本特征:定义为一句很长的字符,我们可以通过词袋模型或者word2vec进行处理

模型分类:

模型分为tree-based model和no-tree-based-model

tree-based-model 自带feature-scale的功能 所以标准化啥的意义不大

no-tree-based-model:神经网络 线性回归等.

1 数据挖掘比赛流程

 第一步:看比赛介绍

 第二步:读取数据 了解数据维度  是否有缺失值 了解特征的类别

 第三步:整合训练集和测试集作为一个新的大集合:new_data

 第四步:填充缺失值 具体方法可以通过特征之间的关系填充 随机森林预测等

 第五步:数据清洗 删除重复行 检测异常值

 第六步:找出新特征 这些需要通过特征的类别去专门的学习不同类别的特征处理的方法

比如(序数特征:你要考虑是否使用one-hot,类别特征你要先转化为序数特征,然后考虑特征是否具有分级性,比如手机A 手机B 手机C 那么这个序数特征就需要使用one-hot编码)

 第七步:选择模型,调用自动调参方法,根据模型选择one-hot,是否标准化等

第八步:选择验证函数与验证方法 比如Auc 均方误差.不同的验证函数应用于不同的任务,这些也需要读者自己去探索,学习.

第九步:重复以上操作

可以使用的模型xgboost,lgb,随机森林等

知识只是避免我们走弯路,但是真正好的效果还是需要自己一步步探索.不要依赖知识,但是知识一定是不可缺少的一部分.

你可能感兴趣的:(一篇文章预览数据挖掘比赛入门)