首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算小数据集SVM分类的概率(置信度)?

如何计算小数据集SVM分类的概率(置信度)?
EN

Stack Overflow用户
提问于 2016-12-14 05:33:28
回答 1查看 1.3K关注 0票数 5

用例

我有一个小数据集,每个类大约有3-10个样本。我使用sklearn SVC对那些带有径向基函数内核的人进行分类。I需要与预测类一起预测的可信度。我使用了SVC的predict_proba方法。我得到了奇怪的结果。我搜索了一下,发现它只对较大的数据集有意义。

在堆栈proba给出了错误的答案上找到了这个问题。

问题的作者通过乘以数据集来验证这一点,从而复制了数据集。

我的问题:

1)如果我把数据集乘以100,假设每个样本有100次,就会提高"predict_proba“的”正确性“。会有什么副作用?不合身?

2)还有其他方法可以计算分类器的置信度吗?就像离超平面的距离一样?

3)对于这个小样本,支持向量机是一种推荐的算法,还是我应该选择其他的方法?

EN

回答 1

Stack Overflow用户

发布于 2016-12-28 15:07:13

首先,对于任何实际目的,您的数据集看起来都非常小。话虽如此,让我们看看我们能做些什么。

支持向量机主要用于高维环境。目前还不清楚这是否适用于您的项目。他们在少数几个(甚至是单个)支持实例上构建飞机,并且在拥有神经网络的大型训练集的情况下,它们的性能通常要好一些。当然,他们可能不是你最糟糕的选择。

过高采样数据对使用支持向量机的方法没有多大帮助。支持向量机是基于支持向量的概念,支持向量基本上是类的异常值,定义了类中的和不存在的。过采样不会构造新的支持向量(我假设您已经使用了训练集作为测试集)。

在这种情况下,纯抽样也不会给您提供任何关于信任的新信息,除了由不平衡过采样构建的工件之外,因为实例将是精确的副本,不会发生任何散布更改。您可以使用击打 (合成少数群体过度抽样技术)找到一些信息。基本上,您将根据您所拥有的实例生成合成实例。从理论上讲,这将为您提供新的实例,这将不是您所拥有的实例的确切副本,而且可能会稍微偏离正常的分类。注意:根据定义,所有这些示例都位于示例空间中的原始示例之间。这并不意味着它们将位于你预测的支持向量机空间之间,可能是学习效果并不真实。

最后,你可以用离超平面的距离来估计可信度。请参阅:https://stats.stackexchange.com/questions/55072/svm-confidence-according-to-distance-from-hyperline

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41135512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档