文本分类 - 如何找到对决策影响最大的特征

Posted

技术标签:

【中文标题】文本分类 - 如何找到对决策影响最大的特征【英文标题】:Text Classification - how to find the features that most affected the decision 【发布时间】:2014-01-16 19:58:44 【问题描述】:

当使用SVMlightLIBSVM 将短语分类为正面或负面时(情绪分析),有没有办法确定哪些是影响算法决策的最有影响力的词?例如,发现单词"good" 有助于确定一个短语是积极的,等等。

【问题讨论】:

【参考方案1】:

如果您使用线性内核,那么可以 - 只需计算权重向量:

w = SUM_i y_i alpha_i sv_i

地点:

sv - 支持向量 alpha - 使用 SVMlight 找到的系数 y - 对应的班级(+1 或 -1)

(在某些实现中,alpha 已经乘以 y_i,因此它们是正/负)

一旦您拥有w,它的维度为1 x d,其中d 是您的数据维度(词袋中的词数/tfidf 表示)只需选择具有高绝对值的维度(无论是正数或否定)以找到最重要的特征(单词)。

如果您使用某些内核(如 RBF),那么答案是否定的,因为分类过程以完全不同的方式执行,所以没有直接的方法可以取出最重要的特征。

【讨论】:

【参考方案2】:

正如@lejlot 提到的,在 SVM 中使用线性核,其中一种特征排名策略是基于模型中权重的绝对值。另一种简单有效的策略是基于 F-score。它单独考虑每个特征,因此不能揭示特征之间的相互信息。您还可以通过删除该特征并观察分类性能来确定该特征的重要性。

您可以查看此article 了解有关功能排名的更多详细信息。

对于 SVM 中的其他内核,功能排名不是那么简单,但仍然是 feasible。您可以在核空间中构造一组正交基向量,并通过核浮雕计算权重。然后可以根据权重的绝对值进行隐式特征排序。最后将数据投影到学习的子空间中。

【讨论】:

以上是关于文本分类 - 如何找到对决策影响最大的特征的主要内容,如果未能解决你的问题,请参考以下文章

支持向量机

如何使用线性支持向量机 (SVM) 分类器确定最重要/信息量最大的特征

企业决策规范步骤

机器学习之决策树

文本分类的特征选择

如何将文本文档表示为特征向量进行文本分类?