如何使用SVM和KNN对文本文档进行分类

时间:2013-05-22 14:12:38

标签: svm knn document-classification text-classification

几乎所有的例子都基于数字。在文本文档中,我有单词而不是数字。

那么你能告诉我如何将这些算法用于文本文档分类的简单例子。

我不需要代码示例,只需要逻辑

伪代码会有很大帮助

3 个答案:

答案 0 :(得分:9)

常见的方法是使用一袋单词模型(http://en.wikipedia.org/wiki/Bag_of_words_model),其中分类器将学习文本中单词的存在,它很简单但效果却非常好。

此外,还有一个类似的问题:Prepare data for text classification using Scikit Learn SVM

答案 1 :(得分:3)

您将文档中出现的术语表示为向量中的权重,其中每个索引位置都是术语的“权重”。例如,如果我们假设一个文件“hello world”,并且我们将位置0与“hello”的重要性和位置1与世界的重要性相关联,我们将该重要性作为该术语出现的次数来衡量,该文档被视为d =(1,1)。

同时,只有“你好”的文件将是(1,0)。

这种表示可以基于任何衡量文件中术语的重要性的条件,即术语频率(由@Pedrom建议)最简单的选项。最常见但又很简单的技术是应用TF-IDF,它结合了术语在文档中的常见程度以及集合中的罕见程度。

我希望这有帮助,

答案 2 :(得分:0)

在单词模型中,您可以使用术语频率,并根据它们在新文档和培训文档中的出现来为它们分配权重。之后,您可以使用相似度函数来计算培训和测试文档之间的相似性。