Ich muss passen RandomForestRegressor
von sklearn.ensemble
.
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
Dieser Code hat immer funktioniert, bis ich Daten vorverarbeitet habe ( train_y
). Die Fehlermeldung lautet:
DataConversionWarning: Ein Spaltenvektor y wurde übergeben, als ein 1d-Array erwartet wurde. Bitte ändern Sie die Form von y in (n_samples,), zum Beispiel mit ravel ().
model = forest.fit (train_fold, train_y)
Früher train_y
war es eine Serie, jetzt ist es ein Numpy-Array (es ist ein Spaltenvektor). Wenn ich mich bewerbe train_y.ravel()
, wird es zu einem Zeilenvektor und es wird keine Fehlermeldung angezeigt. Der Vorhersageschritt dauert sehr lange (tatsächlich wird er nie beendet ...).
In den Dokumenten von RandomForestRegressor
fand ich, dass train_y
dies definiert werden sollte als y : array-like, shape = [n_samples] or [n_samples, n_outputs]
Irgendeine Idee, wie man dieses Problem löst?
train_y
Daten überprüft, um sicherzustellen, dass die Vorverarbeitung sie nicht beschädigt hat?
RF_tuned_parameters
Sie bitte für uns.
train_fold.shape
undtrain_y.shape
?