python中的一些机器学习模型只接受y中的单个特征吗?



我在sklearn中使用SVR运行了一些数据

from sklearn.svm import SVR
clf = SVR()
clf = clf.fit(train_X, train_y)
y_score3 = clf.predict(test_X)
predict3 = roc_auc_score(test_y, y_score3)
print ("SVR : %(first)s" % {'first':predict3} )

但是控制台返回:

ValueError: bad input shape (4576, 5)

,其中train_Xtrain_y未能获得clf.fit()

我的数据形状看起来像

print (train_X.shape)
(4576, 8)
print (train_y.shape)
(4576, 5)

在这种情况下,模型似乎从train_y获取了5而不是4576

我看了文档,上面写着:

y : array-like, shape (n_samples,)
Target values (class labels in classification, real numbers in regression)

这是否意味着模型SVR只接受y的一列?p -实际上我的y值最初是一列,有离散的5类。我只把它们做成5列的dummy

当我将这个数据集应用到不同的模型时,这种情况经常发生。如果有人能回答我的问题,我将不胜感激。

是的,SVR只接受有一列的y,您应该重塑您的y:

train_y.shape=(train_y.shape[0]*train_y.shape[1],1)

相关内容

  • 没有找到相关文章

最新更新