自社品番毎に、販売数量の予測を行いたいんだけど

自社品番毎に販売数量を予測するためには、各自社品番ごとにモデルを個別にトレーニングする必要があります。つまり、データを自社品番ごとに分割し、それぞれのサブセットに対してモデルをトレーニングして予測を行います。

以下の手順で行うことができます:

  1. データを自社品番ごとに分割します。
  2. 各自社品番のデータセットに対して、モデルをトレーニングします。
  3. 各モデルを使用して、それぞれの自社品番に対する販売数量を予測します。

具体的なコード例を示します:

python
# ユニークな自社品番のリストを取得する unique_products = df["自社品番"].unique() # 各自社品番ごとにモデルをトレーニングして予測を行う for product in unique_products: # 自社品番に対応するデータを抽出する product_data = df[df["自社品番"] == product] # 特徴量とターゲット変数を抽出する X = product_data[features] y = product_data[target] # データをトレーニングセットとテストセットに分割する X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # ランダムフォレストモデルを初期化する rf_model = RandomForestRegressor() # モデルをトレーニングする rf_model.fit(X_train, y_train) # テストセットを使用してモデルの性能を評価する(任意) y_pred = rf_model.predict(X_test) mae = mean_absolute_error(y_test, y_pred) r2 = r2_score(y_test, y_pred) print(f"Product: {product}, Mean Absolute Error: {mae}, R^2: {r2}") # 最新のデータを使用して予測を行う(任意) latest_data = pd.DataFrame({ "単価": [最新の単価], "送料": [最新の送料], "原価": [最新の原価] }) predicted_quantity = rf_model.predict(latest_data) print(f"Predicted Quantity for Product {product}:", predicted_quantity)

このコードでは、各自社品番に対してモデルを個別にトレーニングしています。そして、各自社品番に対する予測を行っています。

未分類

Posted by ぼっち