我正在处理文本分类问题(情绪分析)。我想知道scikit中是否有任何选项 - 学习为特征添加“权重”(作为重要性的度量)。我检查了文档并找到了the attribute "coefs" of SVC,定义如下:
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_
但是,此属性似乎是只读的。
答案 0 :(得分:5)
coef_
向量是机器学习算法学习参数的视图。手动设置它们是没有意义的,因为它们可以从数据中自动进行最佳调整。你可以做的是:
如果您事先了解某些课程比其他课程更重要,请设置class_weight
设置sample_weight,如果您事先了解某些样本(数据集中的行)比其他样本更重要
重新缩放功能以使某些功能具有更多的差异,例如,如果您使用RBF内核并且希望使某些功能比其他功能更重要(通常最好将所有功能扩展到单位方差)< / p>
如果您使用内核并希望以这种方式编码特殊的先验知识,请使用自定义预先计算的内核。
对于文本分类,数据很暗,内核通常只是浪费资源而很少或没有增加预测准确性,因此最后两点可能与您的具体问题无关。