gpt4 book ai didi

python - 寻找 SVM 模型的 AUC 分数

转载 作者:行者123 更新时间:2023-12-04 02:28:26 25 4
gpt4 key购买 nike

我知道支持向量机算法不计算概率,而概率是计算 AUC 值所必需的,有没有其他方法可以只计算 AUC 分数?

from sklearn.svm import SVC
model_ksvm = SVC(kernel = 'rbf', random_state = 0)
model_ksvm.fit(X_train, y_train)

model_ksvm.predict_proba(X_test)

我无法从 SVM 算法获得概率输出,没有概率输出我无法获得 AUC 分数,而我可以通过其他算法获得它。

最佳答案

您实际上不需要 ROC 的概率,只需任何类型的置信度分数即可。您需要根据样本属于正类的可能性对样本进行排序。支持向量机可以为此目的使用距分离平面的(有符号)距离,事实上 sklearn 在使用 AUC 评分时会自动在引擎盖下执行此操作:它使用 decision_function方法,即有符号距离。

您还可以在 SVC ( docs ) 中设置 probability 选项,它在 SVM 之上拟合 Platt 校准模型以产生概率输出:

model_ksvm = SVC(kernel='rbf', probability=True, random_state=0)

但这将导致相同的 AUC,因为 Platt 校准只是将带符号的距离单调地映射到概率。

关于python - 寻找 SVM 模型的 AUC 分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65763063/

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