【发布时间】:2018-02-03 00:01:05
【问题描述】:
我正在使用scikitlearn 进行 svm 分类。
我需要一个分类器,当给定的测试项目与任何训练集项目都不匹配时,即当距离非常高时,它会返回默认值。这可能吗?
举例
假设我的训练集是
X= [[0.5,0.5,2],[4, 4,16],[16, 16,64]]
和标签
y=[0,1,2]
然后我开始训练
clf = svm.SVC()
clf.fit(X, y)
然后我运行预测
clf.predict([-100,-100,-200])
现在我们可以看到测试项目[-100,-100,-200] 离任何训练项目都太远了,在这种情况下,预测将产生[2] 也就是这个项目[16, 16,64],无论如何要进行它返回其他任何东西(不是来自训练集)?
【问题讨论】:
-
过于宽泛和非正式。但您可能会要求在 sklearn 中也提供异常值检测/一类 svm。
-
是的,实际上我只需要判断该项目是否可以与训练集项目之一匹配,我不关心这些值,所以例如我想得到 1匹配,-1 表示不匹配。
标签: python-3.x machine-learning scikit-learn svm prediction