相关文章推荐
迷茫的煎鸡蛋  ·  如何识别语音 - 语音服务 - Azure ...·  3 月前    · 
礼貌的哑铃  ·  基于KNN的文本分类实战_knn算法训练文本 ...·  3 周前    · 
飞奔的松树  ·  文本分类算法的效果[通俗易懂]开发者社区·  3 周前    · 
千年单身的夕阳  ·  WPF 修改屏幕亮度-腾讯云开发者社区-腾讯云·  1 年前    · 
卖萌的沙发  ·  Java应用在docker环境配置容器健康检 ...·  2 年前    · 
不羁的小刀  ·  深入理解Node.js ...·  2 年前    · 
好帅的野马  ·  Python | ...·  2 年前    · 
Code  ›  文本分类算法的效果[通俗易懂]开发者社区
文本分析 文本分类 决策树 自然语言处理
https://cloud.tencent.com/developer/article/2096022
飞奔的松树
3 周前
全栈程序员站长

文本分类算法的效果[通俗易懂]

腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
发布
全栈程序员站长
社区首页 > 专栏 > 文本分类算法的效果[通俗易懂]

文本分类算法的效果[通俗易懂]

作者头像
全栈程序员站长
发布 于 2022-09-06 13:10:58
发布 于 2022-09-06 13:10:58
803 0
举报
文章被收录于专栏: 全栈程序员必看 全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

基于统计的分类算法是主流,主要包括以下几种分类模型:

  • 相似度模型(Rocchio、K-近邻)、
  • 概率模型(贝叶斯)、
  • 线性模型(LLSF、SVM)、
  • 非线性模型(决策树、神经网络)、
  • 组合模型。对于这些分类算法,

国内外很多研究者进行了客观评测(Yang,1999;Joachims,1998;He,2000;Tsay,2000;庞剑锋,2001;王灏,2003;李保利,2003;周雪忠,2003)。


分类算法效果评述

来源: 《基于关键短语的文本分类研究》

很多实验证明无论分类算法如何改进,分类效果总难以提高,而且众多分类算法在训练集充分的情况下,几乎没有什么区别。

在周雪忠的实验中,统计数据表明词频特征表示的TFIDF/Rocchio的分类准确率在测试集相对充分时高于SVM,在特征表示和分类器相结合的实验中,TFIDF/Rocchio(W)取得了最好的效果,最后他得出结论,采用相对高维的特征表示(如词)和简单的分类方法(如TFIDF/Rocchio)即可达到理想的分类性能要求。

另外,Yiming Yang和Xin Liu(1999)对五种文本分类方法进行了受限的统计显著性测试研究:支持向量机(SVM)、k-近邻(KNN),神经网络(NNet)、线性最小平方拟合(LLSF)映射和朴素贝叶斯(NB)。结果表明当训练集平均,每个类中的正例数目较少时(少于10),SVM、 KNN和LLSF比NNet、NB显然要好,而当处理大分类(超过300个正例样本)时所有的分类方法性能相当。

这些都证明在算法改进提高分类效果的基础上,文本分类效果的进一步提高已经不能单纯依靠算法了。


文本分类算法的进一步说明

来源: 《简单的分类模型》

基于TFIDF的Rocchio算法

Rocchio的发音是”Rockey-O”。

Rocchio算法来源于向量空间模型理论,向量空间模型Vector space model的基本思想为采用向量来表示一个文本,之后的处理过程就可以转化为空间中向量的运算。基于TFIDF的Rocchio是这种思想的一种实现方法,其中以一个N维向量来表示文本,向量维数N即特征数,向量分量是特征的某种权重,表示该权值的计算方法称为TFIDF方法。通过TFIDF方法,首先将训练集中的文本表示为向量,然后生成 类别特征向量 ,即可以用来代表一个类别的向量,类别特征向量取值为该类中所有文本向量的平均值。

Rocchio算法训练的过程,其实就是建立类别特征向量的过程,分类的时候给定一个未知文本,先生成该文本的向量,然后计算该向量与各类别特征向量的相似度,最后将该文本分到与其最相似的类别中去。

向量的相似度度量方法有两种:欧几里德距离和cosin。

总体来看,Rocchio算法简单易行运行速度尤其是分类速度较快。

朴素贝叶斯

贝叶斯分类是一种统计学分类方法,它基于贝叶斯定理,可以用来预测类成员关系的可能性,给出文本属于某特定类别的概率,分类时根据预测结果将该样本分到概率最高的类别中去即可。

朴素贝叶斯分类模型训练的过程其实就是统计每一个特征在各类中出现规律的过程,从理论上,讲贝叶斯分类的出错率最小,就试验结果来看,朴素贝叶斯在大型的数据集上表现出来难得的速度和准确度。

决策树Decision Tree

决策树是一个类似于流程图的树结构,其中每个节点代表一个属性上的测试,每个分支代表一个测试输出,最后的叶结点代表类别。决策树方便改写为形如if- then的分类规则,易于理解。

决策树的核心算法是一种贪心算法,它以自顶向下的方式在训练集的基础上构造决策树之后,取未知文本的属性,在决策树上测试路径由根结点到叶结点,从而得到该文本的所属类别。

决策树的算法有C4.5(发展于ID3)CART,CHAID等,他们的区别在于构造决策树与树枝剪除的算法细节不同。

决策树可以很好的抵抗噪声,最大的缺点在于不适应大规模的数据集,此种情况下决策树的构造会变得效率低下。

K近邻分类K-nearest neighbor

KNN的思想也来源于向量空间模型,同样采用将文本转化为向量的思想。KNN是一种基于 类比 的分类方法,在训练的过程中,KNN会生成所有训练例的特征向量,并将其保存下来。给定一个未知文本,首先生成它的特征向量之后,KNN会搜索所有的训练例,通过向量相似度比较,从中找出K个最接近的训练例,然后将未知文本分到这K个近邻中最普遍的类别中去,相似度可以通过欧几里德距离或cosin来度量

KNN是一种懒散的方法,即它没有学习过程,只是存放所有的训练例直到接到未知文本的时候才建立分类。

KNN的训练过程较快,而且可以随时添加或更新训练例来调整。但它分类的开销会很大,因为需要很大的空间来保存训练例,而且分类效率很差,有看法认为在小数据集上KNN的表现优异。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/136390.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划 ,分享自作者个人站点/博客。
原始发表:2022年6月3, 如有侵权请联系 cloudcommunity@tencent.com 删除
分类算法
编程算法
决策树
机器学习
神经网络

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!

分类算法
编程算法
决策树
机器学习
神经网络
评论
登录 后参与评论
0 条评论
热度
最新
登录 后参与评论
推荐阅读
目录
  • 分类算法效果评述
  • 文本分类算法的进一步说明
    • 基于TFIDF的Rocchio算法
    • 朴素贝叶斯
    • 决策树Decision Tree
    • K近邻分类K-nearest neighbor
领券
  • 社区

    • 技术文章
    • 技术问答
    • 技术沙龙
    • 技术视频
    • 学习中心
    • 技术百科
    • 技术专区
  • 活动

    • 自媒体同步曝光计划
    • 邀请作者入驻
    • 自荐上首页
    • 技术竞赛
  • 圈层

    • 腾讯云最具价值专家
    • 腾讯云架构师技术同盟
    • 腾讯云创作之星
    • 腾讯云TDP
  • 关于

    • 社区规范
    • 免责声明
    • 联系我们
    • 友情链接
    • MCP广场开源版权声明

腾讯云开发者

扫码关注腾讯云开发者

扫码关注腾讯云开发者

领取腾讯云代金券

热门产品

  • 域名注册
  • 云服务器
  • 区块链服务
  • 消息队列
  • 网络加速
  • 云数据库
  • 域名解析
  • 云存储
  • 视频直播

热门推荐

  • 人脸识别
  • 腾讯会议
  • 企业云
  • CDN加速
  • 视频通话
  • 图像分析
  • MySQL 数据库
  • SSL 证书
  • 语音识别

更多推荐

  • 数据安全
  • 负载均衡
  • 短信
  • 文字识别
  • 云点播
  • 大数据
  • 小程序开发
  • 网站监控
  • 数据迁移

Copyright © 2013 - 2026 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有

深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 粤公网安备44030502008569号

腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号

问题归档 专栏文章 快讯文章归档 关键词归档 开发者手册归档 开发者手册 Section 归档

Copyright © 2013 - 2026 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

登录 后参与评论
 
推荐文章
迷茫的煎鸡蛋  ·  如何识别语音 - 语音服务 - Azure AI services | Microsoft Learn
3 月前
礼貌的哑铃  ·  基于KNN的文本分类实战_knn算法训练文本向量集完成分类模型训练
3 周前
飞奔的松树  ·  文本分类算法的效果[通俗易懂]开发者社区
3 周前
千年单身的夕阳  ·  WPF 修改屏幕亮度-腾讯云开发者社区-腾讯云
1 年前
卖萌的沙发  ·  Java应用在docker环境配置容器健康检查-阿里云开发者社区
2 年前
不羁的小刀  ·  深入理解Node.js 进程与线程(8000长文彻底搞懂)-腾讯云开发者社区-腾讯云
2 年前
好帅的野马  ·  Python | 多源异构数据文件如何批量导入审计数据库 - 墨天轮
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号