1 特征提取
1.1 定義
將任意數(shù)據(jù)(文本或者圖像)轉(zhuǎn)換為可以用于寄去學(xué)習(xí)的數(shù)字特征。特征值話是為了讓計算機更好的理解數(shù)據(jù)。
- 特征提取分類
-字典特征提取值
-文本特征提取值
-圖像特征提取值
1.2 特征提取API
sklearn.feature_extraction
2 字典特征值提取
作用:對字典數(shù)據(jù)進(jìn)行特征值化
sklearn.feature_extraction.DictVectorizer(sparse=True,...)
#注意sparse參數(shù)的設(shè)置
DictVectorizer.fit_transform(X)
#X:字典或者包含字典的迭代器返回值
#返回sparse矩陣
DictVectorizer.get_feature_names()返回特征名
2.3 總結(jié)
對于特征中存在類別信息的,做one-hot編碼處理
3 文本特征提取
作用:對文本數(shù)據(jù)進(jìn)行特征值化
-
sklearn.Feature_extraction.Text.CountVectorizer(stop_words=[])
-返回詞頻矩陣
-CountVectorizer.fit_transform(X)- X:文本或者包含文本字符串的可迭代對象
- 返回值:返回sparse矩陣
-CountVectorizer.get_feature_names() 返回值:單詞列表
sklearn.feature_extraction.text.TfilfVectorizer
3.1 應(yīng)用
1.英文分詞
2.中文分詞(不支持單個字)需要下載jieba,利用jieba.cutfanhui 詞語組成的生成器
3.Tf-idf文本特征提取
- Tf-idf的主要思想是:如果某個詞或者短語在一篇文章中出現(xiàn)的頻率高,并且在其他文章中出現(xiàn)的頻率小,則認(rèn)為該詞有很好的類別區(qū)分能力,適合用來分類。
- Tf-idf作用:用于評估一個字對于一個文件或者一個語料庫中的其中一份文件的重要程度。分類機器學(xué)習(xí)算法進(jìn)行文章分類中前期數(shù)據(jù)處理方式
3.5.1 公式
- 詞頻(term frequency,tf)指的是某一個給定的詞語在該文件中出現(xiàn)的頻率
- 逆向文檔頻率(inverse document frequency,idf)是一個詞語普遍重要性的度量。某一特定詞語的idf,可以由總文件數(shù)目除以包含該詞語之文件的數(shù)目,再將得到的商取以10為底的對數(shù)得到
最終得出結(jié)果可以理解為重要程度。

tfidf公式.png
舉例:
假如一篇文章的總詞語數(shù)是100個,而詞語"非常"出現(xiàn)了5次,那么"非常"一詞在該文件中的詞頻就是5/100=0.05。
而計算文件頻率(IDF)的方法是以文件集的文件總數(shù),除以出現(xiàn)"非常"一詞的文件數(shù)。
所以,如果"非常"一詞在1,0000份文件出現(xiàn)過,而文件總數(shù)是10,000,000份的話,
其逆向文件頻率就是lg(10,000,000 / 1,0000)=3。
最后"非常"對于這篇文檔的tf-idf的分?jǐn)?shù)為0.05 * 3=0.15