開始使用免費開始

Tf-idf

雖然以文字出現次數來建模很有用,但高頻詞可能會讓結果產生不理想的偏斜。為了避免常見詞彙主導你的模型,可以使用某種正規化方式。在本課中,你會使用影片中介紹的詞頻—逆文檔頻率(Term frequency–inverse document frequency,Tf-idf)。Tf-idf 會降低常見詞的權重,同時提高較少出現在多數文件中的詞彙權重。

本練習屬於課程

Feature Engineering for Machine Learning in Python

檢視課程

練習說明

  • sklearn.feature_extraction.text 匯入 TfidfVectorizer
  • 建立 TfidfVectorizer,並將特徵數量限制為 100,且移除英文停用詞。
  • 以一步完成的方式,在 text_clean 欄位上擬合並套用向量器。
  • 建立一個名為 tv_df 的 DataFrame,內容為詞彙權重,並以特徵名稱作為欄名。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Import TfidfVectorizer
____

# Instantiate TfidfVectorizer
tv = ____

# Fit the vectroizer and transform the data
tv_transformed = ____(speech_df['text_clean'])

# Create a DataFrame with these features
tv_df = pd.DataFrame(tv_transformed.____, 
                     columns=tv.____).add_prefix('TFIDF_')
print(tv_df.head())
編輯並執行程式碼