0

当我使用 10 折交叉验证运行此处理时,预测结果与标签数据完全相反,我得到零准确度。我无法解决为什么会这样?

kfold = model_selection.KFold(n_splits=5,random_state=+7,shuffle=False)
predictions = model_selection.cross_val_predict(SVC(),features_list,labels_list,cv=kfold)
accuracy=metrics.accuracy_score(labels_list,predictions)
print(confusion_matrix(labels_list,predictions))
print(classification_report(labels_list,predictions))
print("Accuracy Score:",accuracy)
4

1 回答 1

0

不要cross_val_predict用于评估 scikit-learn 中的模型(警告部分:https ://scikit-learn.org/stable/modules/cross_validation.html#obtaining-predictions-by-cross-validation )

相反,使用cross_val_scorewhich 将为在交叉验证构建的 10 个不同数据集上测试的 10 个模型返回 10 个准确度。查看平均分和标准差。开发。为评价。

于 2019-12-22T18:40:16.113 回答