蔣雅寧
摘要:聚類是數(shù)據(jù)挖掘的一種手段,把特征相似的數(shù)據(jù)聚在一起,論文嘗試通過不同的聚類算法對(duì)數(shù)據(jù)集進(jìn)行聚類,得出不同聚類算法的輪廓系數(shù)并對(duì)其行分析研究,得出最佳算法,然后確定k值,結(jié)果是當(dāng)k=2時(shí)基于K-means聚類算法的情緒聚類效果最好。研究結(jié)果可以應(yīng)用到抑郁癥治療或者心理學(xué)領(lǐng)域方面,未來做一個(gè)分類器進(jìn)行快速的情緒分析,可以預(yù)測(cè)患者是否會(huì)患上抑郁癥或者抑郁癥發(fā)作,有很好的社會(huì)應(yīng)用價(jià)值。
關(guān)鍵詞: 聚類算法;情緒監(jiān)測(cè);抑郁癥;K-means
中圖分類號(hào):TP391 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)02-0031-02
1引言
所謂“物以類聚,人以群分”,聚類就是把相似的數(shù)據(jù)點(diǎn)聚在一起,相同特征的類具有高度的相似性,不同特征的對(duì)象之間存在較大的差異。通過聚類,可以將大數(shù)據(jù)集隨機(jī)分成塊。每個(gè)塊都是一個(gè)樣本集,可以保證原始數(shù)據(jù)集的獨(dú)立采樣,在足夠小的范圍內(nèi)保證處理結(jié)果的可靠性。[1] 同時(shí)伴隨著人類工作生活壓力的不斷增加,患有心理疾病的人群越來越多。如果可以及時(shí)監(jiān)測(cè)情緒,便可以減少心理疾病的發(fā)病率,具有很好的應(yīng)用價(jià)值。
2 ?聚類算法概述
2.1聚類算法
聚類的目的是尋找聯(lián)系緊密的事物進(jìn)行區(qū)分,將數(shù)據(jù)劃分為有意義或有用的簇,聚類的目標(biāo)是,盡可能擴(kuò)大不同數(shù)據(jù)組與數(shù)據(jù)目標(biāo)之間的差距,無監(jiān)督學(xué)習(xí)取決于輸入數(shù)據(jù)集是否被標(biāo)記[1]。
2.2聚類算法的種類
基于劃分的聚類:劃分聚類算法就是最優(yōu)化目標(biāo)函數(shù),將給定數(shù)據(jù)對(duì)象的數(shù)據(jù)集,劃分為幾個(gè)類,每一類別組就是賦予其的劃分類別標(biāo)簽。最經(jīng)典的劃分聚類算法k-均值算法和k-臨近算法在它們的基礎(chǔ)上衍生出了無數(shù)種變形算法[2]。主要代表算法有:K-means算法、K-medoids算法、clarans算法。
基于密度的角聚類:K-means能檢測(cè)非球面類別的數(shù)據(jù)分布,但是基于密度的方法可以檢測(cè)不規(guī)則的形狀。同時(shí),它可以在有噪音的數(shù)據(jù)中發(fā)現(xiàn)各種形狀和各種大小的簇而且可以很好地處理噪聲數(shù)據(jù),與劃分和層次聚類方法不同,它是將簇定義為密度相連的點(diǎn)的最大集合.主要的密度聚類算法有:DBSCAN算法、DENCLUE算法等,其中的DBSCAN算法是靠連接高密度鄰域點(diǎn)來發(fā)現(xiàn)簇的。
基于網(wǎng)格的聚類:數(shù)據(jù)空間被劃分為網(wǎng)格結(jié)構(gòu),由底向上的網(wǎng)格分割法可以將用戶輸入的參數(shù)分成同等大小的網(wǎng)格單元。如果落入網(wǎng)格單元的數(shù)據(jù)點(diǎn)比較多,稱為高密度網(wǎng)格單元。網(wǎng)格中的單元數(shù)量受到限制并且所有處理都在一個(gè)單元上完成?;诰W(wǎng)絡(luò)的方法最主要的優(yōu)點(diǎn)是其快速的處理速度[3]。最有代表性的網(wǎng)格聚類算法有STING[4]、WaveCluster、CLIQLE等。
3 聚類算法及數(shù)據(jù)集介紹
3.1數(shù)據(jù)集簡(jiǎn)介
數(shù)據(jù)集是一種利用腦電生理和情感分析的數(shù)據(jù)集,參加數(shù)據(jù)集采集的相關(guān)人員是由英國(guó)實(shí)驗(yàn)室研究小組人員Sander Koelstra,倫敦大學(xué)瑪麗皇后學(xué)院,英國(guó);Christian MüHL,屯特大學(xué),荷蘭等5人和各國(guó)外高校指導(dǎo)專家Ioannis Patras博士,Anton Nijholt博士,Touradj Ebrahimi博士。由歐盟“Seventh Framework 計(jì)劃”,荷蘭經(jīng)濟(jì)事務(wù)部、教育部、文化科學(xué)部共建的“ BrainGain 智能混合方”,瑞士國(guó)家基礎(chǔ)科學(xué)研究和教育互動(dòng)的多模式聯(lián)運(yùn)信息管理委員會(huì)支持和資助。 數(shù)據(jù)集是32×40的元胞矩陣,32代表人數(shù),40代表40個(gè)不同影片。
3.2 數(shù)據(jù)集來源
選擇了32個(gè)測(cè)試者(男女各占一半)觀看篩選出的40部影片,影片觀看完畢之后,測(cè)試者進(jìn)行填表評(píng)價(jià),arousal, valence, liking and dominance這四個(gè)標(biāo)簽代表四種情緒的分值。arousal: 喚醒可以從不活躍(例如,不感興趣,無聊)到活躍(例如,警覺,興奮)valence: 效價(jià)則從不愉快(如悲傷、緊張)到愉快(如高興、開心),dominance: 支配的范圍從無助和軟弱的感覺(沒有控制)到強(qiáng)大的感覺(控制一切),liking: 喜歡度。
4 算法的實(shí)現(xiàn)
4.1實(shí)現(xiàn)過程
(1)讀取數(shù)據(jù):
import pandas as pd
datas = pd.read_csv('./labels.csv')
(2)查看數(shù)據(jù)維度
(shape):
print(datas.shape)
(1280,4)
(3)接下來查看數(shù)據(jù)的前8行數(shù)據(jù)。
當(dāng)選擇要挖掘的數(shù)據(jù)集后,開始在挖掘之前對(duì)這些數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行預(yù)處理。因?yàn)閿?shù)據(jù)集中的值是標(biāo)準(zhǔn)化的,所以不需要統(tǒng)一數(shù)據(jù)集的屬性,之后進(jìn)行數(shù)據(jù)清理,主要解決的問題有: 空缺值、錯(cuò)誤數(shù)據(jù)、孤立點(diǎn)、噪聲[5]。其中空缺值和錯(cuò)誤數(shù)據(jù)是這一步驟處理的重點(diǎn)。此數(shù)據(jù)集沒有缺失數(shù)值,故不用使用填補(bǔ)方法來處理數(shù)值變量的缺失值。
4.2結(jié)果分析
(1)不同聚類算法的輪廓系數(shù)值
聚類是一種典型的無監(jiān)督學(xué)習(xí)任務(wù)。由于沒有標(biāo)簽,很難評(píng)價(jià)聚類結(jié)果的優(yōu)點(diǎn)和缺點(diǎn)。直觀上來看,聚類是把相似的樣本化為一簇,不同的樣本劃分到不同的簇內(nèi)?;谶@個(gè)觀點(diǎn),研究人員研發(fā)了度量聚類結(jié)果的方法,其中輪廓系數(shù)適用于實(shí)際類別信息未知情況,正適合數(shù)據(jù),如圖1所示。
因?yàn)檩喞禂?shù)取值范圍是[-1,1],所以同種特征的樣本距離相近且不同特征的樣本距離越遠(yuǎn),分?jǐn)?shù)越高,通過圖1可以直觀地看出,K-means算法的輪廓數(shù)值是最高的,高斯混合聚類的數(shù)值僅次于K-means算法后,數(shù)值最低的是DBSCAN算法。所以針對(duì)本數(shù)據(jù)集聚類效果最好的是K-means算法。
(2)模型優(yōu)化
在前面部分,對(duì)比三種聚類算法的兩種評(píng)價(jià)指標(biāo)后,獲得K-means聚類算法聚類效果相對(duì)較好一點(diǎn),但是之前直接對(duì)其進(jìn)行指定聚成4簇,所以在這部分內(nèi)容,使用K-means最優(yōu)的K值進(jìn)行細(xì)分,也就是尋找到最優(yōu)簇?cái)?shù)。輪廓系數(shù)可以作為一個(gè)評(píng)價(jià)聚類效果的指標(biāo),現(xiàn)在可以讓K值從2開始遞增測(cè)試,找到選擇K值后對(duì)應(yīng)的輪廓系數(shù)最高的K值。因?yàn)閟cikit-learn中的K-means算法從1開始時(shí),聚類的labels會(huì)等于0,這時(shí)會(huì)報(bào)錯(cuò),所以在輪廓系數(shù)這里選擇的K值下限為2,在選擇最大簇?cái)?shù)上限時(shí)一般不會(huì)太大,這里選擇為8,結(jié)果如圖2所示:
從圖2可以看出當(dāng)K值為2時(shí),輪廓系數(shù)較高,也就是此時(shí)的聚類效果也會(huì)較好。
5 基于k=2的K-means聚類算法的應(yīng)用
首先,觀察K-means聚類出來的每一個(gè)類中樣本的數(shù)目。在聚類的2個(gè)類中,第一個(gè)類中有618個(gè)樣本,另一個(gè)類中有662個(gè)樣本,相差不大。 但是為了更好地理解每一個(gè)類所代表的樣本群體的特點(diǎn),觀察每一個(gè)類的聚類中心(cluster center)。聚類中心如3所示:
如果聚類中心在某一個(gè)變量取值大于0,代表該聚類所代表的群體在該變量取值大于群體平均水平。 首先對(duì)上述聚類結(jié)果數(shù)據(jù)框進(jìn)行轉(zhuǎn)置,然后對(duì)每一個(gè)聚類中心的變量取值從大到小進(jìn)行排序。 通過觀察每個(gè)聚類變量來分析聚類所代表的群體:
第一個(gè)聚類:
valence ?0.765693 ?liking ?0.672365 ?dominance ?0.609296 ?arousal ?0.376815
結(jié)果:第一個(gè)聚類所代表的樣本群體的情緒為:愉快、喜歡、支配的范圍強(qiáng)大、興奮。
第二個(gè)聚類:
arousal ?-0.351769 ?dominance -0.568799 ?liking ?-0.627676 ?valence ?-0.714801
結(jié)果:第二個(gè)聚類所代表的樣本群體的情緒為:不愉快、不喜歡、有無助的感覺、不活躍。
未來可以根據(jù)以上研究做出情緒分類器,應(yīng)用在情緒監(jiān)測(cè)的領(lǐng)域,可以有效地監(jiān)測(cè)和預(yù)防心理疾病的發(fā)病率。
6 結(jié)束語
目前聚類的方法很多,分類方法也不盡相同。聚類算法可以應(yīng)用到社會(huì)生活的各個(gè)方面,隨著大數(shù)據(jù)時(shí)代的不斷發(fā)展,不僅可以應(yīng)用到抑郁癥監(jiān)測(cè)領(lǐng)域,還可以應(yīng)用到商業(yè)分析中。本文通過比較不同的聚類算法,分別分析了他們的適用范圍,雖然每種聚類算法都有適用的領(lǐng)域,但是也同時(shí)存在著需要改進(jìn)的地方,本文只是選擇了一個(gè)最適合此次實(shí)驗(yàn)的聚類算法并加以分析。
參考文獻(xiàn):
[1] 賀玲,吳玲達(dá),蔡益朝.數(shù)據(jù)挖掘中的聚類算法綜述[J].計(jì)算機(jī)應(yīng)用研究,2007,24(1):10-13.
[2] 劉屹霄.考慮信息均衡與數(shù)據(jù)簇可分性的模糊軟子空間聚類[D].廈門:廈門大學(xué),2017.
[3] 陳偉,李紅,王維.一種基于Python的K-means聚類算法分析[J].數(shù)字技術(shù)與應(yīng)用,2017(10):118-119.
[4] 梁玉翰.基于STING與支持向量回歸機(jī)的網(wǎng)絡(luò)安全預(yù)警技術(shù)研究[D].鄭州:解放軍信息工程大學(xué),2008.
[5] Famili A,Shen W M,Weber R,et al.Data preprocessing and intelligent data analysis[J].Intelligent Data Analysis,1997,1(1/2/3/4):3-23.
【通聯(lián)編輯:聞翔軍】