我在Python中使用SVM进行多类分类时遇到了问题。实际上,这个问题是关于性别分类(从图像中),其中训练数据集只包含”y=1“或“y=-1“作为类别标签(二元)。但是,在预测时,我需要预测”1“表示男性,”-1“表示女性,以及如果分类器无法判断则返回”0″。我不知道如何添加这个”0″类。我应该使用什么?decision_function?
附注:得分的计算方式如下:得分公式
回答:
实现所需结果的最佳方法是使用概率。如果您使用Scikit-learn
,您可以在构造函数中添加参数probability=True
。这样您可以得到一个在[0,1]
之间的值。另一种方法是使用decision_function
,它为您提供到超平面的距离。对于支持向量来说,这应该是在-1
和1
之间。如果绝对值大于1
,则表示安全分类。您可以自行决定在哪里选择0。