python - SVC sklearn 的 gamma 默认值

标签 python machine-learning scikit-learn svm

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

equation .

我很难理解这一点。你能告诉我 gamma 的默认值是多少吗?例如,输入是 3 维向量(3,),例如[3,3,3] 并且输入向量的数量是 10.000?另外,有没有办法可以打印出来看看它的值(value)?

最佳答案

通过一个例子就很容易看出这一点。下面的数组 X 有两个特征(列)。数组的方差为 1.75。因此,默认 Gamma 值为 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

关于python - SVC sklearn 的 gamma 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59660939/

相关文章:

python - AppEngine - 何时使用父关系?

python - python中的加权计数

python - 使用Python(Beautifulsoup)拾取网页上的文本

machine-learning - 无标签数据与非结构化数据

python - 当我有数据框时如何使用 Scikit kmeans

python - 逆变换预测结果

python - 计算边界框的面积

machine-learning - 检查我的数据是否线性可分

python - 如何使用纬度和经度坐标进行分组?

python - sklearn 维度问题 "Found array with dim 3. Estimator expected <= 2"