在文本分类中使用特征选择方法 PlatoBlockchain 数据智能。垂直搜索。人工智能。

在文本分类中使用特征选择方法

在文本分类中,特征选择是选择训练集术语的特定子集并仅在分类算法中使用它们的过程。 特征选择过程在训练分类器之前进行。

更新:Datumbox机器学习框架现在是开源的,免费提供给 下载。 请查看com.datumbox.framework.machinelearning.featureselection包,以了解Java中卡方和互信息特征选择方法的实现。

使用特征选择算法的主要优点是它减少了数据的维数,使训练更快,并且可以通过去除噪声特征来提高准确性。 因此,特征选择可以帮助我们避免过度拟合。

下面介绍了选择k个最佳特征的基本选择算法(Manning等人,2008年):

在文本分类中使用特征选择方法 PlatoBlockchain 数据智能。垂直搜索。人工智能。

在下一部分中,我们介绍两种不同的特征选择算法:互信息和卡方。

相互信息

最常见的特征选择方法之一是类别c中的术语t的互信息(Manning等人,2008年)。 这可以衡量存在或不存在特定术语的多少信息有助于对c做出正确的分类决策。 相互信息可以使用以下公式计算:

在文本分类中使用特征选择方法 PlatoBlockchain 数据智能。垂直搜索。人工智能。[1]

在我们的计算中,由于我们使用了概率的最大似然估计,因此可以使用以下方程式:

在文本分类中使用特征选择方法 PlatoBlockchain 数据智能。垂直搜索。人工智能。[2]

其中N是文件总数Ntc是具有值e的文档计数t (文档中术语t的出现;取值为1或0)和ec(出现在c类文档中;它的取值为1或0)由两个下标表示, 在文本分类中使用特征选择方法 PlatoBlockchain 数据智能。垂直搜索。人工智能。在文本分类中使用特征选择方法 PlatoBlockchain 数据智能。垂直搜索。人工智能。。 最后,我们必须注意,所有上述变量均为非负值。

志广场

另一种常见的特征选择方法是 志广场。 x2 测试除其他外,还用于统计数据中以测试两个事件的独立性。 更具体地说,在特征选择中,我们使用它来测试特定术语的出现和特定类别的出现是否独立。 因此,我们估计每个术语的以下数量,并根据它们的得分对其进行排名:

在文本分类中使用特征选择方法 PlatoBlockchain 数据智能。垂直搜索。人工智能。[3]

在x上获得高分2 表示原假设(H0)独立性应被拒绝,因此该术语和类的出现是依赖的。 如果它们是相关的,则我们选择用于文本分类的功能。

上面的公式可以重写为:

在文本分类中使用特征选择方法 PlatoBlockchain 数据智能。垂直搜索。人工智能。[4]

如果使用卡方方法,则应仅选择预定义数量的具有轴的特征2 测试分数大于10.83,表明在0.001水平具有统计学意义。

最后但并非最不重要的一点是,我们应该注意到,从统计角度来看,由于一个自由度和 耶茨校正 而是应使用(这将更难以达到统计意义)。 因此,我们应该期望在全部选定功能中,只有一小部分与类无关。 因此,我们应该期望在全部选定功能中,只有一小部分与类无关。 然而作为 曼宁(Manning)等人(2008) 如图所示,这些嘈杂的功能不会严重影响分类器的整体准确性。

删除嘈杂/稀有特征

可以帮助我们避免过度拟合,减少内存消耗并提高速度的另一种技术是从词汇表中删除所有稀有术语。 例如,可以消除所有类别中仅出现一次的所有术语。 删除这些术语可以显着减少内存使用量,并提高分析速度。 最后,我们不应该将此技术与上面的特征选择算法结合使用。

你喜欢这篇文章吗? 请花一点时间在Twitter上分享。 🙂

时间戳记:

更多来自 基准框