如果使用Scikit-Learn之类的库,我该如何为SVM等分类器分配更多输入功能的权重?这是人们是否做的事情?
首先 - 您可能不应该这样做。机器学习的整个概念是使用统计分析分配最佳权重。您在这里干扰整个概念,因此您需要真正有力的证据表明,这对于您要建模的过程至关重要,并且出于某种原因,您的模型当前缺少它。
说 - 没有一般答案。这纯粹是特定于模型的,其中有些将使您能够权衡特征 - 在随机森林中,您可能会偏向分布,从中您对自己感兴趣的功能进行分析以分析特征;在SVM中,只能将功能乘以一个常数 - 还要记住您在SVM中被告知您的功能归一化吗?这就是为什么 - 您可以使用功能的比例来将分类器"转向"给定功能。具有较高价值的人将被预先限制。实际上,这将适用于大多数线性重量规范化的模型(正规逻辑回归,脊回归,套索等)。
最好的方法是:假设您有f [1,2,.. n],特定功能的重量为w_f [0.12,0.14 ... n]。首先,您需要通过任何功能缩放方法将功能归一化,然后还需要将功能的权重函数归一化,然后将w_f的权重到[0-1]范围,然后将归一化的重量乘以F [1,2,.. n]具有新的变换功能。请记住,您还需要在测试数据中进行转换。
现在您可以检查这两种模型的性能:不引入功能并引入功能。
如前所述,i 不会建议使用索引权重,因为这是ML的作业。但是,我认为的权重必须在原始数据源(数据库表,.txt等)中进行,并且始终以0到1的范围,即0.1,0.2。... 0.7 ...),肯定与相应特征(参数)的绝对相关。