大数据案例分析(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维的向量空间:

大数据案例分析(2)—— 特征工程概述_第1张图片

停用词
  • 停用词通常是非常常见且实际意义有限的词,如英文中的"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
文档之间的欧氏距离

大数据案例分析(2)—— 特征工程概述_第2张图片

文档之间的余弦相似度

大数据案例分析(2)—— 特征工程概述_第3张图片
余弦相似度详见: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 )

例:
大数据案例分析(2)—— 特征工程概述_第4张图片
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。
    大数据案例分析(2)—— 特征工程概述_第5张图片
定量特征的二值化
  • 对于某些定量特征,需要将定量信息转为区间划分。如将考试成绩转为“及格”或“不及格”
  • 方法:设定一个阈值,大于或者等于阈值的赋值为1,小于阈值的赋值为0。
缺失特征值的弥补计算
  • 背景:数据获取时,由于某些原因,缺少某些数值,需要进行弥补。
  • 常见的弥补策略:利用统一特征的均值进行弥补。

大数据案例分析(2)—— 特征工程概述_第6张图片

创建多项式特征
  • 如果基于线性特征的模型不够理想,也可以尝试创建多项式特征
    • 例如,两个特征(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:
    大数据案例分析(2)—— 特征工程概述_第7张图片
    第一列的方差为5/6 * 1/6 = 0.14,小于0.16。因此可以被过滤掉。
2、pearson相关系数法
  • pearson相关系数显示两个随机变量之间线性关系的强度和方向。计算公式为
    大数据案例分析(2)—— 特征工程概述_第8张图片
  • 计算完毕后,可以将与目标值相关性较小的特征过滤掉
  • 注意:pearson相关系数对线性关系比较敏感。如果关系是非线性的,即便两个变量具有一一对应的关系,pearson相关性也可能会接近0。
3、基于森林的特征选择
  • 其原理是某些分类器,自身提供了特征的重要性分值。因此可以直接调用这些分类器,得到特征重要性分值,并排序。
4、递归特征消除法
  • (以sklearn中的函数为例)递归特征消除(RFE)的基本步骤:
    1、首先在初始特征或者权重特征集合上训练。通过学习器返回的coef_属性或者feature_importances_属性来获得每个特征的重要程度。
    2、然后最小权重的特征被移除。
    3、这个过程递归进行,知道希望的特征数目满足为止。
特征降维——线性判别分析法(LDA)
  • 降维本质上是从一个维度空间映射到另一个维度空间。
  • 线性判别分析是一种监督学习的降维技术,即数据集的每个样本有类别输出。
  • LDA的基本思想:“投影后类内方差最小,类间方差最大”。即将数据在低维度上进行投影,投影后希望同类数据的投影点尽可能接近,而不同类数据的类别中心之间的距离尽可能大。
    大数据案例分析(2)—— 特征工程概述_第9张图片
    右图投影效果就比左图好。
特征降维——主成分分析法(PCA)
  • 主成分分析是一种无监督的降维方法。
  • PCA的基本思想是采用数学变换,把给定的一组相关特征维度通过线性变换转成另一组不相关的维度,这些新的维度按照方差依次递减的顺序排列:形成第一主成分,第二主成分等。

   ———— 内容来源:中国大学MOOC 《深度学习基础》 哈尔滨工业大学 刘远超

你可能感兴趣的:(深度学习)