真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

Python如何使用k-means方法將列表中相似的句子歸類-創(chuàng)新互聯

前言

創(chuàng)新互聯專注于牙克石企業(yè)網站建設,響應式網站設計,商城網站定制開發(fā)。牙克石網站建設公司,為牙克石等地區(qū)提供建站服務。全流程按需網站建設,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯專業(yè)和態(tài)度為您提供的服務

由于今年暑假在學習一些自然語言處理的東西,發(fā)現網上對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統(tǒng)計成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]

另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


當前名稱:Python如何使用k-means方法將列表中相似的句子歸類-創(chuàng)新互聯
當前鏈接:http://weahome.cn/article/dhicos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部