nlp 学习3

特征选择

1.TF-IDF原理

TF-IDF是Term Frequency - Inverse Document Frequency的缩写,即“词频-逆文本频率”。它由两部分组成,TF和IDF。
词频TF(item frequency):某一给定词语在该文本中出现次数。该数字通常会被归一化(分子一般小于分母),以防止它偏向长的文件,因为不管该词语重要与否,它在长文件中出现的次数很可能比在段文件中出现的次数更大。
逆向文件频率IDF(inverse document frequency):一个词语普遍重要性的度量。主要思想是:如果包含词条t的文档越少, IDF越大,则说明词条具有很好的类别区分能力。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。
相关公式
词频(TF)= 某词在文章中出现的次数/文章总词数
逆向文件频率(IDF)=log(语料库的文档总数/(包含该词的文档数+1))
注意:此处分母+1是为了避免当所有文档都不包含该词时,分母为0的情况

2. 文本矩阵化,使用词袋模型,以TF-IDF特征值为权重。(可以使用Python中TfidfTransformer库)#导入sklearn 中相应的包文件

from sklearn.feature_extraction.text import TfidfVectorizer
#语料库
corpus = [
    'This is the first document.',
    'This is the second document.',
    'And the third one.',
    'Is this the first document?',
    'I come to American to travel'
]
#调用包函数进行计算
tfidf = TfidfVectorizer().fit_transform(corpus)
print(tfidf)

3.互信息的原理

在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p(X,Y) 和分解的边缘分布的乘积 p(X)p(Y) 的相似程度。互信息(Mutual Information)是度量两个事件集合之间的相关性(mutual dependence)。互信息是点间互信息(PMI)的期望值。互信息最常用的单位是bit。

4.使用第二步生成的特征矩阵,利用互信息进行特征筛选

import pandas as pd
from sklearn import datasets
from sklearn import metrics as mr
iris =datasets.load_iris()
x=iris.data
y = iris.target
x0 = x[:,0]
x1 = x[:,1]
x2 = x[:,2]
x3 = x[:,3]
#计算互信息
print(mr.mutual_info_score(x0,y))
print(mr.mutual_info_score(x1,y))
print(mr.mutual_info_score(x2,y))
print(mr.mutual_info_score(x3,y))

本文参考:
1、https://blog.csdn.net/yanyiting666/article/details/88236373
2、文本挖掘预处理之TF-IDF:文本挖掘预处理之TF-IDF - 刘建平Pinard - 博客园
3、使用不同的方法计算TF-IDF值:使用不同的方法计算TF-IDF值 - 简书
sklearn-点互信息和互信息:sklearn:点互信息和互信息 - 专注计算机体系结构 - CSDN博客
4、如何进行特征选择(理论篇)机器学习你会遇到的“坑”:如何进行特征选择(理论篇)机器学习你会遇到的“坑”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值