Muszę zmieścić RandomForestRegressorod sklearn.ensemble.
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
Ten kod zawsze działał, dopóki nie wykonałem wstępnego przetwarzania danych ( train_y). Komunikat o błędzie mówi:
DataConversionWarning: przekazano wektor-kolumnę y, gdy oczekiwano tablicy 1d. Zmień kształt y na (n_samples,), na przykład za pomocą ravel ().
model = forest.fit (train_fold, train_y)
Wcześniej train_ybyła to seria, teraz jest to tablica numpy (jest to wektor kolumnowy). Jeśli zastosuję train_y.ravel(), staje się wektorem wierszowym i nie pojawia się żaden komunikat o błędzie, a krok przewidywania zajmuje bardzo dużo czasu (w rzeczywistości nigdy się nie kończy ...).
W dokumentach RandomForestRegressorznalazłem, że train_ypowinno to być zdefiniowane jako y : array-like, shape = [n_samples] or [n_samples, n_outputs]
Każdy pomysł, jak rozwiązać ten problem?
train_ydanych, aby upewnić się, że przetwarzanie wstępne ich nie uszkodziło?
RF_tuned_parametersdla nas.
train_fold.shapeitrain_y.shape?