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中的回答,解决了问题。链接
点击打开链接