溫馨提示×

溫馨提示×

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

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

基于Python的K-Means聚類數(shù)據(jù)分析是怎樣的呢

發(fā)布時(shí)間:2021-12-09 09:45:30 來源:億速云 閱讀:140 作者:柒染 欄目:大數(shù)據(jù)

基于Python的K-Means聚類數(shù)據(jù)分析是怎樣的呢,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

基于Python的K-Means聚類數(shù)據(jù)分析

在數(shù)據(jù)挖掘中,K-Means算法是一種 cluster analysis 的算法,其主要是來計(jì)算數(shù)據(jù)聚集的算法,主要通過不斷地取離種子點(diǎn)最近均值的算法。

來源于維基百科,自由的百科全書的解釋:

k-平均算法源于信號(hào)處理中的一種向量量化方法,現(xiàn)在則更多地作為一種聚類分析方法流行于數(shù)據(jù)挖掘領(lǐng)域。k-平均聚類的目的是:把n個(gè)點(diǎn)(可以是樣本的一次觀察或一個(gè)實(shí)例)劃分到k個(gè)聚類中,使得每個(gè)點(diǎn)都屬于離他最近的均值(此即聚類中心)對應(yīng)的聚類,以之作為聚類的標(biāo)準(zhǔn)。這個(gè)問題將歸結(jié)為一個(gè)把數(shù)據(jù)空間劃分為Voronoi cells的問題。


在數(shù)據(jù)挖掘中,K-Means算法是一種cluster analysis的算法,其主要是來計(jì)算數(shù)據(jù)聚集的算法,主要通過不斷地取離種子點(diǎn)最近均值的算法。

問題

K-Means算法主要解決的問題如下圖所示。我們可以看到,在圖的左邊有一些點(diǎn),我們用肉眼可以看出來有四個(gè)點(diǎn)群,但是我們怎么通過計(jì)算機(jī)程序找出這幾個(gè)點(diǎn)群來呢?于是就出現(xiàn)了我們的K-Means算法。基于Python的K-Means聚類數(shù)據(jù)分析是怎樣的呢

算法概要  

這個(gè)算法其實(shí)很簡單,如下圖所示:

基于Python的K-Means聚類數(shù)據(jù)分析是怎樣的呢

從上圖中,我們可以看到,A,B,C,D,E是五個(gè)在圖中點(diǎn)。而灰色的點(diǎn)是我們的種子點(diǎn),也就是我們用來找點(diǎn)群的點(diǎn)。有兩個(gè)種子點(diǎn),所以K=2。

然后,K-Means的算法如下:

  1. 隨機(jī)在圖中取K(這里K=2)個(gè)種子點(diǎn)。

  2. 然后對圖中的所有點(diǎn)求到這K個(gè)種子點(diǎn)的距離,假如點(diǎn)Pi離種子點(diǎn)Si最近,那么Pi屬于Si點(diǎn)群。(上圖中,我們可以看到A,B屬于上面的種子點(diǎn),C,D,E屬于下面中部的種子點(diǎn))

  3. 接下來,我們要移動(dòng)種子點(diǎn)到屬于他的“點(diǎn)群”的中心。(見圖上的第三步)

  4. 然后重復(fù)第2)和第3)步,直到,種子點(diǎn)沒有移動(dòng)(我們可以看到圖中的第四步上面的種子點(diǎn)聚合了A,B,C,下面的種子點(diǎn)聚合了D,E)。


這個(gè)算法很簡單,但是有些細(xì)節(jié)我要提一下,求距離的公式我不說了,大家有初中畢業(yè)水平的人都應(yīng)該知道怎么算的。我重點(diǎn)想說一下"求點(diǎn)群中心的算法"。

求點(diǎn)群中心的算法

一般來說,求點(diǎn)群中心點(diǎn)的算法你可以很簡的使用各個(gè)點(diǎn)的X/Y坐標(biāo)的平均值。不過,我這里想告訴大家另三個(gè)求中心點(diǎn)的的公式:

1)Minkowski Distance公式——λ可以隨意取值,可以是負(fù)數(shù),也可以是正數(shù),或是無窮大。

基于Python的K-Means聚類數(shù)據(jù)分析是怎樣的呢

2)Euclidean Distance公式——也就是第一個(gè)公式λ=2的情況

3)CityBlock Distance公式——也就是第一個(gè)公式λ=1的情況

基于Python的K-Means聚類數(shù)據(jù)分析是怎樣的呢

這三個(gè)公式的求中心點(diǎn)有一些不一樣的地方,我們看下圖(對于第一個(gè)λ在0-1之間)。

基于Python的K-Means聚類數(shù)據(jù)分析是怎樣的呢

上面這幾個(gè)圖的大意是他們是怎么個(gè)逼近中心的,第一個(gè)圖以星形的方式,第二個(gè)圖以同心圓的方式,第三個(gè)圖以菱形的方式。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI