張桂杰,王小燦,邢維康,李瑞彤,王 帥,逯 洋
(吉林師范大學(xué) 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,吉林 四平 136000)
近年來,研究者們廣泛關(guān)注利用數(shù)據(jù)挖掘技術(shù)來探索大學(xué)生心理健康狀況和心理干預(yù)模式,該問題已成為國內(nèi)外的研究熱點(diǎn)[1].為了更好地幫助因心理健康問題走入困境的大學(xué)生及時(shí)恢復(fù)健康生活,為專業(yè)的心理咨詢部門提供技術(shù)支持,本文通過決策樹算法挖掘測評量表中決策變量之間的聯(lián)系,挖掘部分關(guān)鍵因素建立測試模型,對學(xué)生心理健康狀況進(jìn)行預(yù)測和分類,從而快速并準(zhǔn)確地判斷大學(xué)生的心理狀態(tài),構(gòu)建簡潔高效的心理測評模型.本文旨在為學(xué)校制定心理健康教育的規(guī)劃和決策提供依據(jù),探索學(xué)生心理障礙的早期預(yù)防和干預(yù)新方法,提高學(xué)校心理輔導(dǎo)服務(wù)的針對性、水平和效率.
決策樹是一種常見的機(jī)器學(xué)習(xí)算法.其結(jié)構(gòu)呈現(xiàn)為樹形結(jié)構(gòu),其中每個(gè)內(nèi)部節(jié)點(diǎn)代表一個(gè)屬性判斷,每個(gè)分支代表該屬性的一個(gè)可能取值,每個(gè)葉子節(jié)點(diǎn)表示一個(gè)類別或一個(gè)數(shù)值[2].決策樹算法是解決分類問題最有效的方法[3].使用決策樹算法進(jìn)行大學(xué)生心理健康因素的挖掘具有以下優(yōu)點(diǎn):
(1)可以發(fā)現(xiàn)潛在的非線性關(guān)系.這對于發(fā)現(xiàn)影響大學(xué)生心理健康的因素非常有幫助.
(2)可以處理多分類問題.這對于研究大學(xué)生心理健康因素的復(fù)雜性極為有益.
(3)可以進(jìn)行特征選擇.即從所有可能的特征中選擇最重要的特征進(jìn)行建模,可以幫助校方確定最重要的影響因素.
(4)可以進(jìn)行可視化分析.這對于理解影響大學(xué)生心理健康的因素非常有幫助.通過可視化分析,校方可以更直觀地了解決策樹的結(jié)構(gòu)和特征重要性,從而更好地指導(dǎo)心理干預(yù)工作.
因此,應(yīng)用決策樹算法探究大學(xué)生心理健康因素,學(xué)??梢灾贫ǜ佑行У男睦斫】蹈深A(yù)措施,提高學(xué)生心理健康水平,從而促進(jìn)大學(xué)生心理健康成長和高校的安全穩(wěn)定[4].
C4.5算法引入了信息增益率作為選擇屬性的依據(jù),從而顯著提升了決策樹構(gòu)建的準(zhǔn)確性[5].C4.5算法的主要流程可以分為以下幾個(gè)步驟:
步驟1(數(shù)據(jù)預(yù)處理) 對數(shù)據(jù)進(jìn)行預(yù)處理,包括處理缺失值、將連續(xù)屬性離散化等;
步驟2(選擇最優(yōu)屬性) 使用信息增益比來計(jì)算每個(gè)屬性的重要性,并選擇最優(yōu)屬性作為當(dāng)前節(jié)點(diǎn)的劃分屬性;
步驟3(劃分?jǐn)?shù)據(jù)集) 按照當(dāng)前節(jié)點(diǎn)的劃分屬性將數(shù)據(jù)集分成多個(gè)子集,并對每個(gè)子集遞歸地構(gòu)建決策樹.
本研究選擇了心理科學(xué)數(shù)據(jù)中心發(fā)布的大學(xué)生心理健康數(shù)據(jù)集[6]作為數(shù)據(jù)源,下載后選擇csv格式進(jìn)行數(shù)據(jù)存儲(chǔ),包含48個(gè)屬性,共77 211條記錄,其中屬性的含義如表1所示.
表1 數(shù)據(jù)源屬性及其含義
由于數(shù)據(jù)集本身已經(jīng)經(jīng)過規(guī)范化處理,因此數(shù)據(jù)質(zhì)量較高,不需要進(jìn)行大量的數(shù)據(jù)清洗和預(yù)處理工作,接下來對數(shù)據(jù)集進(jìn)行挖掘和分析.
本研究使用信息增益率來計(jì)算每個(gè)屬性的重要性,并選擇最優(yōu)屬性作為當(dāng)前節(jié)點(diǎn)的劃分屬性,遞歸生成決策樹圖像,并對決策樹結(jié)果進(jìn)行分析.
依據(jù)心理學(xué)領(lǐng)域中公認(rèn)的三個(gè)心理測評量表,將表1數(shù)據(jù)集中39個(gè)屬性(SASC01-GAD07)劃分為大學(xué)生智能手機(jī)成癮量表(SAS-C)[7]、簡版流調(diào)中心抑郁量表(CES-D10)[8]、廣泛性焦慮量表(GAD-7)[9],分別含有22個(gè)決策屬性(SASC01-SASC22)、10個(gè)決策屬性(CESD01-CESD10)、7個(gè)決策屬性(GAD01-GAD07).通過將屬性進(jìn)行分類,可以對決策樹進(jìn)行更加準(zhǔn)確的研究和分析,從而構(gòu)建更加準(zhǔn)確的心理測評模型.
2.1.1 SAS-C量表
大學(xué)生智能手機(jī)成癮量表(SAS-C)共22個(gè)問題,見表1中SASC01-SASC22.采用5級計(jì)分法進(jìn)行評分:1代表“非常不符合”,2代表“不符合”,3代表“不確定”,4代表“符合”,5代表“非常符合”.
把22個(gè)項(xiàng)目中的各項(xiàng)分?jǐn)?shù)相加得到總分,總分越高,表示參與者的手機(jī)成癮癥狀越嚴(yán)重.具體標(biāo)準(zhǔn)如表2所示[10].
表2 SAS-C量表評分標(biāo)準(zhǔn)
2.1.2 CES-D10量表
簡版流調(diào)中心抑郁量表(CES-D10)是一種常用于測量抑郁癥狀嚴(yán)重程度的快速自評量表,共包含10個(gè)問題,見表1中CESD01-CESD10.采用4級計(jì)分法進(jìn)行評分:0代表沒有或很少有(少于1 d),1代表“有時(shí)或小部分時(shí)間(1~2 d)”,2代表“時(shí)?;蛞话氲臅r(shí)間(3~4 d)”,3代表“絕大多數(shù)或全部時(shí)間(5~7 d)”.
把10個(gè)問題的總得分相加,總分?jǐn)?shù)介于0~30分之間,得分越高表示抑郁癥狀越嚴(yán)重.具體標(biāo)準(zhǔn)如表3所示[11].
表3 CES-D10量表評分標(biāo)準(zhǔn)
2.1.3 GAD-7量表
廣泛性焦慮量表(GAD-7)用于評估焦慮情緒,共包含7個(gè)問題,見表1 GAD01-GAD07.這些問題旨在評估個(gè)體在過去兩周內(nèi)是否經(jīng)歷了焦慮癥狀.采用4級計(jì)分法進(jìn)行評分:0代表“完全不會(huì)”,1代表“好幾天”,2代表“超過一周”,3代表“幾乎每天”.總分?jǐn)?shù)介于0~21分之間,得分越高表示“廣泛性焦慮”癥狀越嚴(yán)重.具體評分標(biāo)準(zhǔn)如表4所示[12].
表4 GAD-7量表評分標(biāo)準(zhǔn)
本研究使用上述3個(gè)量表中評分標(biāo)準(zhǔn)對數(shù)據(jù)集中個(gè)體心理健康狀況分類.然后,使用C4.5算法進(jìn)行有監(jiān)督學(xué)習(xí),從而構(gòu)建決策樹.
下面以SAS-C量表為例,對每一行的第6列到第27列求和,并將其轉(zhuǎn)換為標(biāo)記a、b、c(將人群分為3類,即生成了3個(gè)子集),a、b、c分別表示“SAS-C正常群體”,“SAS-C邊緣群體”,“SAS-C群體”.計(jì)算每個(gè)決策屬性(6列到27列,共22個(gè)決策屬性)的信息增益率,選擇最優(yōu)屬性作為當(dāng)前節(jié)點(diǎn)的劃分屬性,按照當(dāng)前節(jié)點(diǎn)的劃分屬性將數(shù)據(jù)集分成多個(gè)子集,并對每個(gè)子集遞歸地構(gòu)建決策樹[13].關(guān)鍵代碼如下:
def calc_entropy(column):
value_counts=column.value_counts()
p=value_counts/value_counts.sum()
entropy=-(p * np.log2(p)).sum()
return entropy
def calc_info_gain_ratio(df,column,entropy):
value_counts=df[column].value_counts()
p=value_counts/value_counts.sum()
entropies=[calc_entropy(df[df[column]==value][‘label’]) for value in value_counts.index]
info_gain=entropy-sum(p * entropies)
split_info=-(p * np.log2(p)).sum()
info_gain_ratio=info_gain/split_info
return info_gain_ratio
2.2.1 SAS-C量表決策樹分析
決策樹每個(gè)節(jié)點(diǎn)包含的信息如表5所示.根據(jù)圖1可知,在根節(jié)點(diǎn),分裂條件是SASC21≤2.5,表示如果某個(gè)輸入數(shù)據(jù)的SASC21特征的值小于或等于2.5,則將該數(shù)據(jù)分配到該節(jié)點(diǎn)的左側(cè)子樹中,否則分配到右側(cè)子樹中.在這個(gè)節(jié)點(diǎn)中,共有77 211個(gè)樣本,其中類別“正?!钡臉颖緮?shù)量最多,為55 745個(gè).其他節(jié)點(diǎn)的信息也可以此類推進(jìn)行分析.決策樹的根結(jié)點(diǎn)到每個(gè)葉子結(jié)點(diǎn)的一條路徑就是一條分類規(guī)則,可以用if-then的形式來加以展示.
圖1 SAS-C量表決策樹分類過程可視化
表5 決策樹節(jié)點(diǎn)信息含義
根據(jù)圖1,可以提取以下分類規(guī)則:
IFSASC21 ≤2.5 THEN手機(jī)成癮=“正?!?/p>
IFSASC21 >2.5 AND SASC09 ≤3.5 THEN 手機(jī)成癮=“正常”
IFSASC21 >2.5 AND SASC09 ≤3.5 ANDSASC06 ≤2.5 THEN 手機(jī)成癮=“正?!?/p>
IFSASC21 >2.5 AND SASC09 ≤3.5 ANDSASC06 >2.5 THEN 手機(jī)成癮=“邊緣”
IFSASC21 >2.5 AND SASC09 >3.5 THEN 手機(jī)成癮=“成癮”
…
2.2.2 CES-D10量表決策樹分析
根據(jù)圖2,可以提取以下分類規(guī)則:
圖2 CES-D10量表決策樹分類過程可視化
IFCESD10 ≤0.5 THEN抑郁=“正?!?/p>
IFCESD10 ≤0.5 ANDCESD03 ≤1.5 THEN抑郁=“正常”
IFCESD10 ≤0.5 ANDCESD03 >1.5 THEN抑郁=“輕度”
IFCESD10 >0.5 THEN 抑郁=“輕度”
IFCESD10 >0.5 ANDCESD03 ≤1.5 THEN 抑郁=“輕度”
IFCESD10 >0.5 ANDCESD03 >1.5 THEN 抑郁=“中度”
IFCESD10 >0.5 ANDCESD03 >2.5 THEN 抑郁=“重度”
…
2.2.3 GAD-7量表決策樹分析
根據(jù)圖3,可以提取以下分類規(guī)則:
圖3 GAD-7量表決策樹分類過程可視化
IFGAD02 ≤0.5 THEN廣泛性焦慮=“正?!?/p>
IFGAD02 >0.5 THEN廣泛性焦慮=“輕度”
IFGAD02 >0.5 AND GAD05 ≤0.5 THEN 廣泛性焦慮=“正?!?/p>
IFGAD02 >0.5 AND GAD05 >0.5 AND GAD06 >1.5 THEN 廣泛性焦慮=“中度”
…
通過對圖1—3的分析,提取出能夠讓分支最為明顯、在最短的時(shí)間內(nèi)將數(shù)據(jù)集分成最終的類別的8個(gè)關(guān)鍵決策變量,建立一個(gè)簡潔的心理測評模型,其中測評屬性如表6所示.
表6 心理測評屬性
為了測試決策樹挖掘的表6中屬性及其之間的聯(lián)系對學(xué)生心理健康狀況的預(yù)測和分類中的準(zhǔn)確度,通過可視化方式來呈現(xiàn).可視化是指通過圖表、圖形、動(dòng)畫等視覺化手段,將數(shù)據(jù)、信息或者概念呈現(xiàn)出來的過程,以便更好地理解和分析數(shù)據(jù).部分關(guān)鍵代碼如下:
labels=[‘<=65’,‘66-76’,‘>76’]
values=[prob_low,prob_mid,prob_high]
plt.bar(labels,values)
plt.title(‘Probability Distribution’)
plt.xlabel(‘Score Range’)
plt.ylabel(‘Probability’)
for i,v in enumerate(values):
plt.text(i,v+0.01,str(round(v*100,2))+‘%’,ha=‘center’)
根據(jù)圖4,SASC21問題得分若為1或2,則有90.72%的概率沒有手機(jī)成癮.根據(jù)圖5,SASC21問題得分大于或等于3且SASC09問題得分大于或等于4,同時(shí)SASC14問題得分大于或等于4時(shí),沒有手機(jī)成癮的概率僅占3.48%.因此SASC21、SASC09、SASC14這三個(gè)關(guān)鍵屬性構(gòu)建模型準(zhǔn)確率較高.
圖4 SASC21≤2.5群體分布
圖5 SASC21>2.5且SASC09>3.5且SASC14>3.5群體分布
根據(jù)圖6,如果CESD10得分為0,則學(xué)生沒有抑郁的概率高達(dá)88.98%.根據(jù)圖7,如果CESD10得分大于0且CESD03得分為3,則學(xué)生幾乎可以肯定患抑郁癥,重度抑郁的概率高達(dá)64.52%.因此用CESD10、CESD03這兩個(gè)關(guān)鍵屬性構(gòu)建模型準(zhǔn)確率較高.
圖6 CESD10≤0.5群體分布
根據(jù)圖8,當(dāng)GAD02得分為0時(shí),學(xué)生沒有廣泛性焦慮的概率高達(dá)96.91%.根據(jù)圖9,當(dāng)GAD02得分大于或等于1且GAD05得分大于或等于1且GAD06得分大于或等于2時(shí),幾乎可以肯定學(xué)生患廣泛性焦慮癥,其中,中重度廣泛性焦慮高達(dá)76.43%.因此GAD02、SASC05、SASC06這3個(gè)關(guān)鍵屬性構(gòu)建模型準(zhǔn)確率較高.
圖8 GAD02≤0.5群體分布
圖9 GAD02>0.5且GAD05>0.5且GAD06>1.5群體分布
根據(jù)三維柱狀圖呈現(xiàn)的數(shù)據(jù)信息及分析可知,本文創(chuàng)建的心理測評模型對學(xué)生的心理健康狀況的預(yù)測和真實(shí)情況的擬合度較高.因此,該模型可以較為準(zhǔn)確地預(yù)測學(xué)生心理健康狀況,幫助校方更好地了解學(xué)生的心理狀況,及時(shí)發(fā)現(xiàn)和解決潛在的心理健康問題.
通過建立決策樹,挖掘不同心理測評表中決策變量之間的聯(lián)系,從眾多屬性中選取最能夠明顯地區(qū)分不同類別的屬性,建立一個(gè)簡潔的心理測評模型,用來分類并預(yù)測學(xué)生的心理健康狀況.數(shù)據(jù)可視化分析表明:決策樹挖掘獲得的決策變量相關(guān)性更準(zhǔn)確.心理測評模型在對學(xué)生心理健康實(shí)施干預(yù)中起到了積極的作用.
同時(shí),心理問題具有復(fù)雜性,單一的測量指標(biāo)向量很難準(zhǔn)確判斷受測對象心理問題.因此,學(xué)校和相關(guān)部門需要考慮多種因素的綜合影響,采用多種方法和手段,如心理健康教育、心理咨詢服務(wù)、社交和文化活動(dòng)等,助力學(xué)生保持心理健康,幫助他們在學(xué)業(yè)、職業(yè)和生活中實(shí)現(xiàn)自己的夢想.