- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 SVM-OVR (Ove-Vs-Rest) 进行多类分类时, 训练分类器,使用 等于类的数量。
第 i 个分类器基本上计算第 i 类和包含所有其他类的类之间的二元分类。
然后,为了预测一个新的数据样本,所有的 测试分类器,并根据为每个分类器估计的置信度,返回最可能的类。例如,class1 = 0.59,class2 = 0.61,依此类推,关联概率最大的将对应输出类。
我想知道每个分类器的置信度是如何计算的。我试图阅读 SVC 中的文档,但我看不到 predict
函数评估每个分类器。换句话说,如果 class1 = 0.59,那么 0.59 是如何计算的?生成它的原始值是什么?样本到超平面的欧几里德距离?
最佳答案
这是通过 实现的普拉特缩放 (也称为普拉特校准)。
Platt Scaling 是一种算法,可将这些多个分类器的输出转换为类的概率分布。
它由以下给出:
其中 f(x) 是 SVM 输出,A 和 B 只是算法学习到的标量。
当然,Scikit-learn 可能会使用它的一个变体,但这是主要思想。
更多详情请引用original paper .
更新
根据您在下面的评论,f(x)
只是分类器分数,即决策函数输出,对于 SVC,它是:f(x) = θᵀg(x) + b
(权重乘以一些映射函数+一些偏差),其中f(x)
的输出从分类器中获得。
现在,来自每个分类器的那些分数被插入到 Platt Scaling 算法中,以根据上面给出的公式将它们转换为概率。
请注意,Platt Scaling 是通过交叉验证执行的,以避免由于参数选择 A
可能发生的过度拟合。和 B
在上面的 Platt 缩放公式中(因此它的计算成本可能更高)。另请注意,Scikit-learn 使用 libsvm为此,它是用 C 编写的。
关于python - SVM(一对多)中多类分类的置信度估计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64985698/
用例: 我有一个小数据集,每个类大约有 3-10 个样本。我正在使用 sklearn SVC 对具有 rbf 内核的那些进行分类。我需要预测的置信度以及预测的类别。我使用了 SVC 的 predict
我有这个 future 10 年回归样本。 date<-as.Date(c("2015-12-31", "2014-12-31", "2013-12-31", "2012-12-31")) value
我正在使用 Python NLTK 库中的 MaxEnt 分类器。对于我的数据集,我有许多可能的标签,并且正如预期的那样,MaxEnt 仅返回一个标签。我已经训练了我的数据集并获得了大约 80% 的准
我们如何在 Windows 中使用 tesseract 3.05 获得图像 OCR 后的置信度?我正在使用子进程命令从 python 调用 tesseract: retcode = subproces
我正在使用 trainsimplicit来自 ALS在 Spark 。 从文档页面:http://spark.apache.org/docs/latest/api/python/pyspark.mll
正在为 GNU Radio OOT 开发基于 Python 的 BER 置信度计算器。根据引用文献 1,置信度由以下公式计算 但是,引用文献2使用以下公式计算置信度: 第一个问题是关于两个公式的。他们
我是一名优秀的程序员,十分优秀!