黃玉珠
【摘 要】 k均值聚類算法是一種常見的對數(shù)據(jù)進行分類的算法。本文通過k均值聚類算法對UCI數(shù)據(jù)庫中的Glass Identification數(shù)據(jù)集進行分析,最后將分類結(jié)果與真實結(jié)果比較,觀察分類是否準確,從而實現(xiàn)k均值聚類算法的數(shù)據(jù)分析。
【關(guān)鍵詞】 k均值聚類算法 數(shù)據(jù)分析 分類
1 引言
聚類分析是數(shù)據(jù)挖掘的一個發(fā)現(xiàn)信息的方法,已經(jīng)被人們深入的研究了很長時間,主要的是對基于距離的聚類分析的研究。聚類是一種無監(jiān)督的學習,而分類正好與它相反,分類是一種有監(jiān)督的學習,聚類主要是劃分無標記的對象,使這些無標記的對象變的有意義,對預先定義的類與帶類標記的訓練實例不具有依賴性。所以聚類分析在我們的日常生活中的應用范圍非常廣泛:
(1)在商業(yè)上,聚類可以根據(jù)消費者數(shù)據(jù)庫里面所記錄的數(shù)據(jù)信息,對消費者進行劃分,根據(jù)各個消費者的特征,以幫助市場營銷員按照市場需求及時調(diào)整貨物的擺放次序等一系列營銷計劃的實施;
(2)在社會學中,聚類用來發(fā)現(xiàn)目前社會結(jié)構(gòu)組成中潛在的社會結(jié)構(gòu);
(3)在網(wǎng)絡挖掘中對互聯(lián)網(wǎng)上批量的數(shù)據(jù)信息進行有效的劃分與分類,實現(xiàn)信息的有效利用,對數(shù)據(jù)信息檢索效率方面有顯著提高;
(4)在生物信息學中,在大量的基因群中發(fā)現(xiàn)功能相似的基因組,對基因因功能不同進行劃分對其固有的結(jié)構(gòu)特征進行分析,來更好的為我們的醫(yī)學發(fā)展提供有利條件;
(5)在空間數(shù)據(jù)庫領域,聚類分析能對相似地理特征區(qū)域及它們的人和環(huán)境的不同特征進行識別,來研究地域文化提供條件。
本文主要基于k均值聚類算法對數(shù)據(jù)進行實例分析,通過比較分類結(jié)果的準確率,研究k均值聚類算法的分類效果。
2 基于K均值聚類算法的數(shù)據(jù)分析
2.1 K均值聚類算法。聚類是一種無監(jiān)督的學習方法。所謂無監(jiān)督學習是指事先并不知道要尋找的內(nèi)容,即沒有目標變量。聚類將數(shù)據(jù)點歸到多個簇中,其中相似數(shù)據(jù)點處于同一簇,而不相似數(shù)據(jù)點處于不同簇中。聚類中可以使用多種不同的方法來計算相似度。本文使用了聚類算法中的k均值聚類,由于該算法的簡潔和效率,使得它成為所有聚類算法中最廣泛使用的。該算法首先先隨機選取K個對象作為初始的聚類中心;然后計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心,聚類中心以及分配給它們的對象就代表一個聚類,一旦全部對象都被分配了,每個聚類的聚類中心會根據(jù)聚類中現(xiàn)有的對象被重新計算。這個過程將不斷重復直到滿足某個終止條件。終止條件可以是以下任何一個:
1)沒有(或最小數(shù)目)對象被重新分配給不同的聚類。
2)沒有(或最小數(shù)目)聚類中心再發(fā)生變化。
3)誤差平方和局部最小。
2.2 實例分析。本文使用了K均值聚類算法對玻璃數(shù)據(jù)進行分析,這是一種分類簡單快速的算法,但是也有很大的限制性,比如對極端值的變化非常敏感?,F(xiàn)在我們假設只知道關(guān)于玻璃數(shù)據(jù)中9個特征指標的值,通過使用K均值聚類算法來將數(shù)據(jù)進行分類,最后通過與真實分類結(jié)果比較,看分類結(jié)果是否準確。
2.2.1數(shù)據(jù)集介紹。通過選取UCI數(shù)據(jù)庫中的Glass Identification數(shù)據(jù)集進行分析,該數(shù)據(jù)集對玻璃種類分類的研究有利于犯罪學的調(diào)查研究。該數(shù)據(jù)集包括了用于進行玻璃分類的9種特征,分別為折射率(RI)、以及玻璃中的鈉(Na)、鎂(Mg)、鋁(AI)、硅(Si)、鉀(K)、鈣(Ca)、鋇(Ba)、鐵(Fe)含量,所有數(shù)據(jù)都為連續(xù)型變量。
整個數(shù)據(jù)集共214個樣本,將玻璃分為7類,分別是經(jīng)過浮動處理的建筑物窗戶、未經(jīng)過浮動處理的建筑物窗戶、經(jīng)過浮動處理的車輛窗戶、為經(jīng)過浮動處理的車輛窗戶(該數(shù)據(jù)集中未出現(xiàn))、容器、餐具、吊燈。
2.2.2數(shù)據(jù)預處理。為了便于與真實分類結(jié)果的比較,這里將數(shù)據(jù)集處理為兩種狀態(tài):一種是只包括關(guān)于玻璃的9個特征指標的值,即去掉其中的玻璃分類標簽;另一種是只包含玻璃分類的真實標簽。
2.2.3數(shù)據(jù)分析。通過使用python3.7軟件實現(xiàn)K均值聚類分析算法,對玻璃數(shù)據(jù)進行分析得出結(jié)果,如圖1。從圖1可以看出,每個顏色代表一種分類,每一類分類明顯,雖然存在個別異常值,但是大致將玻璃分為6類,似乎分類結(jié)果還不錯。但是將該結(jié)果與真實結(jié)果比較后發(fā)現(xiàn),準確率卻只有24.77%,分類效果很不理想。進一步觀察分類結(jié)果圖,可以發(fā)現(xiàn)有很多點都偏離各簇,這說明了K均值聚類可能因其非常容易受異常值的影響,導致分類不準確。
3 結(jié)論
經(jīng)過對K均值算法進行實例分析,發(fā)現(xiàn)該算法雖然原理簡單,容易實現(xiàn),但是有許多需要改進的地方,其中一點是對噪聲和離群值非常敏感,還有一點就是收斂太慢,只是收斂到了局部最小值,而并非全局最小值(局部最小值指結(jié)果還可以但并非最好結(jié)果,全局最小值是可能的最好結(jié)果)。
為克服K-均值算法收斂于局部最小值的問題,所以可以引入二分K-均值對算法進行優(yōu)化,該算法首先將所有點作為一個簇,然后將該簇一分為二,之后選擇其中一個簇繼續(xù)進行劃分,選擇哪一個簇進行劃分取決于對"其劃分是否可以最大程度降低SSE(Sum of Squared Error,誤差平方和)的值,上述基于SSE的劃分過程不斷重復,直到得到用戶指定的簇數(shù)目為止。
上述的K-均值算法以及二分K-均值算法并非僅有的聚類算法, 另外稱為層次聚類的方法也被廣泛使用。
【參考文獻】
[1] 易燕飛.基于K-means聚類的數(shù)據(jù)分析.現(xiàn)代制造技術(shù)與裝備.2017,4:8-13.