如何更加重视机器学习中的某些功能?

时间:2016-06-26 02:26:35

标签: machine-learning nlp scikit-learn deep-learning

如果使用类似scikit-learn的库,如何为SVM等分类器的输入中的某些特征赋予更多权重?这是人们做的事情还是我的问题的另一种解决方案?

2 个答案:

答案 0 :(得分:8)

首先 - 你可能不应该这样做。机器学习的整个概念是使用统计分析来分配最佳权重。你在干扰整个概念,因此你需要非常有力的证据证明这对于你正在尝试建模的过程至关重要,并且由于某种原因你的模型目前缺少它。

话虽如此 - 没有一般答案。这纯粹是模型特定的,其中一些将允许您加权特征 - 在随机森林中,您可以偏向分布,您从中分析您要感兴趣的特征分析;在SVM中,将给定的特征乘以常量应该足够了 - 还记得当你被告知在SVM中规范化你的特征时吗?这就是为什么 - 你可以使用功能的规模来引导'你的分类器对于给定的功能。具有高值的那些将被优先考虑。这实际上适用于任何权重范数正则化模型(正则化逻辑回归,岭回归,套索等)。

答案 1 :(得分:0)

最好的方法是: 假设你有 f[1,2,..N] 并且特定特征的权重是 w_f[0.12,0.14...N]。 首先,您需要通过任何特征缩放方法对特征进行归一化,然后还需要将特征 w_f 的权重归一化为 [0-1] 范围,然后将归一化的权重乘以 f[1,2,..N]具有新的转换功能。 请记住,您还需要在测试数据中进行转换。

现在您可以检查两种模型的性能:不引入特征和引入特征。