始める無料で始める

Tf-idf

単語の出現回数はモデル作成に有用ですが、頻出する単語が結果を不必要に歪めてしまうことがあります。こうした一般的な単語がモデルを支配しないように、正規化の一種を用いることができます。このレッスンでは、動画で解説したとおり、Term frequency-inverse document frequency(Tf-idf)を使用します。Tf-idf は、一般的な単語の値を下げ、あまり多くの文書に現れない単語の重みを高める効果があります。

この演習はコースの一部です

Python で学ぶ Machine Learning のための特徴量エンジニアリング

コースを見る

演習の手順

  • sklearn.feature_extraction.text から TfidfVectorizer をインポートします。
  • 特徴量数を100に制限し、英語のストップワードを除去するように TfidfVectorizer をインスタンス化します。
  • text_clean 列に対して、ベクタイザを1ステップで学習・適用します。
  • 単語の重みを含み、特徴量名を列名にした DataFrame tv_df を作成します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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())
コードを編集して実行