当需要1d数组时,传递了列向量y

我需要从sklearn.emble中安装randomforestrestregressor

森林=集合。随机森林回归器(**射频调谐参数)
模型=forest.fit(系列折叠,系列y)
yhat=模型预测(测试次数)

这段代码一直有效,直到我对数据进行了一些预处理(train\y)。
错误消息显示:

DataConversionWarning:当需要1d数组时,传递了列向量y。请将y的形状更改为(n_samples,),例如使用ravel()

模型=forest.fit(系列折叠,系列y)

以前的train_y是一个系列,现在是numpy数组(它是一个列向量)。如果我应用train_y.ravel(),那么它将成为一个行向量,并且不会出现错误消息,因为预测步骤需要很长时间(实际上它永远不会完成…)

randomForestRegressionor的文档中,我发现train_y应该定义为y:array-like,shape=[n_-samples]或[n_-samples,n_-outputs]
你知道如何解决这个问题吗

更改此行:

model=forest.fit(系列折叠,系列y)

致:

model=forest.fit(train\u fold,train\u y.values.ravel())

编辑:

.values将给出数组中的值。(形状:(n,1)

.ravel将该数组形状转换为(n,)

发表评论