我正在尝试使RandomForestRegressor适合我的训练集,
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数组的形式存在,即所谓的.values:
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)
不太确定下一步该怎么做,只是找到了这个答案,但并没有太大帮助。
它确实输出了一个结果,但是我不知道它是否正确。通过交叉验证,它会不断重复创建该警告。
警告会告诉您确切的操作,对吗?有什么问题 尽管有警告,结果是否正确?是的,因为您的意思是使用1d向量y。
如何摆脱警告?如果您将y表示为一维向量而不是矩阵的一列,请使用y.ravel()进行警告。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句