中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3文本聚類怎樣進行分類操作

發布時間:2020-11-17 09:19:59 來源:億速云 閱讀:254 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關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文本聚類怎樣進行分類操作就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

财经| 石棉县| 灵宝市| 塘沽区| 三都| 隆安县| 林口县| 伊宁县| 连江县| 石河子市| 获嘉县| 临洮县| 云林县| 莲花县| 佛山市| 天峨县| 澄城县| 栾城县| 凉山| 乐亭县| 巴彦淖尔市| 凤阳县| 利辛县| 朔州市| 鲜城| 民丰县| 长宁县| 凌云县| 永和县| 安龙县| 东平县| 河北区| 剑河县| 辛集市| 武冈市| 肥乡县| 信丰县| 泸水县| 巴马| 壶关县| 瑞金市|