用例:
我有一个小数据集,每个班级中有大约3-10个样本。我正在使用sklearn svc 将 RBF 内核分类。I 需要预测的置信度以及预测类。我使用了 preadion_proba SVC的方法。我的结果很奇怪。我搜索了一些,发现仅对于较大的数据集才有意义。
在stack scikit-learn preadive_proba上找到了这个问题,给出了错误的答案。
该问题的作者通过乘以数据集来验证这一点,从而重复数据集。
我的问题:
1)如果我将数据集乘以100,每个样本100次,则会增加" preception_proba"的"正确性"。它将有什么副作用?过度拟合?
2)我还有其他方法可以计算分类器的信心吗?像距超平面的距离吗?
3)对于这个小样本量,SVM是建议的算法还是我应该选择其他内容?
首先:对于任何实际目的,您的数据集似乎很小。话虽如此,让我们看看我们能做什么。
SVM主要在高维设置中流行。目前尚不清楚这是否适用于您的项目。他们在少数几个(甚至是单一的)支持实例上建造飞机,并且在通过神经网的大型培训中,在情况下通常表现出色。先验他们可能不是您更糟糕的选择。
对数据进行过采样将对使用SVM的方法无济于事。SVM基于支持向量的概念,支持向量的概念基本上是定义班级中什么且没有定义什么的类的离群值。超采样将不会构建新的支持向量(我假设您已经将火车集用作测试集)。
在这种情况下,朴素的过采样也不会给您任何关于信心的新信息,除了通过不平衡的过度采样构建的人工,因为这些实例将是确切的副本,并且不会发生任何拖延更改。您也许可以通过使用SMOTE(合成少数民族过采样技术)找到一些信息。您基本上将基于拥有的实例生成合成实例。从理论上讲,这将为您提供新的实例,这不会是您拥有的实例的确切副本,因此可能会从正常的分类中脱颖而出。注意:根据定义,所有这些示例都将位于样本空间中的原始示例之间。这并不意味着它们会介于您预计的SVM空间之间,可能是学习效果并不是真的。
最后,您可以估计与超平面距离的信心。请参阅:https://stats.stackexchange.com/questions/55072/svm-confidence-according-to-distance-distance-from-hyperline