我需要从sklearn.ensemble中适合RandomForestRegressor。
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()。 模型=森林。fit (train_fold train_y)
之前train_y是一个Series,现在它是numpy array(它是一个列向量)。如果我应用train_y.ravel(),那么它就变成了一个行向量,并且没有出现错误消息,因为预测步骤需要很长时间(实际上它永远不会结束……)
在RandomForestRegressor的文档中,我发现train_y应该定义为y: array-like, shape = [n_samples]或[n_samples, n_outputs] 你知道怎么解决这个问题吗?