TF-IDF原理及sklearn呼叫
阿新 • • 發佈:2018-11-01
一、原理
TF-IDF,也就是“詞頻-逆文字頻率”,是文字挖掘中做分詞、向量化之後的一個操作,它由兩部分組成:
1、詞頻:某個詞在當前文字中出現的次數。
2、IDF:有些詞語雖然詞頻很高,但是並不重要,IDF衡量的就是一個詞的重要度。IDF的基本公式:
其中,N代表訓練集中document的總數,而N(x)代表訓練集中包含詞x的document總數。也就是說,如果出現詞x的文件越多,IDF值越小,這個詞越不重要。
如果某一個生僻詞沒有在訓練集中出現,就會導致分母為0,所以我們需要做一些平滑:
TF-IDF的公式為:
二、sklearn呼叫
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer()
re = tfidf.fit_transform(corpus)
常用引數:
ngram_range=(min_n, max_n):要提取的n-gram的n-values的下限和上限範圍。
stop_words:string {‘english’}, list, or None(default),停用詞
max_df: float in range [0.0, 1.0] or int, optional, 1.0 by default
min_df:float in range [0.0, 1.0] or int, optional, 1.0 by default
max_features: optional, None by default
norm:‘l1’, ‘l2’, or None,optional。範數用於標準化詞條向量。None為不歸一化