大体上,我们会在3个领域内对特征的好处进行量化:
1、监督学习
- 回归 — 预测任务(测量定量数据) 主要使用均方误差作为测量指标
- 分类 — 预测定性数据 主要使用准确率作为测量指标
2、无监督学习
- 聚类 — 将数据特征行为进行分类 主要使用轮廓系数作为测量指标
3、统计检验
- 用相关系数、t-检验,卡方检验,以及其他方法评估及量化原始数据和转换后数据的效果
一、特征理解:我的数据集中有什么
我们开始探索不同类型的数据,并且学习如何识别不同数据集的数据类型。我们从不同的角度研究数据集,分析其中的不同,检查并识别不同属性的特点之后,就开始理解不同的数据转换方法。
- 结构化数据和非结构化数据
- 数据的4个等级
- 识别数据的缺失值
- 探索性数据分析
- 描述性统计
- 数据可视化
二、特征增强:数据清洗
我们开始对数据集进行理解和修改
- 将非结构化的数据结构化
- 数据填充 — 在原来缺失数据的位置处填入数据
- 数据归一化 — 标准化,极差法,L1,L2正则化
数据填充有很多种操作的方法:我么可以将缺失数据的特征删除(大部分情况下似乎不是很靠谱),或在缺失数据的位置填入一个比较小的数据,或通过机器学习学习其他特征并填入数据
归一化一般是使用工具改变数据的缩放比例
三、特征选择:对坏属性说不
到这里我们应该具备对数据的清洗能力,我们需要一些关于特征的决策,即到底什么程度的属性才能称为特征,同时应该知道哪些特征对我们的机器学习流水线不仅没有帮助而且还有害,我们应该删除从这些特征。
- 相关系数
- 识别并移除多重共线性
- 卡方检验
- 方差分析
- 理解p值
- 迭代特征选择
- 用机器学习测量熵和信息增益
四、特征构建:能生成新特征吗
之前我们都在关注对于机器学习流水线不好的特征,本章我们着眼于全新的特征,并将其插入数据集,我们希望这些新的特征可以更好的表征其信息,提升机器学习流水线的性能。
手动创建特征
五、特征转换:数学显神通
本章思考的方向在于基于原数据集是否可以创建一个维度更低的数据集的同时还可以表征原数据集的特征?— 对数据集使用复杂的线性变换(一般从线性代数入手)
一个值得注意的例子是PCA(主成分分析),这种转换将原数据集分成3个不同的数据集,然后利用这些结果创造全新的数据集,使其性能超过原来的数据集。
六、特征学习:AI促进AI
该领域层的顶级研究是,使用目前最精妙的算法自动构建特征。
我们更加关注的是神经网络在自动构建特征领域的发展。
- 受限玻尔兹曼机(RBM)
- Word2vec和Glove等词嵌入算法
词嵌入模型示例:
小结:
参考文献:
[1] 特征工程入门与实践(图灵出品)