開始使用免費開始

限制你的特徵數量

如你所見,使用 CountVectorizer 的預設設定,會為語料庫中的每個單字建立一個特徵。這通常會產生過多特徵,且其中許多對分析幫助不大。

為此,CountVectorizer 提供一些參數可用來減少特徵數量:

  • min_df:只使用出現在超過此比例文件中的單字。這能移除在各文本間難以泛化的離群單字。
  • max_df:只使用出現在低於此比例文件中的單字。這能排除像「and」或「the」這類在每個語料中都很常見、但幾乎沒有資訊量的單字。

本練習屬於課程

Feature Engineering for Machine Learning in Python

檢視課程

練習說明

  • 透過設定 CountVectorizer 的參數,將單字可出現的文件比例下限設為 20%,上限設為 80%,以限制特徵數量。
  • 以一步完成在 text_clean 欄位上訓練並套用向量器。
  • 將轉換後(稀疏)的陣列轉成含計數的 numpy 陣列。
  • 列印新的降維陣列的維度。

動手互動練習

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

# Import CountVectorizer
from sklearn.feature_extraction.text import CountVectorizer

# Specify arguements to limit the number of features generated
cv = ____

# Fit, transform, and convert into array
cv_transformed = ____(speech_df['text_clean'])
cv_array = ____

# Print the array shape
print(____)
編輯並執行程式碼