当前位置:文档之家› 数据挖掘-基于贝叶斯算法及KNN算法

数据挖掘-基于贝叶斯算法及KNN算法

数据挖掘基于贝叶斯算法及算法的文档分类器的实现(上)

本分类器的完整工程可以到点击打开链接下载,详细说明的运行方法,用可以运行,学习数据挖掘的朋友可以跑一下,有问题可以联系我,欢迎交流:)

上文中描述了文档集的预处理及贝叶斯算法的实现,下面我们来看看如何实现基于算法的文本分类器

算法的描述

算法描述如下:

:文本向量化表示,由特征词的*值计算

:在新文本到达后,根据特征词确定新文本的向量

:在训练文本集中选出与新文本最相似的 个文本,相似度用向量夹角余弦度量,计算公式为:

其中, 值的确定目前没有很好的方法,一般采用先定一个初始值,然后根据实验测试的结果调整 值

本项目中取

:在新文本的 个邻居中,依次计算每类的权重,每类的权重等于个邻居中属于该类的训练样本与测试样本的相似度之和。

:比较类的权重,将文本分到权重最大的那个类别中。

文档计算及向量化表示

实现算法首先要实现文档的向量化表示

计算特征词的*,每个文档的向量由包含所有特征词的*值组成,每一维对应一个特征词

及的计算公式如下,分别为特征词的特征项频率和逆文档频率 文档向量计算类 如下

1. ;

2. ;

3. ;

4. ;

5. ;

6. ;

7. ;

8. ;

9. ;

10. ;

11. ;

12.

13. **计算文档的属性向量,将所有文档向量化

14. *

15. *

16. *

17. *

18. *

19. {

20.

21. **计算文档的属性向量,直接写成二维数组遍历形式即可,没必要递归

22. * 处理好的文件目录的绝对路径

23. * 训练样例集占每个类目的比例

24. * 测试样例集的起始的测试样例编号

25. * 属性词典

26. *

27. *

28. ( , , , <, > , <, > ) {

29. ();

30. ;

31. <> <>();

32. 注意可以用两个写文件,一个专门写测试样例,一个专门写训练样例,用的值来表示

相关主题