特征工程与文本处理

来源:互联网 发布:linux查看服务器外网ip 编辑:程序博客网 时间:2024/05/21 08:36

未完待续……
ref:
http://blog.csdn.net/j123kaishichufa/article/details/7679682
https://www.zhihu.com/question/28641663/answer/41653367
http://blog.csdn.net/qll125596718/article/details/8306767
http://blog.csdn.net/yujianmin1990/article/details/48223001
http://www.cnblogs.com/maybe2030/p/5427148.html

1、特征预处理
(1)统一量纲:标准化、区间缩放法(可用sklearn-preprocessing库)
(2)定量特征二值化:preproccessing库的Binarizer类
(3)定性特征哑编码:preproccessing库的OneHotEncoder类
(4)缺失值补充:preproccessing库的Imputer类
(5)多项式化:变成非线性

2、数据降维:特征选择、特征提取
2.1特征抽取extraction:产生新的特征,是原特征的映射
线性:PCA最大方差(SVD),LDA
PCA是为了让映射后的样本具有最大的发散性;而LDA是为了让映射后的样本有最好的分类性能。
非线性映射方法的代表方法有:核方法(核+线性),二维化和张量化(二维+线性),流形学习(ISOMap,LLE,LPP)

2.2特征选择selection:原特征的子集,去掉多余或者不相关的
从两个方面考虑来选择特征:
特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。
特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择。除方差法外,本文介绍的其他方法均从相关性考虑。

2.2.1Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。
(1)方差选择:先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。feature_selection库的VarianceThreshold类
(2)相关系数法,先要计算各个特征对目标值的相关系数以及相关系数的P值。用feature_selection库的SelectKBest类
(3)卡方检验:是检验定性自变量对定性因变量的相关性。假设自变量有N种取值,因变量有M种取值,考虑自变量等于i且因变量等于j的样本频数的观察值与期望的差距,构建统计量:
(4)互信息法(MI,mutual information):评价定性自变量对定性因变量的相关性
(5)其他方法:
基于点的互信息(pointwise mutual information):各种相关性
  皮尔逊相关系数(Pearson product-moment correlation coefficient):线性相关性
  类内/间距离,或者属性集间显著性测试(inter/intra distance or the score of significance tests for each class/feature combinations)

2.2.2Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。使用误差率来评估。包装法将学习方法作为一个黑盒。
递归消除特征法使用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练。使用feature_selection库的RFE类

2.2.3Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。
(1)基于惩罚项的特征选择法
使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维。使用feature_selection库的SelectFromModel类结合带L1惩罚项的逻辑回归模型LASSO
(2)基于树模型的特征选择法
  树模型中GBDT也可用来作为基模型进行特征选择,使用feature_selection库的SelectFromModel类结合GBDT模型。
(3)迭代属性消除法(Recursive Feature Eliminate Algorithm)。如用SVM反复构建模型,去掉低权重值的属性。

其他方法:深度学习,聚类降维
  深度学习降维优缺点:
  优点:1)所提取特征的代表性强
  缺点:1)可解释性差。2)目的性不强

文本处理:

1、分词:
1.1基于匹配:正向最大匹配法(从左到右)、逆向(从右到左,对于汉语更有效)、等等
1.2最大概率法
1.3最短路径法

2、文档模型:
把文本转化成计算机能够理解的形式,即进行文本表示
向量空间模型的基本思想是把文档简化为特征项的权重为分量的向量表示:(w1,w2,…,wn),其中wi为第i个特征项的权重,一般选取词作为特征项,权重用词频表示.词频分为绝对词频和相对词频.绝对词频,即用词在文本中出现的频率表示文本;相对词频,即为归一化的词频,其计算方法主要运用TF-IDF公式

2.1布尔模型
2.2向量空间模型(VSM):不同的词有不同的权重,由TF-IDF决定
向量模型空间:向量空间模型是信息检索中最常用的检索方法,其检索过程是,将文档集D中的所有文档和查询都表示成以单词为特征的向量,特征值为每个单词的TF-IDF值,然后使用向量空间模型(亦即计算查询q的向量和每个文档di的向量之间的相似度)来衡量文档和查询之间的相似度(余弦距离),从而得到和给定查询最相关的文档
http://blog.csdn.net/xiangshoujiyi/article/details/51316072

2.3概率模型
除了向量空间模型外,还有概率模型.概率模型也考虑词与词的相关性,把文本集中的文档分为相关文档和无关文档.以数学理论中的概率论为原理,通过赋予特征词某个概率值来表示这些词在相关文档和无关文档之间出现的概率,然后计算文档间相关的概率,系统据此概率做出决策。

3、文本间相似度计算
基于概率模型
基于VSM相关度:欧氏距离、向量內积、夹角余弦、Jaccard相似度、基于集合

4、特征抽取:LSA/LSI(SVD)
LSA和PCAs是SVD的两个应用

5、文本分类:在众多的文本分类算法中,重点介绍了Rocchio算法、朴素贝叶斯分类算法、K-近邻算法、决策树算法、神经网络算法和支持向量机算法。

文本分类的特征选择
1)DF(Document Frequency) 文档频率
DF:统计特征词出现的文档数量,用来衡量某个特征词的重要性
2)MI(Mutual Information) 互信息法
互信息法用于衡量特征词与文档类别直接的信息量。
如果某个特征词的频率很低,那么互信息得分就会很大,因此互信息法倾向”低频”的特征词。
相对的词频很高的词,得分就会变低,如果这词携带了很高的信息量,互信息法就会变得低效。
3)(Information Gain) 信息增益法
通过某个特征词的缺失与存在的两种情况下,语料中前后信息的增加,衡量某个特征词的重要性。
4)CHI(Chi-square) 卡方检验法
利用了统计学中的”假设检验”的基本思想:首先假设特征词与类别直接是不相关的
如果利用CHI分布计算出的检验值偏离阈值越大,那么更有信心否定原假设,接受原假设的备则假设:特征词与类别有着很高的关联度。
5)WLLR(Weighted Log Likelihood Ration)加权对数似然
6)WFO(Weighted Frequency and Odds)加权频率和可能性

这里写图片描述

0 0
原创粉丝点击