如何获得经过训练的 LDA 分类器的特征权重

Posted

技术标签:

【中文标题】如何获得经过训练的 LDA 分类器的特征权重【英文标题】:How to obtain feature weights of a trained LDA classifier 【发布时间】:2013-04-01 22:40:46 【问题描述】:

LDA 分类器将对象特征向量与特征权重向量相乘,然后使用固定阈值预测对象类别。或者w.x(o) > c,其中w为特征权重向量,x(o)为物体o的特征向量,c为阈值。

我想使用 scikit-learn 从经过训练的 LDA 分类器中获取特征权重 (w),我想知道是否有可用的函数?

查看代码,我看到两个属性,coef_ 和 scalings_,它们提到了特征权重。 coef_ 的描述,“线性决策函数中特征的系数”,似乎与我正在寻找的内容相对应,但我不确定这是否正确。如果这是我应该使用的属性,现在有人吗?

【问题讨论】:

【参考方案1】:

你说得对,coef_ 持有权重(也就是系数),但决策函数实际上比w.T * x 复杂一点,它是(从source code 转述):

X = np.dot(X - self.xbar_, self.scalings_)
return np.dot(X, self.coef_.T) + self.intercept_

所以在计算线性阈值函数之前,X 首先被居中并投影到一个较小的子空间(使用fit 中的奇异值分解计算)。

【讨论】:

以上是关于如何获得经过训练的 LDA 分类器的特征权重的主要内容,如果未能解决你的问题,请参考以下文章

使用来自 LDA 的主题建模信息作为特征,通过 SVM 执行文本分类

分类器的选择

从分类器中检索训练特征名称列表

如果我们在 SGD 分类器上使用校准后的 cv 作为线性核,如何获得特征权重

如何使用由经过训练的神经网络创建的权重矩阵在另一个文件中进行预测?

深度学习之图像分类ResNet50学习