gpt4 book ai didi

python - 在 LinearSVC 的 scikit 中计算每个样本 x 的概率估计 P(y|x)

转载 作者:行者123 更新时间:2023-11-30 08:55:39 24 4
gpt4 key购买 nike

我正在 scikit 中使用 Linearsvm 训练我的数据集。我可以计算/获取样本在给定标签下分类的概率吗?

例如,使用 SGDClassifier(loss="log")为了拟合数据,启用了 Predict_proba 方法,该方法给出概率估计向量 P(y|x)每个样本x :

>>> clf = SGDClassifier(loss="log").fit(X, y)
>>> clf.predict_proba([[1., 1.]])

输出:

array([[ 0.0000005,  0.9999995]])

是否有任何类似的函数可以用来在使用 svm.LinearSVC 时计算预测概率(多类分类)。我知道有一个方法decision_function预测本例中样本的置信度分数。但是,有什么方法可以使用此决策函数计算样本的概率估计吗?

最佳答案

不,LinearSVC 不会计算概率,因为它没有经过训练可以这样做。使用 sklearn.linear_model.LogisticRegression,它使用与 LinearSVC 相同的算法,但具有对数损失。它使用标准logistic function对于概率估计:

1. / (1 + exp(-decision_function(X)))

(出于同样的原因,SGDClassifier只会在loss="log"时输出概率,而不使用其默认损失函数,这会导致它学习线性SVM。 )

关于python - 在 LinearSVC 的 scikit 中计算每个样本 x 的概率估计 P(y|x),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20285916/

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