Мне нужно соответствовать 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
?