未知データの変換
テキストからベクトルを作成する際、Machine Learningモデルを学習させる前に行ったあらゆる前処理は、新しい未知(テスト)データにも同様に適用する必要があります。これを実現するには前章と同じ方針、すなわち「ベクトライザは学習データに対してのみfitし、テストデータにはそれを適用する」ことを守ってください。
この演習では speech_df DataFrame を次の2つに分割しています。
train_speech_df: 最初の45件のスピーチからなる学習用データセット。test_speech_df: 残りのスピーチからなるテスト用データセット。
この演習はコースの一部です
Python で学ぶ Machine Learning のための特徴量エンジニアリング
演習の手順
TfidfVectorizerをインスタンス化します。- ベクトライザをfitし、
text_clean列に適用します。 - 同じベクトライザをテストデータの
text_clean列にも適用します。 - テストセットから得られた新しい特徴量でDataFrameを作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Instantiate TfidfVectorizer
tv = ____(max_features=100, stop_words='english')
# Fit the vectroizer and transform the data
tv_transformed = ____
# Transform test data
test_tv_transformed = ____
# Create new features for the test set
test_tv_df = pd.DataFrame(test_tv_transformed.____,
columns=tv.____).add_prefix('TFIDF_')
print(test_tv_df.head())