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