文本分类之KNN

预处理:
解析文档,中科院分词ICTCLAS、过滤:去标点,去停用词HIT等
 
特征提取:
卡方、信息增益、交叉熵等,这里我们选用卡方(Chi-square test)

(Why? For this method is easy to implement and also very effective,It test the relevance between a term and a class,In other word ,it can test how clearly a term discriminates the class.)

实际上,对于一个特别的类,A+C和B+D是确定的,可以简化公式,去掉这两个因子。
计算训练集中特定类中所有词的卡方值,选取卡方值最大的N(maybe 1000?)个词,作为这个类的特征向量。
比如财经类:经济 能源 政策 货币 贸易 投资 回落 市场 ...
 
向量表示文档:
根据选取的特征,把文档用向量表示,向量中的值为词对应的权重,权重可以采用tf-idf值,tf-idf值计算有很多公式,最简单的是直接相乘,我们可以采用以下公式计算:

w为词t在文档d中所占的权重,得到各个训练集文档和测试集文档的向量表示:

采用KNN进行文本分类:

基本步骤:计算测试文档和每个训练文档的相似度,选取相似度最高的K个文档,采用多数表决的方法,得到测试文档的类别。

相似度计算可以采用欧式距离并采用[0,1]规范化,或者曼哈顿距离,这里我们采用cos方法

如何确定K的值?只能在试验中确定,选取产生最下误差率的K值!

KNN的效果在理想情况下一般仅次于SVM:

但KNN也有些缺点:

In fact, KNN has no train process, it’s not proper for real time application
Parameters are difficult to decide,maybe no better than simple Naive Bayesian Model
Sometimes, some text docs belong to several classes

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值