私はフィットする必要があります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?