说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。
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://pan.baidu.com/s/13r3-mTcCRBfwWRtbpnFUpw
提取码:s2wn网盘如果失效,可以添加博主微信:zy10178083