You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不修改变量名的情况下将多组准确率值存入列表?

如何在不修改变量名的前提下收集多模型准确率数据

你需要在保留每个Accuracy变量名的前提下,将KNN、决策树等多个模型返回的准确率值收集到Accuracy_Data列表中。现有代码的问题在于最后尝试循环最后一个Accuracy值来添加,这不仅逻辑错误(若Accuracy是单个数值会引发迭代错误),也没收集到前面所有模型的结果。

修改后的代码

Accuracy_Data = list()

# KNN模型
Accuracy = KNN(features_train, features_test, label_train, label_test)
print("KNN algorithm:", str(Accuracy * 100),"%")
Accuracy_Data.append(Accuracy)  # 收集当前准确率

# 决策树模型
Accuracy = DecisionTree(features_train, features_test, label_train, label_test)
print("Decision Tree:", f"{Accuracy * 100:.2f}%")
Accuracy_Data.append(Accuracy)  # 收集当前准确率

# SVM模型
Accuracy = SVM(features_train, features_test, label_train, label_test)
print("The accuracy of SVM algorithm is", f"{Accuracy * 100:.2f}%")
Accuracy_Data.append(Accuracy)

# 高斯朴素贝叶斯模型
Accuracy = GNB(features_train, features_test, label_train, label_test)
print("The accuracy of Gaussian Naive Bayes is", f"{Accuracy * 100:.2f}%")
Accuracy_Data.append(Accuracy)

# 随机森林模型
Accuracy = RFC(features_train, features_test, label_train, label_test)
print("The accuracy of Random Forest is", f"{Accuracy * 100:.2f}%")
Accuracy_Data.append(Accuracy)

# AdaBoost分类器模型
Accuracy = ADC(features_train, features_test, label_train, label_test)
print("The accuracy of Ada Boost Classifier is", f"{Accuracy * 100:.2f}%")
Accuracy_Data.append(Accuracy)

关键说明

  • 核心逻辑:在每个模型计算出Accuracy值后,立即调用Accuracy_Data.append(Accuracy),这样就能在不修改Accuracy变量名的前提下,逐个收集所有模型的准确率结果。
  • 修正格式化错误:原代码中str(Accuracy * 100,"%")是错误的Python语法,改用f-string格式化(f"{Accuracy * 100:.2f}%")可以更简洁准确地输出带百分比的准确率,还能控制小数位数(这里保留2位小数)。
  • 删除无效循环:原代码最后for x in Accuracy:的循环完全错误,因为Accuracy是单个数值时无法迭代,直接删除即可。

内容的提问来源于stack exchange,提问作者nitin kashyap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 17:35:24