NotFittedError: This RandomForestRegressor instance is not fitted yet. Call ‘fit’ with appropriate arguments before using this estimator.
エラーのメッセージから、RandomForestRegressorモデルがまだ適合していないことがわかります。モデルを適合させないまま、predictメソッドを呼び出しています。
モデルを適合させる前にfitメソッドを呼び出す必要があります。以下は修正されたコードです。
python
# モデルの構築とトレーニング
model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
# テストデータを使用して予測
y_pred = model.predict(X_test)
# モデルの評価
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)
# 平均値を計算
mean_values = data.mean()
# 平均値を代入
next_month_data = pd.DataFrame({
'年': [2024],
'月': [5],
'金額': [mean_values['金額']],
"原価":[mean_values["原価"]],
'実在庫': [mean_values['実在庫']],
'リードタイム': [5],
'在庫補充頻度': [3],
'在庫回転数':[mean_values["在庫回転数"]]
})
# 予測
next_month_quantity = model.predict(next_month_data[['年', '月', '金額', "原価",'実在庫', 'リードタイム', '在庫補充頻度', '在庫回転数']])
print("来月の数量予測:", next_month_quantity)
ここでは、まずモデルをトレーニングデータに適合させ、その後で新しいデータポイントに対して予測を行っています。

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