用于文本分类的决策树和 SVM - 理论

数据挖掘 分类 决策树 文本挖掘 支持向量机
2022-02-14 11:33:00

我为我的文本数据使用了 4 个分类器:NB、kNN、DT 和 SVM。至于 NB 和 kNN,我完全理解它们是如何处理文本的——我们如何计算 NB 中所有单词的概率,以及如何在 kNN 中使用 TF-IDF 向量的相似性度量我完全不明白决策树和支持向量如何机器处理文本数据我在 Python 中实现了所有算法,所以我需要的只是一些资源或解释其他两个分类器如何处理文本......

我理解 DT 与非文本数据 - 例如节点检查某些数据是否大于/小于某个数字,它是合乎逻辑的。但是对于文字,我感到困惑。它是作用于文本还是数值向量?这同样适用于 SVM...

1个回答

与 NB 或 kNN 类似,DT 和 SVM 算法使用作为输入提供的特征。因此,无论何时将 ML 应用于文本,了解非结构化文本如何转换为结构化数据,即文本实例如何用特征表示,这一点很重要。

有很多选项,但传统上,文档被表示为整个词汇表上的向量。一个非常简单的版本是一个布尔向量:一个单元格vi如果单词包含 1wi出现在文档中,否则为 0。DT 训练将以通常的方式生成树,因此在这种情况下,节点处的条件将是v_i == 1,表示单词是否wi存在与否。如果向量中的值是 TFIDF 权重,则条件可能看起来像这样v_i > 3.5SVM 也是如此:算法将找到在多维空间中分离实例的最佳方法:每个维度实际上代表一个单词,但算法本身并不知道(也不关心)这一点。