Pythonで商品のレコメンドを作成するためのサンプルコード

2024年6月17日

以下は、Pythonで商品のレコメンドを作成するためのサンプルコードです。このコードでは、商品別クリック数、商品情報、受注情報、顧客情報などの特徴量を使用して、商品のレコメンドを行います。

python
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# データの読み込み
# 商品別クリック数
click_data = pd.read_csv("click_data.csv")
# 商品情報
item_data = pd.read_csv("item_data.csv")
# 受注情報
order_data = pd.read_csv("order_data.csv")
# 顧客情報
customer_data = pd.read_csv("customer_data.csv")

# データの結合
merged_data = pd.merge(click_data, item_data, on="item_id")
merged_data = pd.merge(merged_data, order_data, on="item_id")
merged_data = pd.merge(merged_data, customer_data, on="customer_id")

# 特徴量とターゲットの分割
X = merged_data.drop(columns=["recommendation"])
y = merged_data["recommendation"]

# 訓練データとテストデータの分割
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# モデルの学習
model = RandomForestClassifier()
model.fit(X_train, y_train)

# モデルの評価
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

# 顧客ごとに商品をレコメンド
def recommend_items(customer_id):
    customer_data = merged_data[merged_data["customer_id"] == customer_id]
    recommended_items = model.predict(customer_data)
    return recommended_items

# 顧客IDが1の顧客に商品をレコメンド
recommended_items = recommend_items(1)
print("Recommended Items for Customer 1:", recommended_items)

このコードでは、商品別クリック数、商品情報、受注情報、顧客情報などのデータを結合し、ランダムフォレストモデルを使用して商品のレコメンドを行っています。また、特定の顧客に対して商品をレコメンドするための関数 recommend_items も定義されています。

未分類

Posted by ぼっち