最简单的特征选择算法

7

我试图创建一个自己的简单功能选择算法。我要处理的数据集在这里(非常著名的数据集)。有人可以指导我如何做吗?

我计划编写一个文本分类的特征排名算法,用于情感分析电影评论,将它们分类为正面或负面。

所以我的问题是如何针对文本数据集编写一个简单的特征选择算法。


那是一个大主题。你有什么具体的困难,还是需要一些开始的想法? - Jim Mischel
我只想消除那些会干扰分类的特征。但是我该如何系统地选择这些类型的单词呢?什么是最适合给我最佳准确性的特征数量和哪些单词...我想这就是我希望算法的最终结果。 - aherlambang
5个回答

3
特征选择方法是一个大的话题。您可以从以下内容开始:
  1. 卡方检验

  2. 互信息

  3. 词频

等等。如果您有时间,请阅读这篇论文:文本分类中特征选择的比较研究,这会对您有很大帮助。

实际实现取决于如何预处理数据。基本上是保留计数,无论是哈希表还是数据库。


在所有这些中,术语频率似乎是最弱的,对吧? - aherlambang
不,你想要删除一个嘈杂的术语。假设一个术语只出现一次,那么很可能它是噪声(可能是拼写错误的名称)。在你能够决定之前,你需要运行几个测试。 - Xolve
一些测试,例如?移除频率排名最低的术语,然后测试准确性并继续进行,直到频率下降? - aherlambang
最佳答案取决于您拥有的数据集。您所提到的示例测试可能是其中之一。 - Xolve

2
随机特征在构建集成模型时表现良好,这被称为特征装袋。

0

这里有一个选项:使用点互信息。您的特征将是标记,信息应根据情感标签进行测量。在处理此类任务时,请注意常用词(停用词),因为它们实际上可能会有用。


0

我目前使用的方法是:

计算每个类别数据的平均值和方差。一个好的特征候选应该具有小的方差,并且平均值应该与其他类别的平均值不同。

目前只有不到50个特征,我手动选择它们。为了自动化这个过程,可以计算所有类别平均值的方差,并将更高的优先级赋予那些方差较大的特征。然后,首先选择那些在一个类别内方差较小的特征。

当然,这并不能消除冗余特征。


0

特征选择方法分为四组:

  • 过滤:使用统计量进行特征选择
  • 包装:与学习算法相结合
  • 嵌入:同时使用过滤和包装
  • 混合:使用过滤或包装添加不同的步骤

特征选择最简单的方法是过滤方法,相对于其他方法非常快。

以下是其中一些过滤方法:

  1. 卡方检验
  2. 交叉熵
  3. 模糊熵测度
  4. 基尼指数
  5. 信息增益
  6. 互信息
  7. 相对判别标准
  8. 术语强度

在这里我也用了混合方法来进行文本分类的特征选择。查看我的文章


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接