• 中文文本分类(续)


    二. 中文文本分类技术和流程

      1. 预处理:去除文本的噪声信息,例如 HTML 标签,文本格式转换,检测句 子边界等等;

      2. 中文分词:使用中文分词器为文本分词,并去除停用词;

      3. 构建词向量空间:统计文本词频,生成文本的词向量空间;

      4. 权重策略--TF-IDF 方法:使用 TF-IDF 发现特征词,并抽取为反映文档主题 的特征;

      5. 分类器:使用算法训练分类器

        常用的文本分类方法有 kNN 最近邻算法,朴素贝叶斯算法和支持向量机算法。 这三类算法一般而言 kNN 最近邻算法的原理最简单,分类精度尚可,但是速度最慢;

       朴素贝叶斯对于短文本分类的效果最好,精度很高;支持向量机的优势是支持线性不 可分的情况,精度上取中。

      6. 评价分类结果:分类器的测试结果分析

        一般机器学习领域的算法评估有三个基本的指标:

          召回率:(Recall Rate,也叫查全率)是检索出的相关文档数和文档库中所有的相关文 档数的比率,衡量的是检索系统的查全率;

          召回率(Recall)=系统检索到的相关文件/系统所有相关的文件总数

          准确率(Precision,也称为精度):是检索出的相关文档数与检索出的文档总数的比率, 衡量的是检索系统的查准率。

          准确率(Precision) =系统检索到的相关文件/系统所有检索到的文件总数

      准确率和召回率是互相影响的,理想情况下肯定是做到两者都高,但是一 般情况下准确率高、召回率就低,召回率高、准确率就低。

        召回率与准确率的关系如下图:


       

        Fβ- Measure(又称为 F-Score): 是机器学习领域的常用的一个评价标准,计算公式 为:

                                  

        其中 β 是参数,P 是准确率(Precision),R 是召回率(Recall)。

        F1-Measure:

        当参数 β=1 时,就是最常见的 F1-Measure 了:

                                     


        

        文本分类项目的分类结果评估:     

    import numpyas np
    from sklearn import metrics
    
    # 定义分类精度函数:
    def metrics_result(actual,predict):
    print '精度:{0:.3f}'.format(metrics.precision_score(actual,predict)) print '召回:{0:0.3f}'.format(metrics.recall_score(actual,predict))
    print 'f1-score:{0:.3f}'.format(metrics.f1_score(actual,predict))
    
    metrics_result(test_set.label,predicted)

      下一篇将介绍朴素贝叶斯算法的基本原理和简单的 Python 实现。

      

      参考资料:

        《机器学习算法原理与编程实践》(郑捷 著)

  • 相关阅读:
    JavaSE基础(七)--Java流程控制语句之switch case 语句
    JavaSE基础(六)--Java流程控制语句之条件语句
    JavaSE基础(五)--Java运算符
    搭建seafile文档系统
    centos7 DHCP搭建双机热备 集群
    centos7安装DHCP后启动不了的问题解决方法
    思科ASA防火墙精华配置总结
    思科常用命令大全
    浅谈集线器、路由器、交换机、网关的作用与区别
    交换机端口镜像及其工作原理
  • 原文地址:https://www.cnblogs.com/taich-flute/p/6794686.html
Copyright © 2020-2023  润新知