gpt4 book ai didi

python - 如何自动选择列表中的最大值。append - python

转载 作者:行者123 更新时间:2023-11-30 09:47:36 26 4
gpt4 key购买 nike

我正在做一个机器学习项目,我需要选择分类器的最高 cv_results 值。在计算所有值并将其存储在单个变量 cv_results 中后,如何自动选择分类器的最高值?

models = []
models.append(('LR', LogisticRegression()))
models.append(('KNN', KNeighborsClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVM', SVC()))

maxval = models[0] # initialize max to first element
results = []
names = []
storeresults = []
for name, model in models:

kfold = model_selection.KFold(n_splits=10, random_state=seed)
cv_results = model_selection.cross_val_score(model, X_tr, Y_tr, cv=kfold, scoring=scoring)
results.append(cv_results)
names.append(name)
msg = "%s: %f (%f)" % (name, cv_results.mean(), cv_results.std()
print(msg)

maxval = max(results)
#print(maxval)
print('The best classifier is ' , maxval)

我的输出是:

LR: 0.552291 (0.021477)
SVM: 0.897305 (0.015317)
KNN: 0.884636 (0.016431)
NB: 0.609434 (0.026586)

The best classifier is 0.654986522911 NB

它应该是 SVM,但我该如何做到这一点?

名称后的第一个数字是结果的平均值,括号中的数字是标准差。当我在我的spyder python中运行时,它将选择NB(朴素贝叶斯)而不是SVM(支持机器向量)。

最佳答案

max_cross_val_score = max(cv_results.mean()) 
max_cross_val_score_classifier = models[cv_results.mean().index(max_cross_val_score)]

最佳分类器是 max_cross_val_score_classifier,其中 max_cross_val_score 作为最大交叉验证分数。

关于python - 如何自动选择列表中的最大值。append - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50362165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com