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())