【发布时间】:2015-05-29 13:30:13
【问题描述】:
我正在尝试将 RandomForestRegressor 拟合到我的训练集,
rfr.fit(train_X , train_y)
但不断收到以下警告:
/usr/local/lib/python2.7/dist-packages/IPython/kernel/main.py:1:DataConversionWarning:当需要一维数组时,传递了列向量 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)
不太确定下一步该做什么,只找到了this answer,但这并没有多大帮助。
它确实输出了一个结果,但我不知道它是否正确。通过交叉验证,它会一遍又一遍地创建警告。
【问题讨论】:
-
那么你试过
rfr.fit(train_X , train_y.values)吗? -
感谢您的回答,.values 已经在 train_y = train[label].values 中(我尝试过您建议的格式,但结果相同)
-
试试这个
rfr.fit(train_X , train_y.values.ravel())
标签: python numpy pandas scikit-learn random-forest