sklearn.SVR使用多种功能



我离开sklearn有一段时间了,显然忘记了一些关键的东西(可能很简单(。我想拟合一个由6696个样本和四个特征组成的数据集:X.shape是(6696,1(,y.shape是(6696,4(。但是regressor.fit()函数在抱怨y数组——我缺少什么?

>>> X
array([[ 50.],
[ 50.],
[ 50.],
...,
[750.],
[750.],
[750.]])
>>> y
array([[ 7776., 13364.,  3468., 29436.],
[ 7156., 13780.,  3480., 29264.],
[ 6924., 12444.,  3636., 29152.],
...,
[27404., 27764., 18136., 31328.],
[25896., 27580., 12696., 31480.],
[21892., 18540.,  5000., 31656.]])
>>> regressor = SVR(kernel='rbf')
>>> regressor.fit(X, y)
ValueError: y should be a 1d array, got an array of shape (6696, 4) instead.

(附言:是的,一旦我让这个部分工作起来,我就会使用StandardScaler()来规范特征。(

Doh。已解决。我把X和y混合在一起。工作解决方案(注意y必须是1d数组,而不是列(:

>>> y.ravel()
array([ 50.,  50.,  50., ..., 750., 750., 750.])
>>> X
array([[ 7776., 13364.,  3468., 29436.],
[ 7156., 13780.,  3480., 29264.],
[ 6924., 12444.,  3636., 29152.],
...,
[27404., 27764., 18136., 31328.],
[25896., 27580., 12696., 31480.],
[21892., 18540.,  5000., 31656.]])
>>> regressor = SVR(kernel='rbf')
>>> regressor.fit(X, y)
SVR()

最新更新