寻找支持向量机模型的AUC分数

2024-10-02 08:30:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道支持向量机算法不计算概率,这是找到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分数,这可以通过其他算法获得


Tags: 方法fromimport算法modeltrainsklearn概率
1条回答
网友
1楼 · 发布于 2024-10-02 08:30:27

对于ROC,你并不需要概率,只需要任何一种信心分数。您需要根据样本在阳性类别中的可能性对样本进行排序。支持向量机可以使用从分离平面到分离平面的(有符号)距离来实现这一目的,事实上sklearn在使用AUC评分时会在引擎盖下自动进行此操作:它使用decision_function方法,即有符号距离

您还可以在SVC(docs)中设置probability选项,该选项适合SVM顶部的Platt校准模型,以产生概率输出:

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

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

相关问题 更多 >

    热门问题