先放GitHub代码,如果觉得写得不错,记得加个star哦,嘻嘻~
基本流程
1、准备好数据食材、去停用词并利用结巴(jieba)进行分词处理
数据食材选用参考:NLP中必不可少的语料资源
jieba分词模块参考官方文档啦~
# 参照代码中的cutWords.py文件
2、利用卡方检验特征选择
卡方检验:在构建每个类别的词向量后,对每一类的每一个单词进行其卡方统计值的计算。
1. 首先对卡方 检验所需的 a、b、c、d 进行计算。
a 为在这个分类下包含这个词的文档数量;
b 为不在该分类下包含这个词的文档数量;
c 为在这个分类下不包含这个词的文档数量;
d 为不在该分类下,且不包含这个词的文档数量。
2. 然后得到该类中该词的卡方统计值
公式为 float(pow((a*d - b*c), 2)) /float((a+c) * (a+b) * (b+d) * (c+d))。