NotFittedError: This RandomForestRegressor instance is not fitted yet. Call ‘fit’ with appropriate arguments before using this estimator.

2024年6月17日

エラーのメッセージから、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)

ここでは、まずモデルをトレーニングデータに適合させ、その後で新しいデータポイントに対して予測を行っています。

未分類

Posted by ぼっち