gpt4 book ai didi

python - 将 LinearSVC 的决策函数转换为概率(Scikit learn python)

转载 作者:IT老高 更新时间:2023-10-28 22:12:54 24 4
gpt4 key购买 nike

我使用来自 scikit learn (LinearSVC) 的线性 SVM 来解决二进制分类问题。我知道 LinearSVC 可以给我预测的标签和决策分数,但我想要概率估计(对标签的信心)。由于速度原因,我想继续使用 LinearSVC(与具有线性内核的 sklearn.svm.SVC 相比)使用逻辑函数将决策分数转换为概率是否合理?

import sklearn.svm as suppmach
# Fit model:
svmmodel=suppmach.LinearSVC(penalty='l1',C=1)
predicted_test= svmmodel.predict(x_test)
predicted_test_scores= svmmodel.decision_function(x_test)

我想检查简单地获得概率估计是否有意义 [1/(1 + exp(-x)) ] 其中 x 是决策分数。

或者,我可以使用分类器的其他选项来有效地执行此操作吗?

谢谢。

最佳答案

scikit-learn 提供 CalibratedClassifierCV可以用来解决这个问题:它允许将概率输出添加到 LinearSVC 或任何其他实现决策函数方法的分类器:

 svm = LinearSVC()
clf = CalibratedClassifierCV(svm)
clf.fit(X_train, y_train)
y_proba = clf.predict_proba(X_test)

用户指南有一个很好的section在那。默认情况下,CalibratedClassifierCV+LinearSVC 会为您提供 Platt scaling,但它也提供其他选项(等渗回归方法),并且不限于 SVM 分类器。

关于python - 将 LinearSVC 的决策函数转换为概率(Scikit learn python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26478000/

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