這篇文章主要介紹“python聚類實(shí)例分析”,在日常操作中,相信很多人在python聚類實(shí)例分析問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”python聚類實(shí)例分析”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為額濟(jì)納企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),額濟(jì)納網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
聚類分析
將數(shù)據(jù)存儲(chǔ)為csv格式,導(dǎo)入python,查看前10行數(shù)據(jù)。
import pandas as pd
reviewsdata = pd.read_csv('reviewsdata.csv',index_col=0)#index_col=0第一列所為行索引
reviewsdata.head(10)
從表格中,可以看到不同性別、不同年齡使用不同單詞的頻數(shù)。對(duì)數(shù)據(jù)進(jìn)行聚類分析,并畫出聚類樹形圖。
import scipy
import scipy.cluster.hierarchy as sch
import matplotlib.pylab as plt
import pylab
#生成點(diǎn)與點(diǎn)之間的距離矩陣,這里用的歐氏距離:
disMat = sch.distance.pdist(reviewsdata.T,'euclidean')
#進(jìn)行層次聚類:
Z=sch.linkage(disMat,method='average')
#將層級(jí)聚類結(jié)果以樹狀圖表示出來并保存為plot_dendrogram.png
sch.dendrogram(Z,labels=reviewsdata.columns,leaf_font_size=7.5)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.title("口碑的聚類")
pylab.show()
在聚類分析的過程中,是將不同性別年齡的人群使用詞的頻數(shù)生成向量,然后比較這些向量的距離,將距離較近的總結(jié)在一起。距離近意味著措辭相仿,聚類也就是不斷合并兩個(gè)最相近向量的過程。從圖顯示,40多歲男性和50多歲男性在使用單詞方面很接近,但跟60多歲女性明顯不同。整體上,能看出不同年齡段和不同性別之間存在意見差異。
幾個(gè)小概念
聚類分析:一種根據(jù)數(shù)據(jù)相似度將數(shù)據(jù)分組對(duì)手法,分組前,不能確定每一類的特征。數(shù)據(jù)相似度通過距離來判斷,求距離的方法有很多種,最簡(jiǎn)單的為歐式距離。本文使用的是層次聚類,文章聚類(一):DBSCAN算法實(shí)現(xiàn)(r語言)中介紹了DBSCAN聚類方法。
到此,關(guān)于“python聚類實(shí)例分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!