Python3文本聚类怎样进行分类操作

发布时间:2020-11-17 09:19:59 作者:小新
来源:亿速云 阅读:255

这篇文章给大家分享的是有关Python3文本聚类怎样进行分类操作的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

主要有一下几个步骤:

切词

去除停用词

构建词袋空间VSM(vector space model)

TF-IDF构建词权重,这部我没有做,因为我的数据基本都是一类的,只是想细分,所以感觉不太适合,而且这个也有点难(捂脸)

使用K-means算法

下面开始代码部分:

 #引入基础库,在网上抄的代码,除了1、2、6,其他的可能用不到
 import numpy as np
 import pandas as pd
 import re
 import os
 import codecs
 import jieba
 #打开文件,文件在桌面上,可以自行修改路径
 f1=open("C:/Users/KangB/Desktop/wechat7/title.txt","r",encoding='GB2312',errors='ignore')
 f2=open("C:/Users/KangB/Desktop/wechat7/title_fenci.txt",'w',encoding='GB2312',errors='ignore')
 for line in f1:
 seg_list = jieba.cut(line, cut_all=False)
 f2.write((" ".join(seg_list)).replace("\t\t\t","\t"))
 #print(w)
 f1.close()
 f2.close()
 #取需要分词的内容
 titles=open("C:/Users/KangB/Desktop/wechat7/title_fenci.txt",encoding='GB2312',errors='ignore').read().split('\n')
 #查看内容,这里是一个list,list里面每个原素是分好的标题,查看下长度看有没有错误
 #titles
 #len(titles)
 #构建停词函数,停词表是自己在网上搜的
 def get_custom_stopwords(stop_words_file):
 with open(stop_words_file,encoding='utf-8')as f:
 stopwords=f.read()
 stopwords_list=stopwords.split('\n')
 custom_stopwords_list=[i for i in stopwords_list]
 return custom_stopwords_list
 #停用词函数调用
 stop_words_file="C:/Users/KangB/Desktop/wechat7/stopwords.txt"
 stopwords=get_custom_stopwords(stop_words_file)
 #查看停用词,也是list格式
 #stopwords
 #构建词向量,也就是把分好的次去除停词转化成kmeans可以接受的形式
 from sklearn.feature_extraction.text import CountVectorizer
 count_vec=CountVectorizer(stop_words=stopwords)
 km_matrix= count_vec.fit_transform(titles)
 print(km_matrix.shape)
 #查看词向量
 #print(km_matrix.toarray())
 #开始聚类啦
 from sklearn.cluster import KMeans
 num_clusters = 4 #聚为四类,可根据需要修改
 km = KMeans(n_clusters=num_clusters)
 km.fit(km_matrix)
 clusters = km.labels_.tolist()
 #查看聚类的结果,是list,这里省略,看看长度是不是和title一样就行啦
 #len(clusters)
 #最后把聚类结果写在一个新的txt里面
 f3 =open("C:/Users/KangB/Desktop/wechat7/title_clusters.txt", 'w',encoding='GB2312',errors='ignore')
 for i in clusters:
 f3.write(str(i))
 f3.write("\n")
 f3.close()

感谢各位的阅读!关于Python3文本聚类怎样进行分类操作就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. MySQL存储引擎分类及操作介绍
  2. python3操作json

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python python3 文本聚类

上一篇:python3类方法和静态方法哪个好用

下一篇:Python3枚举类怎么处理重复名称

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》