Мне нужно установить RandomForestRegressor
из sklearn.ensemble
.
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
Этот код всегда работал до тех пор, пока я не сделал некоторую предварительную обработку данных (train_y
).
В сообщении об ошибке говорится:
DataConversionWarning: вектор-столбец y был передан, когда ожидался 1d-массив. Измените форму y на (n_samples), например, используя ravel().
model = forest.fit(train_fold, train_y)
Ранее train_y
был серией, теперь это numpy-массив (это вектор-столбец). Если я применяю train_y.ravel()
, то он становится вектором строки и не появляется сообщение об ошибке, поскольку шаг прогнозирования занимает очень много времени (на самом деле он никогда не заканчивается...).
В документах RandomForestRegressor
я обнаружил, что train_y
должен быть определен как y : array-like, shape = [n_samples] or [n_samples, n_outputs]
Любая идея, как решить эту проблему?