【项目实战】Python基于KMeans算法进行文本聚类项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。
1.项目背景
随着计算机技术的发展、Web 应用的逐步普及,大量的电子文本已经触手可及,文本数据的增多引发了另一个问题:人们如何从规模庞大的文本数据中主动或被动地发现有用的信息。这是信息检索中的问题,也是深层次文本内容挖掘和分析中的问题。文本聚类分析是文本挖掘中一个方面的内容,主要应用于加速检索过程、对搜索引擎检索结果聚类呈现、话题的自动发现、文本摘要等。
文本聚类分析在信息检索(IR,Information Retrieval)领域有相当长的研究历史,近年来在文本数据上的聚类分析研究和应用越来越受到关注。文本聚类过程本质上就是将语义相同或者相近的文本聚在一起。
聚类与分类是人们认识自然、获取知识的两种手段。“物以类聚,人以群分”,人类往往依赖聚类和分类手段来认识客观世界并形成概念体系。比如自然界中的猴子就是一群具有长尾巴、会爬树等特征的生物,人们依据这些特征来识别和研究猴子,这是一个分类过程。但这些特征从何而来?这些特征往往是通过这些生物之间自身的相似性以及他们与其他事物之间的差异性得到的,这个过程就是一个聚类分析的过程。从众多的事物中自动地获取特征形成概念,其本质上就是一种聚类分析过程。
2.数据获取
本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:
数据详情如下(部分展示):
部分数据展示:
3.数据预处理
3.1.读取和查看数据
关键代码:
结果展示:
3.2.查看书名和内容
关键代码:
结果展示:
查看了第一本书的书名和内容的前10个词。
4.探索性数据分析
4.1.规范化语料库
关键代码如下:
结果输出如下:
5.特征工程
5.1.提取tf-idf特征
关键代码:
结果展示:
上图可以看到特征的形状以及特征名字索引信息。
6.构建聚类模型
主要使用KMeans聚类算法,用于目标聚类分析。
6.1.寻找聚类最优的K
使用手肘法寻找最优的K。
关键代码:
结果展示:
通过上图可以看到,10达到最小,但是有一个缺陷是在此文本数据中,使用手肘法寻找最优的K,效果没有非常明显。
6.2.建立KMeans聚类模型
关键代码如下:
6.3.获取每个聚类的数量
关键代码:
结果展示:
6.4.文本聚类结果
关键代码:
输出:
由上面的聚类我们大致可以看出,cluster 0侧重生活,cluster 1侧重文学,cluster 9侧重战争、生命等,达到了将相似内容聚集到一起的目标。
6.5.聚类结果可视化
关键代码:
结果展示:
7.结论与展望
综上所述,本项目采用KMeans聚类算法对文本数据进行聚类,最终把相似的文本聚在了一起,达到了文本聚类的目的,最终证明了我们提出的模型效果良好,可用于日常生活中进行建模预测,以提高生产价值。
本次机器学习项目实战所需的资料,项目资源如下:https://download.csdn.net/download/weixin_42163563/80679533https://download.csdn.net/download/weixin_42163563/80679533
【项目实战】Python基于KMeans算法进行文本聚类项目实战相关推荐
- K-means算法及文本聚类实践
K-Means是常用的聚类算法,与其他聚类算法相比,其时间复杂度低,聚类的效果也还不错,这里简单介绍一下k-means算法,下图是一个手写体数据集聚类的结果. 基本思想 k-means算法需要事先指定 ...
- 基于 K-means 算法实现的文本聚类(干货)
k-means算法又称k均值,顾名思义就是通过多次求均值而实现的聚类算法.是一种无监督的机器学习方法,即无需知道所要搜寻的目标,而是直接通过算法来得到数据的共同特征.其具体算法思想如下图所示: 1.首 ...
- 基于TextRank算法的文本摘要(附Python代码)
基于TextRank算法的文本摘要(附Python代码): https://www.jiqizhixin.com/articles/2018-12-28-18
- 基于Python实现k-means算法和混合高斯模型
1. 实验目的 实现一个 k-means 算法和混合高斯模型,并且用 EM 算法估计模型中的参数. 2. 实验要求 用高斯分布产生 k 个高斯分布的数据(不同均值和方差)(其中参数自己设定). 用 k ...
- ML之K-means:基于K-means算法利用电影数据集实现对top 100 电影进行文档分类
ML之K-means:基于K-means算法利用电影数据集实现对top 100 电影进行文档分类 目录 输出结果 实现代码 输出结果 先看文档分类后的结果,一共得到五类电影: 实现代码 # -*- c ...
- 【毕业设计_课程设计】基于 K-means 算法的校园微博热点话题发现系统(源码+论文)
文章目录 0 前言 1 项目说明 2 开发环境 3 系统架构 4 研究结果 5 论文目录 6 项目工程 0 前言 基于 K-means 算法的校园微博热点话题发现系统 提示:适合用于课程设计或毕业设计 ...
- 文档关键信息提取形成知识图谱:基于NLP算法提取文本内容的关键信息生成信息图谱教程及码源(含pyltp安装使用教程)
文档关键信息提取形成知识图谱:基于NLP算法提取文本内容的关键信息生成信息图谱(含pyltp安装使用教程) 1. 项目介绍 目标:输入一篇文档,将文档进行关键信息提取,进行结构化,并最终组织成图谱组织 ...
- kmeans算法实例及python代码-Python实现k-means算法
本文实例为大家分享了Python实现k-means算法的具体代码,供大家参考,具体内容如下 这也是周志华<机器学习>的习题9.4. 数据集是西瓜数据集4.0,如下 编号,密度,含糖率 1, ...
- 基于音乐/电影/图书的协同过滤推荐算法代码实现(基于用户推荐、基于项目推荐、基于SlopeOne算法推荐、基于SVD算法推荐、混合加权推荐)
基于音乐/电影/图书的协同过滤推荐算法代码实现(基于用户推荐.基于项目推荐.基于SlopeOne算法推荐.基于SVD算法推荐.加权混合推荐) 一.开发工具及使用技术 MyEclipse10.jdk1. ...
最新文章
- linux 下 将 shell script 与 一个桌面图标联系在一起 (2)
- pythonChallenge:第1关
- 计算机网络的寻址问题ARP协议(Mac地址 ip地址)
- 杭电1018 Big Number
- [html] 如何使用普通元素拥有像textarea元素一样缩放?
- mysql: 模糊查询 feild like keyword or feild like keyword , concat(feild1,feild2,feild3) like keyword...
- 机器学习-朴素贝叶斯分类
- 数据库笔记08:实现索引
- SpringCloudGateway(一) 概览
- 【iOS】Image图片属性之Render as Template Image
- PCL——PCD文件格式分析
- [转载] Go语言的自重写程序
- 傻瓜式c语言教程,app制作教程简单易学:傻瓜简单自建app,步骤如下
- RFID 工作频率的分类
- html+css基础教程入门篇之css选择器详细解读
- eclipse上配置JavaFX完整教程
- 判断对错:逻辑结构与数据元素本身的内容和形式无关
- Wechaty|不使用微信的web协议的机器人
- GitLab系列3 Unicorn
- 系统时不变性与因果性的判断总结
热门文章
- 设非零得实系数多项式 $f(x)$ (即系数都是实数得多项式)满足 $f(f(x)) = f^k(x)$,其中 $k$ 是给定得正整数。求多项式 $f(x)$
- 2022年高压电工模拟考试及高压电工作业模拟考试
- 中基鸿业工薪层如何理财
- 数组和 List 的转换
- jh锂电保护电路_干货 | 分享几款常用的保护电路
- 回溯法、分支限界法两种思想帮你轻松搞定旅行售货员问题(TSP)
- 白话机器学习-用白话的方式通俗易懂的学习机器学习算法
- 一首好诗后面的刻骨铭心的爱情故事
- r语言remarkdown展示图_解决R markdown 图片显示不完整
- word更改全文中英文字母和数字的字体格式