Python如何使用k-means方法将列表中相似的句子归类


Posted in Python onAugust 08, 2019

前言

由于今年暑假在学习一些自然语言处理的东西,发现网上对k-means的讲解不是很清楚,网上大多数代码只是将聚类结果以图片的形式呈现,而不是将聚类的结果表示出来,于是我将老师给的代码和网上的代码结合了一下,由于网上有许多关于k-means算法基础知识的讲解,因此我在这里就不多讲解了,想了解详细内容的,大家可以自行百度,在这里我只把我的代码给大家展示一下。

k-means方法的缺点是k值需要自己找,大家可以多换换k值,看看结果会有什么不同

代码

# coding: utf-8
import sys
import math
import re
import docx
from sklearn.cluster import AffinityPropagation
import nltk
from nltk.corpus import wordnet as wn
from nltk.collocations import *
import numpy as np
reload(sys)
sys.setdefaultencoding('utf8')
from sklearn.feature_extraction.text import CountVectorizer
#要聚类的数据
corpus = [
 'This is the first document.',#0
 'This is the second second document.',#1
 'And the third one.',#2
 'Is this the first document?',#3
 'I like reading',#4
 'do you like reading?',#5
 'how funny you are! ',#6
 'he is a good guy',#7
 'she is a beautiful girl',#8
 'who am i',#9
 'i like writing',#10
 'And the first one',#11
 'do you play basketball',#12
]
#将文本中的词语转换为词频矩阵
vectorizer = CountVectorizer()
#计算个词语出现的次数
X = vectorizer.fit_transform(corpus)#获取词袋中所有文本关键词
word = vectorizer.get_feature_names()
#类调用
transformer = TfidfTransformer()
#将词频矩阵X统计成TF-IDF值
tfidf = transformer.fit_transform(X)
#查看数据结构 tfidf[i][j]表示i类文本中的tf-idf权重
weight = tfidf.toarray()
# print weight
# kmeans聚类
from sklearn.cluster import KMeans
# print data
kmeans = KMeans(n_clusters=5, random_state=0).fit(weight)#k值可以自己设置,不一定是五类
# print kmeans
centroid_list = kmeans.cluster_centers_
labels = kmeans.labels_
n_clusters_ = len(centroid_list)
# print "cluster centroids:",centroid_list
print labels
max_centroid = 0
max_cluster_id = 0
cluster_menmbers_list = []
for i in range(0, n_clusters_):
 menmbers_list = []
 for j in range(0, len(labels)):
  if labels[j] == i:
   menmbers_list.append(j)
 cluster_menmbers_list.append(menmbers_list)
# print cluster_menmbers_list

#聚类结果
for i in range(0,len(cluster_menmbers_list)):
 print '第' + str(i) + '类' + '---------------------'
 for j in range(0,len(cluster_menmbers_list[i])):
  a = cluster_menmbers_list[i][j]
  print corpus[a]

运行结果:

Python如何使用k-means方法将列表中相似的句子归类

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈python新手中常见的疑惑及解答
Jun 14 Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
Python 带有参数的装饰器实例代码详解
Dec 06 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
Python爬取知乎图片代码实现解析
Sep 17 Python
Python命令行参数定义及需要注意的地方
Nov 30 Python
Python合并多张图片成PDF
Jun 09 Python
python实现简单聊天功能
Jul 07 Python
Python序列化模块JSON与Pickle
Jun 05 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
Aug 08 #Python
python批量修改ssh密码的实现
Aug 08 #Python
更新pip3与pyttsx3文字语音转换的实现方法
Aug 08 #Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 #Python
python按行读取文件并找出其中指定字符串
Aug 08 #Python
python实现PID算法及测试的例子
Aug 08 #Python
python开头的coding设置方法
Aug 08 #Python
You might like
php 字符串函数收集
2010/03/29 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
php curl选项列表(超详细)
2013/07/01 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
phpinfo的知识点总结
2019/10/10 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
2016/08/01 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
smartupload实现文件上传时获取表单数据(推荐)
2016/12/12 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
vue 子组件和父组件传值的示例
2020/09/11 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
Python正则简单实例分析
2017/03/21 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
英国第一的市场和亚马逊替代品:OnBuy
2019/03/16 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
有针对性的求职自荐信
2013/11/14 职场文书
行政主管职责范本
2014/03/07 职场文书
关于环保的建议书400字
2014/03/12 职场文书
品牌推广活动策划方案
2014/08/19 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
护士实习自荐信
2015/03/06 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
2015年计划生育责任书
2015/05/08 职场文书
情人节单身感言
2015/08/03 职场文书
学风建设主题班会
2015/08/17 职场文书