Ich muss passen RandomForestRegressorvon 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_ywar 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 RandomForestRegressorfand ich, dass train_ydies definiert werden sollte als y : array-like, shape = [n_samples] or [n_samples, n_outputs]
Irgendeine Idee, wie man dieses Problem löst?
train_yDaten überprüft, um sicherzustellen, dass die Vorverarbeitung sie nicht beschädigt hat?
RF_tuned_parametersSie bitte für uns.
train_fold.shapeundtrain_y.shape?