大数据案例分析(2)—— 特征工程概述
特征工程
- 维基百科定义
Feature engineering is the process of using domain knowledge of the data to create features that make machine learning algorithms work.
自动分词
自动分词就是将用自然语言书写的文章、句段经计算机处理后,以词为单位给以输出,为后续加工处理提供先决条件。
例:
- “我来到北京清华大学。”
——>“我/来到/北京/清华大学/。/” - “I came to Tsinghua University in Beijing.”
——>“I/ came/ to/ Tsinghua/ University/ in/ Beijing/ ./”
词根提取与词形还原
-
词根提取(stemming): 是抽取词的词干或词根形式(不一定能够表达完整语义)
原文:’ And I also like eating apple’
词根提取后:[‘and’,‘I’,‘also’,‘like’,‘to’,‘eat’,‘appl’]] -
词形还原(lemmatization): 是把词汇还原为一般形式(能表达完整语义)。如将"drove"处理为"drive"。
原文:’ And I also like eating apple’
词根提取后:[‘And’,‘I’,‘also’,‘like’,‘to’,u’eat’,‘apple’]]
词性标注
- 词性标注(part-of-speech tagging):是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或者其他词性的过程。
- 举例:"I like eating apple."的词性标注结果为
[(‘I’,‘PRP’),(‘like’,‘VBP’),(‘eating’,‘VBG’),(‘apple’,‘NN’),(’.’,’.’)]
标注规范详见https://blog.csdn.net/eli00001/article/details/75088444?locationNum=1&fps=1
句法分析
句法分析(Syntactic analysis): 其基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。
几个常用的工具
- NLTK
- Text Processing API
- 基于curl访问Text Processing API
- TextBlob 工具
- 中文处理工具jieba
向量空间模型及文本相似度计算
文档的向量化表示:BOW假设和VSM模型
为了便于计算文档之间的相似度,需把文档转成统一空间的向量。
- BOW(bag-of-words-model):为了计算文档之间的相似度,假设可以忽略文档内的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合。
- VSM(Vector space model): 即向量空间模型。其是指在BOW词袋模型假设下,将每个文档表示成同一向量空间的向量。
例:
假设有下面三个文档:
D1: ‘Jobs was the chairman of Apple Inc, and he was very famous’,
D2: ‘I like to use apple computer’,
D3: ‘And I also like to eat apple’
- 类似这样一批文档的集合,通常也被陈给文集或者语料(corpus)。
- 上述语料中,共有17个不同的词:

- 因此可以构造一个17维的向量空间:

停用词
- 停用词通常是非常常见且实际意义有限的词,如英文中的"the",“a”,"of"等;中文中的“的”、“是”、“而且”等。几乎可能出现在所有场合,因而对某些应用如信息检索、文本分类等区分度不大,所以这些词在构建向量空间时通常会被过滤掉。
- 注意:但在某些应用如短语搜索pharse search 中,停用词可能是重要的构成部分,因此要避免进行停用词过滤。
N-gram模型
- N-gram通常是指一段文本或语音中连续N个项目(item)的序列。项目可以是单词、字母、碱基对等。
- N=1时称为uni-gram,N=2称为bi-gram,N=3称为tri-gram,以此类推。
- 举例:对于文本 ‘And I also like to eat apple’
Uni-gram: And ,I ,also ,like ,to ,eat ,apple
Bi-gram: And I, I also, also like, like to, to eat, eat apple
Tri-gram: And I also, I also like,also like to,like to eat,to eat apple
文档之间的欧氏距离

文档之间的余弦相似度

余弦相似度详见:https://blog.csdn.net/u012160689/article/details/15341303
Tf-idf词条权重计算
-
背景:特征向量里某些高频词在文集内其他文档里面也经常出现。他们往往太普遍,对区分文档起的作用不大。
例如:
D1: ‘Jobs was the chairman of Apple Inc’,
D2: ‘I like to use apple computer’,
这两个文档都是关于苹果电脑的,则词条"apple"对分类意义不大。因此有必要抑制那些在很多文档中都出现了的词条的权重。 -
在tf-idf 模式下,词条t在文档d中的权重计算为:
w(t) = tf(t,d) * idf(t)
其中,tf(t,d)表示为词条t在文档d中出现的频率,idf(t)表示与包含词条t的文档数目成反比(inverse document frequency) -
TF = 在某一类词条中w出现的次数/该类中所有的词条数目
-
IDF = log(语料库中的文档总数 / 包含词条w的文档数 + 1 )
例:

tf-idf详见:https://blog.csdn.net/asialee_bird/article/details/81486700
特征处理(特征缩放、选择及降维)
特征值的缩放
- 特征值缩放(Feature Scaler)也可以称为无量纲处理。主要是对每个列,即同一特征维度的数值进行规范化处理。
- 应用背景:
-
- 不同特征(列)可能不属于同一量纲,即特征的规格不一样。例如,假设特征向量由两个解释变量构成,第一个变量值范围[0,1],第二个变量值范围[0,100]。
-
- 如果某一特征的方差数量级较大,可能会主导目标函数,导致其他特征的影响被忽略。
- 常用方法:标准化法 、区间缩放法
标准化法
- 标准化的前提是特征值服从正态分布
- 标准化需要计算特征的均值和标准差,公式表达为:
X_scale = (X(axis=0) - X.mean(axis=0)) / X.std(axis=0)
区间缩放法
- 区间缩放法利用了边界值信息,将特征的取值区间缩放到某一特定范围。假设max和min为希望的调整后范围,则

- 由于希望的调整后范围一般为[0,1],此时,公式变为

特征值的归一化
- 归一化是依照特征矩阵的行(样本)处理数据,其目的在于样本向量在点乘运算或计算相似性时,拥有统一的标准,也就是说都转化为"单位向量"。即使每个样本的范式(norm)等于1。

定量特征的二值化
- 对于某些定量特征,需要将定量信息转为区间划分。如将考试成绩转为“及格”或“不及格”
- 方法:设定一个阈值,大于或者等于阈值的赋值为1,小于阈值的赋值为0。
缺失特征值的弥补计算
- 背景:数据获取时,由于某些原因,缺少某些数值,需要进行弥补。
- 常见的弥补策略:利用统一特征的均值进行弥补。

创建多项式特征
- 如果基于线性特征的模型不够理想,也可以尝试创建多项式特征
-
- 例如,两个特征(X1,X2),它的平方展开式便转换成(1,X1,X2,X1X2,X12,X22)
-
- 也可以自定义选择只保留特征相乘的多项式项。即将特征(X1,X2)转换成(1,X1,X2,X1*X2)
- 得到多项式特征后,知识特征空间发生了变化。
特征选择
-
特征选择是选择对于学习任务(如分类问题)有帮助的若干特征。
作用
1)降维以提升模型的效率;
2)降低学习任务的难度;
3)增加模型的可解释性; -
特征选择的角度:
特征是否发散:对于不发散的特征,样本在其维度上差异性较小。
特征与目标的相关性:应当优先选择与目标相关性高的特征。 -
几种常见的特征选择方法:
方差选择法
Pearson相关系数法
基于森林的特征选择法
递归特征消除法
1、方差选择法
- 原理:方差非常小的特征维度对于样本的区分作用很小, 可以剔除。
- 例如:假设数据集为布尔特征,想要去掉那些超过80%情况下为1或者为0的特征。由于布尔特征是伯努利随机变量,其方差可以计算为Var[x] = p*(1-p),因此阈值为0.8*(1-0.8)=0.16:

第一列的方差为5/6 * 1/6 = 0.14,小于0.16。因此可以被过滤掉。
2、pearson相关系数法
- pearson相关系数显示两个随机变量之间线性关系的强度和方向。计算公式为

- 计算完毕后,可以将与目标值相关性较小的特征过滤掉
- 注意:pearson相关系数对线性关系比较敏感。如果关系是非线性的,即便两个变量具有一一对应的关系,pearson相关性也可能会接近0。
3、基于森林的特征选择
- 其原理是某些分类器,自身提供了特征的重要性分值。因此可以直接调用这些分类器,得到特征重要性分值,并排序。
4、递归特征消除法
- (以sklearn中的函数为例)递归特征消除(RFE)的基本步骤:
1、首先在初始特征或者权重特征集合上训练。通过学习器返回的coef_属性或者feature_importances_属性来获得每个特征的重要程度。
2、然后最小权重的特征被移除。
3、这个过程递归进行,知道希望的特征数目满足为止。
特征降维——线性判别分析法(LDA)
- 降维本质上是从一个维度空间映射到另一个维度空间。
- 线性判别分析是一种监督学习的降维技术,即数据集的每个样本有类别输出。
- LDA的基本思想:“投影后类内方差最小,类间方差最大”。即将数据在低维度上进行投影,投影后希望同类数据的投影点尽可能接近,而不同类数据的类别中心之间的距离尽可能大。

右图投影效果就比左图好。
特征降维——主成分分析法(PCA)
- 主成分分析是一种无监督的降维方法。
- PCA的基本思想是采用数学变换,把给定的一组相关特征维度通过线性变换转成另一组不相关的维度,这些新的维度按照方差依次递减的顺序排列:形成第一主成分,第二主成分等。
———— 内容来源:中国大学MOOC 《深度学习基础》 哈尔滨工业大学 刘远超
更多推荐
所有评论(0)