伽玛SVC sklearn

时间:2020-01-09 09:33:38

标签: python machine-learning scikit-learn svm

我正在使用sklearn.svm中的SVC在python中进行二进制分类。对于gamma参数,它表示默认值为

equation

我很难理解这一点。您能告诉我gamma的默认值是什么吗,例如,输入是3维(3,)的向量,例如[3,3,3]和输入向量的数量是10.000?另外,有什么方法可以打印出来以查看其值?

1 个答案:

答案 0 :(得分:2)

通过一个示例很容易看到。下面的数组X具有两个特征(列)。数组的方差为1.75。因此,默认伽玛为1 /(2 * 1.75)= 0.2857。您可以通过检查分类器的._gamma属性来验证这一点。

import numpy as np
from sklearn.svm import SVC

X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
y = np.array([1, 1, 2, 2])

clf = SVC(gamma='scale')
clf.fit(X, y)

n_features = X.shape[1]
gamma = 1 / (n_features * X.var())

clf._gamma

输出: X

Out[24]: 
array([[-1, -1],
       [-2, -1],
       [ 1,  1],
       [ 2,  1]])

n_features
Out[25]: 2

X.var()
Out[26]: 1.75

gamma
Out[27]: 0.2857142857142857

clf._gamma
Out[28]: 0.2857142857142857