Мне нужно соответствовать 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]
Любая идея, как решить эту проблему?
train_yданных, чтобы убедиться, что предварительная обработка не повредила его?
RF_tuned_parametersдля нас, пожалуйста.
train_fold.shapeиtrain_y.shape?