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 相关文章推荐
wxPython 入门教程
Oct 07 Python
python的Template使用指南
Sep 11 Python
分析在Python中何种情况下需要使用断言
Apr 01 Python
解决python3 urllib 链接中有中文的问题
Jul 16 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
numpy向空的二维数组中添加元素的方法
Nov 01 Python
python实现抽奖小程序
Apr 15 Python
python使用opencv实现马赛克效果示例
Sep 28 Python
用Python去除图像的黑色或白色背景实例
Dec 12 Python
在Python中通过threshold创建mask方式
Feb 19 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 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下正则来匹配dede模板标签的代码
2010/08/21 PHP
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
php数组去重实例及分析
2013/11/26 PHP
浅析php-fpm静态和动态执行方式的比较
2016/11/09 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
JavaScript更改class和id的方法
2008/10/10 Javascript
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
[原创]javascript typeof id==='string'?document.getElementById(id):id解释
2016/11/02 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
2017/12/20 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
在keras里实现自定义上采样层
2020/06/28 Python
Python字符串及文本模式方法详解
2020/09/10 Python
jupyter 添加不同内核的操作
2021/02/06 Python
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
就业推荐自我鉴定
2013/10/06 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
六一亲子活动总结
2014/07/01 职场文书
员工生日活动方案
2014/08/24 职场文书
先进工作者申报材料
2014/12/23 职场文书
人身损害赔偿协议书
2016/03/22 职场文书