私はフィットする必要がありますRandomForestRegressor
からsklearn.ensemble
。
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
このコードは、データの前処理を行うまで常に機能しました(train_y
)。エラーメッセージは言う:
DataConversionWarning:1次元配列が予期されていたときに、列ベクトルyが渡されました。例えばravel()を使用して、yの形状を(n_samples、)に変更してください。
モデル= forest.fit(train_fold、train_y)
以前train_y
はSeriesでしたが、現在はnumpy配列です(列ベクトルです)。を適用train_y.ravel()
すると、行ベクトルになり、エラーメッセージは表示されず、予測ステップに非常に長い時間がかかります(実際には終了しません...)。
RandomForestRegressor
私のドキュメントでは、
この問題を解決するためのアイデアtrain_y
として定義する必要があることがわかりましたy : array-like, shape = [n_samples] or [n_samples, n_outputs]
か?
train_y
データの内容を調べて、前処理によってデータが破損していないことを確認しましたか?
RF_tuned_parameters
してください。
train_fold.shape
とtrain_y.shape
?