2017-05-23 23 views
1

我正在尝试构建一个使用Microsoft ML包进行新颖性检测的单类SVM模型,并设法获得一些结果。使用测试数据进行预测的结果包含“Score”列,我不太确定这里的含义。当我在网上搜索时,没有一个很好的解释。Microsoft rxOneClassSVM的预测分数是什么意思?

作为机器学习的初学者,我猜测得分代表了某些数据点成为真正异常的可能性 - 因为得分越高,数据输入越可能是异常。如果我错了,请纠正我,我也想知道确定阈值的算法。我知道一些,比如GA,但是对如何选择合适的使用感到困惑。

谢谢!

回答

1

你说得对“分数越高 - 它是异常的可能性越大”。为了找到一个阈值,我使用rxLinePlot来绘制这样的图形:plotting scores in oneclasssvm

从上面的图中可以明显看出,阈值是大于0.1的任何值。这样的情节将有助于根据您的使用情况来确定阈值。这里是完整的R代码,如果你想在你的机器上生成这个图表:https://gist.github.com/ramnov/b08224b06c75d613688f0c8d61511d9b

+0

有没有一种方法来决定没有绘制图表的阈值? – ELI

+0

阈值是主观的..取决于数据..所以我不认为有一个标准的方式来决定阈值。绘制图表是我知道的一种方式。 –