LinearSVC coef_ attirbute



我用Python中的sklearn库训练了一个LinearSVC模型。目标变量y有 4 个级别 (0,1,2,3 (。

model = LinearSVC()
X_train, X_test, y_train, y_test = tts(X, y, test_size = 0.25,
                                       random_state = 4)
model.fit(X_train, y_train)
model.coef_

我得到一个像这样的 NumPy ndarray:

array([[ -1.64280582,  -0.49711136,   0.        , ...,   0.        ,
         -0.50203059,   0.        ],
       [  0.        ,   0.        ,  -2.67396495, ...,   2.35298657,
          0.        ,   0.        ],
       [  1.11471827,   3.76220356,   0.        , ..., -11.09758616,
          0.        ,   0.        ],
       [  0.        ,  -2.7305259 ,   0.09663903, ...,   0.        ,
          0.        ,   0.        ]])

我需要知道哪个数组与每个目标变量级别匹配。我怎么知道呢?

首先,这是一个一对一的实现。

从文档中:

coef_ : 数组, 形状 = [n_features] 如果 n_classes == 2 其他 [n_classes, n_features] 分配给要素的权重(系数在 原始问题(。这仅在线性的情况下可用 内核。

coef_ raw_coef_是从 Liblinear的内部存储器布局。

在您的情况下,形状为 [n_classes, n_features]。

  • model.coef_[0,:]为您提供了类0 vs all的功能权重。

  • model.coef_[1,:]为您提供了类1 vs all的功能权重。

此数组与输入数据的顺序相同。数组从 [0] 开始,这对应于输入数据中的feature_1。此数组的结构将n_classes * n_features。

相关内容

  • 没有找到相关文章

最新更新