我想在我的训练中加入一个随机回归器,

rfr.fit(train_X , train_y)

但要不断收到以下警告:
/usr/local/lib/python2.7/dist packages/IPython/kernel/main.py:1:DataConversionWarning:在需要1d数组时传递了列向量y请将y的形状更改为(n_samples,),例如使用ravel()。
如果name='main':
我使用的是pandas,因此假设训练集可能需要在numpy数组中,也就是所谓的。
train_y = train[label].values
train_X = train[features].values

检查以查看类型和形状:
print type(train_X), train_X.shape
print type(train_y), train_y.shape

返回:
<type 'numpy.ndarray'> (20457, 44)
<type 'numpy.ndarray'> (20457, 1)

不太确定下一步该怎么做,只找到了this answer但没有多大帮助。
它确实输出了一个结果,但我不知道它是否正确。通过交叉验证,它一次又一次地创建警告。

最佳答案

警告告诉你该怎么做,对吧?
问题是什么?尽管有警告,结果是否正确?是的,因为你的意思是用一维向量y。
如何消除警告?如果您的意思是y是1d向量,而不是矩阵的列,请使用y.ravel()作为警告。

关于python - Scikit中的DataConversionWarning拟合RandomForestRegressor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29263099/

10-09 12:30