这篇文章给大家分享的是有关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文本聚类怎样进行分类操作就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!