scikit learn的多项式核函数和伽马值是什么?

4

我将使用带有多项式核的scikit SVC,格式如下:(1 + xTn.xm)^4。其中,xTn是转置后的xn值,意思是(一加上xTn.xm的乘积)的4次方。

当我查看scikit文档时,他们指定了SVC的参数:

    degree : int, optional (default=3)
 |      Degree of kernel function.
 |      It is significant only in 'poly' and 'sigmoid'.
 |  
 |  gamma : float, optional (default=0.0)
 |      Kernel coefficient for 'rbf' and 'poly'.
 |      If gamma is 0.0 then 1/n_features will be used instead.
 |  
 |  coef0 : float, optional (default=0.0)
 |      Independent term in kernel function.
 |      It is only significant in 'poly' and 'sigmoid'.

参数"degree"很重要,我应该使用4。 参数"coef0"也很关键,我应该使用值为1。这是正确的吗? 在“Poly”情况下gamma非常不清楚。我应该使用哪个值作为gamma?

1个回答

6
从libsvm文档中得知:(gamma * u'* v + coef0)^degree是SVC模型的基础(scikit-learn也是基于它来构建SVC模型)。欢迎提交拉取请求以改善文档:)

谢谢!在这种情况下,我应该使用gamma = 1,因为我不需要它。 - andreSmol
在用户指南中,已经展示了这个公式。请参见http://scikit-learn.org/dev/modules/svm.html#svm-kernels。我认为我们决定不将所有细节放在docstring中,而是在其中加入此注释:有关所提供的核函数的精确数学公式以及gammacoef0degree如何相互影响的详细信息,请参阅叙述性文档中的相应部分::ref:svm_kernels - Andreas Mueller
3
我认为这是一个错误。函数说明文档应该用最简洁的公式解释所有参数的含义。请注意,不要改变原意。 - ogrisel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接