- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
用例:
我有一个小数据集,每个类大约有 3-10 个样本。我正在使用 sklearn SVC 对具有 rbf 内核的那些进行分类。我需要预测的置信度以及预测的类别。我使用了 SVC 的 predict_proba 方法。我得到了奇怪的结果。我搜索了一下,发现它只对较大的数据集有意义。
在堆栈上找到这个问题 Scikit-learn predict_proba gives wrong answers .
问题的作者通过乘以数据集验证了这一点,从而复制了数据集。
我的问题:
1) 如果我将我的数据集乘以 100,每个样本 100 次,它会增加“predict_proba”的“正确性”。它会有什么副作用?过度拟合?
2) 有没有其他方法可以计算分类器的置信度?比如与超平面的距离?
3) 对于这个小样本量,SVM 是推荐的算法还是我应该选择其他算法?
最佳答案
首先:对于任何实际用途而言,您的数据集似乎都非常小。话虽如此,让我们看看我们能做些什么。
SVM 主要在高维设置中流行。目前尚不清楚这是否适用于您的项目。他们在少数(甚至单个)支持实例上构建平面,并且在神经网络的大型训练集的情况下通常表现不佳。先验地,它们可能不是您更糟糕的选择。
对数据进行过采样对于使用 SVM 的方法作用不大。 SVM 基于支持向量的概念,支持向量基本上是类的异常值,定义类中的内容和不类中的内容。过采样不会构建新的支持向量(我假设您已经在使用训练集作为测试集)。
在这种情况下,普通过采样也不会为您提供任何关于置信度的新信息,除了由不平衡过采样构造的伪影之外,因为实例将是精确的副本并且不会发生分布变化。您可以使用 SMOTE 找到一些信息。 (合成少数过采样技术)。您基本上会根据您拥有的实例生成合成实例。从理论上讲,这将为您提供新的实例,这些实例不会是您拥有的实例的精确副本,因此可能会有点脱离正常分类。注意:根据定义,所有这些示例都将位于样本空间中的原始示例之间。这并不意味着它们将位于您预测的 SVM 空间之间,可能学习效果并不真实。
最后,您可以使用到超平面的距离来估计置信度。请参阅:https://stats.stackexchange.com/questions/55072/svm-confidence-according-to-distance-from-hyperline
关于python - 如何计算小数据集的SVM分类概率(置信度)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41135512/
用例: 我有一个小数据集,每个类大约有 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使用以下公式计算置信度: 第一个问题是关于两个公式的。他们
我是一名优秀的程序员,十分优秀!