Scikit-learn cross val score报错: too many indices for array

sklearn库调用交叉验证得到准确率遇到报错:

IndexError: too many indices for array

看到官网例子中

>>> from sklearn import datasets, linear_model
>>> from sklearn.cross_validation import cross_val_score
>>> diabetes = datasets.load_diabetes()
>>> X = diabetes.data[:150]
>>> y = diabetes.target[:150]
>>> lasso = linear_model.Lasso()
>>> print(cross_val_score(lasso, X, y))  
[ 0.33150734  0.08022311  0.03531764]

其中X,y的格式为:

而我的数据类型


所以y_train形式改变一下为(3065,)就可以了!!!!!,用如下代码:

c, r = y_train.shape
y_train = y_train.reshape(c,)
各种找,最后参考了stackoverflow中的回答,解决了问题。链接 点击打开链接


猜你喜欢

转载自blog.csdn.net/weixin_39223665/article/details/80214825