始める無料で始める

Twitter 航空会社感情データでの TfIdf

ここでは、TfIdf 手法を使って特徴量を作成します。引き続き tweets データセットを扱います。

この演習では、これまでに学んだ内容を活用して、ストップワードの除去、トークンパターンの使用、n-gram の指定を行います。

最終的な出力は、TfidfVectorizer() で作成された列を持つ DataFrame になります。このような DataFrame は、そのまま教師あり学習モデルに渡すことができます。次の章では、まさにそれに取り組みます。

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

Pythonで学ぶSentiment Analysis

コースを見る

演習の手順

  • TfidfVectorizer を構築するために必要なパッケージと ENGLISH_STOP_WORDS をインポートします。
  • tweets データセットの text 列から TfIdf ベクトライザを作成します。n-gram は uni-gram と bi-gram を指定し、与えられたトークンパターンで英数字のみを含むトークンを対象とし、ストップワードには ENGLISH_STOP_WORDS を指定します。
  • フィットしたのと同じ列を指定してベクトライザを変換(transform)します。
  • DataFrame() 関数で列名を指定します。

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

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

# Import the required vectorizer package and stop words list
____

# Define the vectorizer and specify the arguments
my_pattern = r'\b[^\d\W][^\d\W]+\b'
vect = ____(____=(1, 2), max_features=100, ____=my_pattern, ____=ENGLISH_STOP_WORDS).fit(tweets.text)

# Transform the vectorizer
X_txt = vect.____(____.____)

# Transform to a data frame and specify the column names
X=pd.DataFrame(X_txt.toarray(), columns=____.____)
print('Top 5 rows of the DataFrame: ', X.head())
コードを編集して実行