Devo installare RandomForestRegressor
da sklearn.ensemble
.È stato inviato un vettore di colonna y quando era previsto un array 1d
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
Questo codice ha funzionato sempre fino a quando ho fatto un po 'di pre-elaborazione dei dati (train_y
). Il messaggio di errore dice:
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)
precedenza train_y
fu una serie, ora è di matrice NumPy (si tratta di una colonna-vettoriale). Se applico train_y.ravel()
, allora diventa un vettore di riga e non appare alcun messaggio di errore, attraverso il passo di predizione richiede molto tempo (in realtà non finisce mai ...).
nella documentazione di RandomForestRegressor
ho scoperto che train_y
dovrebbero essere definite come y : array-like, shape = [n_samples] or [n_samples, n_outputs]
Qualsiasi idea di come risolvere questo problema?
ciò che è '' train_fold.shape' e train_y.shape'? – Alexander
@Alexander: treno_fold: tupla (749904,24) ... treno: y.ravel(): tupla (749904,) –
Sembra buono. Hai provato ad allenare 100 righe di dati per assicurarti che funzioni correttamente (dal momento che hai detto che non è mai finito)? Inoltre, hai esaminato il contenuto dei tuoi dati 'train_y' per assicurarti che la pre-elaborazione non l'abbia corrotta? – Alexander