我需要适应RandomForestRegressor
的sklearn.ensemble
。
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
该代码始终有效,直到我对数据进行了一些预处理(train_y
)。错误消息显示:
DataConversionWarning:当期望1d数组时,传递了列向量y。请将y的形状更改为(n_samples,),例如使用ravel()。
模型= forest.fit(train_fold,train_y)
以前train_y
是一个Series,现在是numpy数组(它是列向量)。如果我应用train_y.ravel()
,则它成为行向量,并且没有错误消息出现,通过预测步骤需要很长时间(实际上,它永远不会完成...)。
在RandomForestRegressor
我发现的文档中,train_y
应将其定义为“ y : array-like, shape = [n_samples] or [n_samples, n_outputs]
如何解决此问题的想法?”。
train_y
数据的内容以确保预处理不会破坏数据?
RF_tuned_parameters
请为我们打印。
train_fold.shape
和train_y.shape
?