Ich muss RandomForestRegressor
von sklearn.ensemble
passen.Ein Spaltenvektor y wurde übergeben, als ein 1d-Array erwartet wurde
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
Dieser Code immer gearbeitet, bis ich eine Vorverarbeitung der Daten (train_y
) hergestellt. Die Fehlermeldung lautet:
DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().
model = forest.fit(train_fold, train_y)
Zuvor train_y
eine Serie war, jetzt ist es numpy Array (es ist ein Spaltenvektor). Wenn ich train_y.ravel()
anwende, wird es zu einem Zeilenvektor und es wird keine Fehlermeldung angezeigt, da der Vorhersageschritt sehr lange dauert (tatsächlich wird er nie beendet ...).
In der Dokumentation von RandomForestRegressor
fand ich, dass train_y
sollte als y : array-like, shape = [n_samples] or [n_samples, n_outputs]
Jede Idee definiert werden, wie dieses Problem zu lösen?
was 'train_fold.shape' und' train_y.shape'? – Alexander
@Alexander: train_fold: Tupel (749904,24) ... Zug: y.Ravel(): Tupel (749904,) –
Sieht gut aus. Haben Sie versucht, 100 Zeilen der Daten zu trainieren, um sicherzustellen, dass sie richtig funktionieren (da Sie gesagt haben, dass sie nie fertig sind)? Haben Sie auch den Inhalt Ihrer 'train_y'-Daten überprüft, um sicherzustellen, dass die Vorverarbeitung nicht beschädigt wurde? – Alexander