X_product_name(商品名)を利用して特徴量を生成し、その特徴量を用いてナイーブベイズ分類器を構築するサンプルコード
以下は、X_product_name(商品名)を利用して特徴量を生成し、その特徴量を用いてナイーブベイズ分類器を構築するサンプルコードです。
python
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report
import pandas as pd
# データの読み込み
data = pd.read_csv('/home/share/temp/shipping_size_traning.csv')
# 商品名を特徴量として取得
X_product_name = data['product_name']
y = data['size']
# データの分割
X_train, X_test, y_train, y_test = train_test_split(X_product_name, y, test_size=0.2, random_state=42)
# 商品名を単語の出現回数に変換するCountVectorizerを定義
vectorizer = CountVectorizer()
# 訓練データの商品名を特徴量に変換
X_train_vectorized = vectorizer.fit_transform(X_train)
# テストデータの商品名を特徴量に変換
X_test_vectorized = vectorizer.transform(X_test)
# ナイーブベイズ分類器を定義
nb_classifier = MultinomialNB()
# ナイーブベイズ分類器を訓練
nb_classifier.fit(X_train_vectorized, y_train)
# テストデータで予測
y_pred = nb_classifier.predict(X_test_vectorized)
# 分類器の評価
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
# 分類器の詳細な評価
print(classification_report(y_test, y_pred))
このコードでは、商品名を単語の出現回数に変換するためにCountVectorizerを使用しています。その後、MultinomialNBを使ってナイーブベイズ分類器を訓練し、テストデータで予測を行っています。最後に、精度と詳細な分類レポートが出力されます。

ディスカッション
コメント一覧
まだ、コメントがありません