Je dois répondre à RandomForestRegressor
partir sklearn.ensemble
.
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
Ce code a toujours fonctionné jusqu'à ce que je fasse un prétraitement des données ( train_y
). Le message d'erreur dit:
DataConversionWarning: Un vecteur de colonne y a été transmis lorsqu'un tableau 1d était attendu. Veuillez changer la forme de y en (n_samples,), par exemple en utilisant ravel ().
model = forest.fit (train_fold, train_y)
Auparavant, train_y
c'était une série, maintenant c'est un tableau numpy (c'est un vecteur de colonne). Si je postule train_y.ravel()
, alors cela devient un vecteur de ligne et aucun message d'erreur n'apparaît, car l'étape de prédiction prend très longtemps (en fait, elle ne se termine jamais ...).
Dans la documentation de RandomForestRegressor
j'ai trouvé que cela train_y
devrait être défini comme y : array-like, shape = [n_samples] or [n_samples, n_outputs]
une idée comment résoudre ce problème?
train_y
données pour vous assurer que le prétraitement ne les a pas corrompues?
RF_tuned_parameters
pour nous s'il vous plaît.
train_fold.shape
ettrain_y.shape
?