将sklearn SVC与rbf内核一起移植到java

时间:2017-08-01 16:14:02

标签: python machine-learning scikit-learn classification svm

我使用sklearn在python中训练了一个rbf内核SVM,现在将它移植到java进行生产。

在阅读SVC documentation时,我遇到了决策函数:

enter image description here

这似乎表明我必须知道每个训练样本的权重才能评估SVC,但是SVC只通过dual_coef_属性公开支持向量的权重。

无论如何都可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您无需知道每个训练样本的重量。您只需要支持向量的权重。

原因是如果向量x_i不是支持向量,那么alpha_i=0(参见第5页here),以及y_i*alpha_i=0也是如此。因此,你永远不会在分类过程中使用这样的x_i(一旦你安装了svm)。

其余参数可通过svm属性访问,如documentation中所述:

  

可以通过成员dual_coef_访问此参数   持有产品y_i*alpha_isupport_vectors_   支持向量,intercept_包含独立词rho