文本分类中KNN算法

原创 2007年09月30日 15:46:00
文本分类中KNN算法,该方法的思路非常简单直观:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。

    KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。因此,采用这种方法可以较好地避免样本的不平衡问题。另外,由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说, KNN方法较其他方法更为适合。

    该方法的不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。另外还有一种Reverse KNN法,能降低KNN算法的计算复杂度,提高分类的效率。

    该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。

 

k近邻分类器具有良好的文本分类效果,对仿真实验结果的统计分析表明:作为文本分类器,k近邻仅次于支持向量机,明显优于线性最小二乘拟合、朴素贝叶斯和神经网络。

重点:

1:特征降维(一般用CHI方法)

2:截尾算法(三种截尾算法)

3:降低计算量 

相关文章推荐

KNN算法 文本分类器

  • 2010年09月24日 17:07
  • 1.83MB
  • 下载

菜鸟进阶: C++实现KNN文本分类算法

转载自:http://www.cnblogs.com/finallyliuyu/archive/2010/09/26/1836285.html 原始作者:finallyliuyu(转载请...

【python 编程】文本分类KNN算法实现及结果输出

KNN算法实现文本分类 ascii 系统 5 账号 2 密码 2 分辨率 2 用户名 1 用户 1 软件 1 苹果 1 密码技术 1 宽度 1 火狐 1 0、rd-doc—c...

数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(上)

(update 2012.12.28 关于本项目下载及运行的常见问题 FAQ见 newsgroup18828文本分类器、文本聚类器、关联分析频繁模式挖掘算法的Java实现工程下载及运行FAQ )本文主...
  • yangliuy
  • yangliuy
  • 2012年03月27日 23:06
  • 31507

数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(下)

本文接 数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文档分类器的JAVA实现(上)  (update 2012.12.28 关于本项目下载及运行的常见问题 FAQ见 newsg...

数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(下)

本文接 数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文档分类器的JAVA实现(上) (update 2012.12.28 关于本项目下载及运行的常见问题 FAQ见 newsgro...
  • yangliuy
  • yangliuy
  • 2012年03月27日 23:47
  • 17374

文本分类算法之--KNN算法的简介

1、KNN算法的简介 kNN算法就是找到k个最相似的样本,这些样本所在的类,就是当前文档的所属的类。如下图:绿色圆圈表示你想分类的文本,其他是已知类别的样本。图中其他形状和绿色圆圈的距离代表了相似度...

数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(上)

(update 2012.12.28 关于本项目下载及运行的常见问题 FAQ见 newsgroup18828文本分类器、文本聚类器、关联分析频繁模式挖掘算法的Java实现工程下载及运行FAQ ) ...

数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(上)

(update 2012.12.28 关于本项目下载及运行的常见问题 FAQ见 newsgroup18828文本分类器、文本聚类器、关联分析频繁模式挖掘算法的Java实现工程下载及运行FAQ ) ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文本分类中KNN算法
举报原因:
原因补充:

(最多只允许输入30个字)