2

我正在处理文本分类问题(情感分析)。我想知道 scikit-learn 中是否有任何选项可以为特征添加“权重”(作为重要性的衡量标准)。我检查了文档,发现SVC 的属性“coefs”,定义如下:

    coef_   array, shape = [n_class-1, n_features]  
    Weights asigned to the features (coefficients in the primal problem). 
   This is only available in the case of linear kernel.coef_ is readonly property derived from dual_coef_ and support_vectors_ 

但是,此属性似乎是只读的。

4

1 回答 1

5

coef_向量是机器学习算法学习到的参数的视图。手动设置它们没有意义,因为它们会自动根据数据进行优化调整。你可以做的是:

  • 如果您事先知道某些类比其他类更重要,请设置 class_weight

  • 如果您对某些样本(数据集中的行)比其他样本更重要,请设置 sample_weight

  • 重新调整特征以使某些特征比其他特征具有更大的方差,例如,如果您使用 RBF 内核并希望使某些特征比其他特征更重要(通常最好将所有特征缩放为单位方差)

  • 如果您使用内核并希望以这种方式编码特殊的先验知识,请使用自定义的预计算内核。

对于文本分类,数据非常暗淡,内核通常只是浪费资源而几乎没有增加预测准确性,因此最后两点可能与您的特定问题无关。

于 2012-06-18T09:32:06.940 回答