1 特征提取
1.1 定义
将任意数据(文本或者图像)转换为可以用于寄去学习的数字特征。特征值话是为了让计算机更好的理解数据。
- 特征提取分类
-字典特征提取值
-文本特征提取值
-图像特征提取值
1.2 特征提取API
sklearn.feature_extraction
2 字典特征值提取
作用:对字典数据进行特征值化
sklearn.feature_extraction.DictVectorizer(sparse=True,...)
#注意sparse参数的设置
DictVectorizer.fit_transform(X)
#X:字典或者包含字典的迭代器返回值
#返回sparse矩阵
DictVectorizer.get_feature_names()返回特征名
2.3 总结
对于特征中存在类别信息的,做one-hot编码处理
3 文本特征提取
作用:对文本数据进行特征值化
-
sklearn.Feature_extraction.Text.CountVectorizer(stop_words=[])
-返回词频矩阵
-CountVectorizer.fit_transform(X)- X:文本或者包含文本字符串的可迭代对象
- 返回值:返回sparse矩阵
-CountVectorizer.get_feature_names() 返回值:单词列表
sklearn.feature_extraction.text.TfilfVectorizer
3.1 应用
1.英文分词
2.中文分词(不支持单个字)需要下载jieba,利用jieba.cutfanhui 词语组成的生成器
3.Tf-idf文本特征提取
- Tf-idf的主要思想是:如果某个词或者短语在一篇文章中出现的频率高,并且在其他文章中出现的频率小,则认为该词有很好的类别区分能力,适合用来分类。
- Tf-idf作用:用于评估一个字对于一个文件或者一个语料库中的其中一份文件的重要程度。分类机器学习算法进行文章分类中前期数据处理方式
3.5.1 公式
- 词频(term frequency,tf)指的是某一个给定的词语在该文件中出现的频率
- 逆向文档频率(inverse document frequency,idf)是一个词语普遍重要性的度量。某一特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到
最终得出结果可以理解为重要程度。
tfidf公式.png
举例:
假如一篇文章的总词语数是100个,而词语"非常"出现了5次,那么"非常"一词在该文件中的词频就是5/100=0.05。
而计算文件频率(IDF)的方法是以文件集的文件总数,除以出现"非常"一词的文件数。
所以,如果"非常"一词在1,0000份文件出现过,而文件总数是10,000,000份的话,
其逆向文件频率就是lg(10,000,000 / 1,0000)=3。
最后"非常"对于这篇文档的tf-idf的分数为0.05 * 3=0.15