2017-08-22 54 views
1

我試圖刪除一次出現在我的詞彙表中的單詞,以減少我的詞彙量。我正在使用sklearn TfidfVectorizer(),然後在我的數據框上使用fit_transform函數。在詞彙表中刪除一次出現的單詞TF-IDF

tfidf = TfidfVectorizer() 
tfs = tfidf.fit_transform(df['original_post'].values.astype('U')) 

我首先想到的是在TFIDF矢量化或機器學習之前,使用預處理包預處理器領域。

任何提示或進一步實施的鏈接?

回答

1

你正在尋找min_df PARAM(最低頻率),從文檔scikit學習TfidfVectorizer

min_df:漂浮在範圍[0.0,1.0]或者int,默認= 1

構建詞彙表時忽略文檔頻率嚴格低於給定閾值的詞。這個值也是 在文獻中稱爲切斷。如果爲float,則該參數表示文檔的比例,即整數絕對計數。如果詞彙不是無,則忽略此參數 。

# remove words occuring less than 5 times 
tfidf = TfidfVectorizer(min_df=5) 

還可以去除常見的單詞:

# remove words occuring in more than half the documents 
tfidf = TfidfVectorizer(max_df=0.5) 

還可以去除停用詞是這樣的:

tfidf = TfidfVectorizer(stop_words='english') 
相關問題