gpt4 book ai didi

python - 为什么sklearn.svm.SVC.predict()和sklearn.svm.SVC.predict_proba()的结果不一致?

转载 作者:行者123 更新时间:2023-12-05 03:46:06 27 4
gpt4 key购买 nike

我使用 sklearn.svm.SVC 构建支持向量分类器,如下所示。

import numpy as np
from sklearn.svm import SVC

svc=SVC(probability=True)

X = np.random.randint(0, 100, [100, 3])
y = np.random.choice([0, 1, 2], 100, replace=True)
svc.fit(X, y)

print(svc.predict([[10, 20, 30]]), svc.predict_proba([[10, 20, 30]]))

输出是

[2] [[0.38993057 0.3791583  0.23091113]]

svc.predict_proba() 的结果显示该实例应该属于 class0 的概率最高。但是 svc.predict() 说的是 class2。我想知道为什么这两个结果不一致。

最佳答案

scikit-学习 documentation明确提到,如果您使用 svm.SVC(probability=True),则从 .predict() 预测的输出类可能与 .predict_proba() 不同。这样做的原因是它使用了本质上随机的 5 折交叉验证。

关于python - 为什么sklearn.svm.SVC.predict()和sklearn.svm.SVC.predict_proba()的结果不一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65433792/

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