如何获得经过训练的 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 作为线性核,如何获得特征权重