我需要适应RandomForestRegressor
的sklearn.ensemble
.
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
Run Code Online (Sandbox Code Playgroud)
这段代码一直有效,直到我对data(train_y
)进行了一些预处理.错误消息说:
DataConversionWarning:当期望1d数组时传递列向量y.请将y的形状更改为(n_samples,),例如使用ravel().
model = forest.fit(train_fold,train_y)
以前train_y
是一个系列,现在它是numpy数组(它是一个列向量).如果我应用train_y.ravel()
,那么它变成行向量并且没有出现错误消息,通过预测步骤需要很长时间(实际上它永远不会完成......).
在RandomForestRegressor
我发现的文档中train_y
应该定义为y : array-like, shape = [n_samples] or [n_samples, n_outputs]
任何想法如何解决这个问题?