Python Scikits.learn 0.8 predict_Probability()仅输出统一概率

Python Scikits.learn 0.8 predict_Probability()仅输出统一概率,python,svm,scikits,scikit-learn,Python,Svm,Scikits,Scikit Learn,我正在使用nicepython软件包训练一些分类器,以便使用面向梯度特征的直方图进行基于部分的人脸识别。我已经成功地训练了一个线性支持向量机来识别特定的人脸部位,但是我在predict\u proba()函数方面遇到了奇怪的问题 我使用以下培训代码: import numpy as np from scikits.learn import svm # Do some stuff to prepare DATA matrix of feature vector samples # And

我正在使用nicepython软件包训练一些分类器,以便使用面向梯度特征的直方图进行基于部分的人脸识别。我已经成功地训练了一个线性支持向量机来识别特定的人脸部位,但是我在
predict\u proba()
函数方面遇到了奇怪的问题

我使用以下培训代码:

 import numpy as np
 from scikits.learn import svm

 # Do some stuff to prepare DATA matrix of feature vector samples
 # And LABELS vector of 1's and 0's for positive and negative samples.
 clf = svm.SVC(kernel='linear',probability=True)
 clf.fit(DATA, LABELS)
但是当我运行
predict\u proba([test\u vector])
时,我只看到
[[0.5 0.5]]
作为输出,即我的两个二进制类之间的统一概率

但奇怪的是,当我只使用
predict()
函数时,它的性能相当好,当然不能只是简单地为所有事物分配统一的概率。在测试图像上,我在正确的面部部位周围获得了更密集的“1”分类,然后在场景的其他地方获得了一些预期的嘈杂的“1”分类,但正如预期的那样,主要是所有“0”分类


使用scikit learn Git repo的
0.8
分支,我无法再现此错误,原因是什么。您是否考虑过升级到0.9?如果这不能修复错误,您可能需要。否则,请在此处发布一个会触发错误的最小数据集。是否可能对特征向量的数量有一些大小限制?当我只使用前5个特征向量和前5个标签来拟合分类器时,
predict\u proba()
似乎可以正常工作。但是,当我重复相同的代码但保留所有7206特性和7206标签时,输出分类器只会给出
[0.5 0.5]
作为概率向量。
SVC()
函数的
cache\u size
参数控制什么?经过更多检查后,似乎
预测了\u proba()
概率是通过交叉验证生成的。这跟这事有关系吗?RBF和线性核之间有什么不同?我无法使用scikit learn Git repo的
0.8
分支重现此错误。您是否考虑过升级到0.9?如果这不能修复错误,您可能需要。否则,请在此处发布一个会触发错误的最小数据集。是否可能对特征向量的数量有一些大小限制?当我只使用前5个特征向量和前5个标签来拟合分类器时,
predict\u proba()
似乎可以正常工作。但是,当我重复相同的代码但保留所有7206特性和7206标签时,输出分类器只会给出
[0.5 0.5]
作为概率向量。
SVC()
函数的
cache\u size
参数控制什么?经过更多检查后,似乎
预测了\u proba()
概率是通过交叉验证生成的。这跟这事有关系吗?RBF和线性核之间有什么不同?