其他相关文章
DS&ML_关联分析笔记
DS&ML_分类算法笔记之支持自动机SVM模型
DS&ML_分类算法笔记之随机森林、梯度提升树、XGBoost模型
DS&ML_分类算法笔记之k-近邻、KD-Tree模型
DS&ML_降维算法笔记之主成分分析PCA模型
DS&ML_分类算法笔记之朴素贝叶斯模型
DS&ML_聚类算法笔记之k-means模型
DS&ML_分类算法笔记之决策树模型
DS&ML_分类算法笔记之逻辑回归模型
特征工程从零到整学习笔记
部分转自http://www.cnblogs.com/jasonfreak/p/5448385.html, 加入了我自己的理解和总结,全文偏理论,若追求代码请转去该文章。
特征工程定义
特征工程,是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。以期减少算法模型受到的(如噪声的)干扰。
有一句话叫做数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。可见特征工程的重要性。
1. 特征使用方案
要实现我们的目标需要哪些数据:基于业务进行理解,尽可能找出对因变量有影响的所有自变量
可用性评估
- 获取难度
- 覆盖率
- 准确率
2. 特征获取方案
如何获取这些特征
如何存储
3. 特征处理
特征清洗
- 清洗异常样本(脏数据):比如刷单数据
- 判定方法
- 简单属性判定
- 身高45米、一个人一个月买了10W的发卡
- 组合或统计属性判定
- 号称在米国却ip一直都是大陆的新闻阅读用户
- 你要判定一个人是否会买篮球鞋,样本中女性用户85%?
- 补齐可对应的缺省值
- 缺省值极多的字段考虑不用
- 不可信的样本丢掉
- 简单属性判定
- 判定方法
- 数据采样
- 原因
- 因为采集、清洗过后的数据,正负样本是不均衡的
- 样本权重
- 方法
- 随机抽样:有可能导致得到的数据不均匀
- 根据特征分层抽样
- 原因
预处理
单个特征
- 归一化标准化
- 离散化
- 虚拟编码Dummy Coding
- 虚拟编码中的变量又叫哑变量,用以反映质的属性的一个人工变量,是量化了的自变量,通常取值为0或1。
- 缺失值
数据变换
log(基于对数函数的)基于单变元函数的数据变换可以使用一个统一的方式完成
- 使用preproccessing库的FunctionTransformer对数据进行对数函数转换的代码如下:
from numpy import log1p from sklearn.preprocessing import FunctionTransformer
- 使用preproccessing库的FunctionTransformer对数据进行对数函数转换的代码如下: