Muszę zmieścić RandomForestRegressor
od 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_y
był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 RandomForestRegressor
znalazłem, że train_y
powinno to być zdefiniowane jako y : array-like, shape = [n_samples] or [n_samples, n_outputs]
Każdy pomysł, jak rozwiązać ten problem?
train_y
danych, aby upewnić się, że przetwarzanie wstępne ich nie uszkodziło?
RF_tuned_parameters
dla nas.
train_fold.shape
itrain_y.shape
?