MultinomialNBはカテゴリデータを直接渡せないんか

2024年6月17日

MultinomialNBモデルは、入力として数値データを必要としますが、商品名のようなテキストデータを直接受け取ることができません。そのため、まずは商品名を数値データに変換する必要があります。これを行う方法の1つは、テキストデータをベクトル化することです。ここでは、CountVectorizerを使用して商品名をベクトル化します。

次のようにしてコードを変更します:

python
from sklearn.feature_extraction.text import CountVectorizer

# 商品名をベクトル化する
vectorizer = CountVectorizer()
X_product_name_vectorized = vectorizer.fit_transform(X_product_name)

# ナイーブベイズのモデルを作成し、ベクトル化された商品名を入力として学習させる
nb_model = MultinomialNB()
nb_model.fit(X_product_name_vectorized, y)

# ナイーブベイズで予測されたサイズデータを新たな説明変数として追加
data['nb_predicted_size'] = nb_model.predict(X_product_name_vectorized)

このように変更することで、MultinomialNBモデルにテキストデータを入力として与えることができます。

未分類

Posted by ぼっち