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中的yield浅析
Jun 16 Python
python基础教程之序列详解
Aug 29 Python
Windows下PyMongo下载及安装教程
Apr 27 Python
在Python的Django框架中包装视图函数
Jul 20 Python
详解python 注释、变量、类型
Aug 10 Python
通过cmd进入python的实例操作
Jun 26 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
Python tkinter三种布局实例详解
Jan 06 Python
Spring http服务远程调用实现过程解析
Jun 11 Python
Python数据可视化实现多种图例代码详解
Jul 14 Python
解决使用Pandas 读取超过65536行的Excel文件问题
Nov 10 Python
pytorch 如何使用amp进行混合精度训练
May 24 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测试成功的邮件发送案例
2015/10/26 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
用js重建星际争霸
2006/12/22 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
2014/06/05 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
详解vue项目首页加载速度优化
2017/10/18 Javascript
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
js实现无缝轮播图
2020/03/09 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
详解Python中heapq模块的用法
2016/06/28 Python
python merge、concat合并数据集的实例讲解
2018/04/12 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
日本食品网上商店:JaponShop.com
2017/11/28 全球购物
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
会计专业推荐信
2013/10/29 职场文书
个人自荐书范文
2015/03/09 职场文书
付款证明格式范文
2015/06/19 职场文书
货款欠条范本
2015/07/03 职场文书
2015国庆节宣传语
2015/07/14 职场文书
小学毕业感言200字
2015/07/30 职场文书
mysql timestamp比较查询遇到的坑及解决
2021/11/27 MySQL
Nginx 常用配置
2022/05/15 Servers