解决AttributeError: 'numpy.ndarray'对象无'values'属性问题
解决'numpy.ndarray' object has no attribute 'values'错误
问题原因
Y_train已经是numpy数组,而.values是Pandas DataFrame/Series专属的属性,numpy数组没有这个属性,所以调用Y_train.values会触发AttributeError。
解决方案
直接对numpy数组调用ravel()方法即可,无需额外加.values:
修正后的代码:
for name, model in models: kfold = StratifiedKFold(n_splits=3, random_state=1, shuffle=True) cv_results = cross_val_score(model, X_train, Y_train.ravel(), cv=kfold, scoring='accuracy') results.append(cv_results) names.append(name) print('%s: %f (%f)' % (name, cv_results.mean(), cv_results.std()))
额外提示
如果不确定Y_train的类型,可以先执行print(type(Y_train))确认。如果原本是Pandas对象,可能是之前的代码(比如Y_train = Y_train.values)已经将其转换为numpy数组,因此无需再调用.values。
内容的提问来源于stack exchange,提问作者ahasancs
相关产品推荐
相关产品推荐

