基于决策树分类算法的心理测评模型研究

2023-11-28 02:56张桂杰王小灿邢维康李瑞彤
关键词:广泛性决策树可视化

张桂杰,王小灿,邢维康,李瑞彤,王 帅,逯 洋

(吉林师范大学 数学与计算机学院,吉林 四平 136000)

近年来,研究者们广泛关注利用数据挖掘技术来探索大学生心理健康状况和心理干预模式,该问题已成为国内外的研究热点[1].为了更好地帮助因心理健康问题走入困境的大学生及时恢复健康生活,为专业的心理咨询部门提供技术支持,本文通过决策树算法挖掘测评量表中决策变量之间的联系,挖掘部分关键因素建立测试模型,对学生心理健康状况进行预测和分类,从而快速并准确地判断大学生的心理状态,构建简洁高效的心理测评模型.本文旨在为学校制定心理健康教育的规划和决策提供依据,探索学生心理障碍的早期预防和干预新方法,提高学校心理辅导服务的针对性、水平和效率.

1 算法概述及数据获取

决策树是一种常见的机器学习算法.其结构呈现为树形结构,其中每个内部节点代表一个属性判断,每个分支代表该属性的一个可能取值,每个叶子节点表示一个类别或一个数值[2].决策树算法是解决分类问题最有效的方法[3].使用决策树算法进行大学生心理健康因素的挖掘具有以下优点:

(1)可以发现潜在的非线性关系.这对于发现影响大学生心理健康的因素非常有帮助.

(2)可以处理多分类问题.这对于研究大学生心理健康因素的复杂性极为有益.

(3)可以进行特征选择.即从所有可能的特征中选择最重要的特征进行建模,可以帮助校方确定最重要的影响因素.

(4)可以进行可视化分析.这对于理解影响大学生心理健康的因素非常有帮助.通过可视化分析,校方可以更直观地了解决策树的结构和特征重要性,从而更好地指导心理干预工作.

因此,应用决策树算法探究大学生心理健康因素,学校可以制定更加有效的心理健康干预措施,提高学生心理健康水平,从而促进大学生心理健康成长和高校的安全稳定[4].

1.1 C4.5算法

C4.5算法引入了信息增益率作为选择属性的依据,从而显著提升了决策树构建的准确性[5].C4.5算法的主要流程可以分为以下几个步骤:

步骤1(数据预处理) 对数据进行预处理,包括处理缺失值、将连续属性离散化等;

步骤2(选择最优属性) 使用信息增益比来计算每个属性的重要性,并选择最优属性作为当前节点的划分属性;

步骤3(划分数据集) 按照当前节点的划分属性将数据集分成多个子集,并对每个子集递归地构建决策树.

1.2 数据获取

本研究选择了心理科学数据中心发布的大学生心理健康数据集[6]作为数据源,下载后选择csv格式进行数据存储,包含48个属性,共77 211条记录,其中属性的含义如表1所示.

表1 数据源属性及其含义

由于数据集本身已经经过规范化处理,因此数据质量较高,不需要进行大量的数据清洗和预处理工作,接下来对数据集进行挖掘和分析.

2 心理测评决策树模型构建

本研究使用信息增益率来计算每个属性的重要性,并选择最优属性作为当前节点的划分属性,递归生成决策树图像,并对决策树结果进行分析.

2.1 测评模型构建

依据心理学领域中公认的三个心理测评量表,将表1数据集中39个属性(SASC01-GAD07)划分为大学生智能手机成瘾量表(SAS-C)[7]、简版流调中心抑郁量表(CES-D10)[8]、广泛性焦虑量表(GAD-7)[9],分别含有22个决策属性(SASC01-SASC22)、10个决策属性(CESD01-CESD10)、7个决策属性(GAD01-GAD07).通过将属性进行分类,可以对决策树进行更加准确的研究和分析,从而构建更加准确的心理测评模型.

2.1.1 SAS-C量表

大学生智能手机成瘾量表(SAS-C)共22个问题,见表1中SASC01-SASC22.采用5级计分法进行评分:1代表“非常不符合”,2代表“不符合”,3代表“不确定”,4代表“符合”,5代表“非常符合”.

把22个项目中的各项分数相加得到总分,总分越高,表示参与者的手机成瘾症状越严重.具体标准如表2所示[10].

表2 SAS-C量表评分标准

2.1.2 CES-D10量表

简版流调中心抑郁量表(CES-D10)是一种常用于测量抑郁症状严重程度的快速自评量表,共包含10个问题,见表1中CESD01-CESD10.采用4级计分法进行评分:0代表没有或很少有(少于1 d),1代表“有时或小部分时间(1~2 d)”,2代表“时常或一半的时间(3~4 d)”,3代表“绝大多数或全部时间(5~7 d)”.

把10个问题的总得分相加,总分数介于0~30分之间,得分越高表示抑郁症状越严重.具体标准如表3所示[11].

表3 CES-D10量表评分标准

2.1.3 GAD-7量表

广泛性焦虑量表(GAD-7)用于评估焦虑情绪,共包含7个问题,见表1 GAD01-GAD07.这些问题旨在评估个体在过去两周内是否经历了焦虑症状.采用4级计分法进行评分:0代表“完全不会”,1代表“好几天”,2代表“超过一周”,3代表“几乎每天”.总分数介于0~21分之间,得分越高表示“广泛性焦虑”症状越严重.具体评分标准如表4所示[12].

表4 GAD-7量表评分标准

本研究使用上述3个量表中评分标准对数据集中个体心理健康状况分类.然后,使用C4.5算法进行有监督学习,从而构建决策树.

2.2 C4.5算法实现

下面以SAS-C量表为例,对每一行的第6列到第27列求和,并将其转换为标记a、b、c(将人群分为3类,即生成了3个子集),a、b、c分别表示“SAS-C正常群体”,“SAS-C边缘群体”,“SAS-C群体”.计算每个决策属性(6列到27列,共22个决策属性)的信息增益率,选择最优属性作为当前节点的划分属性,按照当前节点的划分属性将数据集分成多个子集,并对每个子集递归地构建决策树[13].关键代码如下:

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量表决策树分析

决策树每个节点包含的信息如表5所示.根据图1可知,在根节点,分裂条件是SASC21≤2.5,表示如果某个输入数据的SASC21特征的值小于或等于2.5,则将该数据分配到该节点的左侧子树中,否则分配到右侧子树中.在这个节点中,共有77 211个样本,其中类别“正常”的样本数量最多,为55 745个.其他节点的信息也可以此类推进行分析.决策树的根结点到每个叶子结点的一条路径就是一条分类规则,可以用if-then的形式来加以展示.

图1 SAS-C量表决策树分类过程可视化

表5 决策树节点信息含义

根据图1,可以提取以下分类规则:

IFSASC21 ≤2.5 THEN手机成瘾=“正常”

IFSASC21 >2.5 AND SASC09 ≤3.5 THEN 手机成瘾=“正常”

IFSASC21 >2.5 AND SASC09 ≤3.5 ANDSASC06 ≤2.5 THEN 手机成瘾=“正常”

IFSASC21 >2.5 AND SASC09 ≤3.5 ANDSASC06 >2.5 THEN 手机成瘾=“边缘”

IFSASC21 >2.5 AND SASC09 >3.5 THEN 手机成瘾=“成瘾”

2.2.2 CES-D10量表决策树分析

根据图2,可以提取以下分类规则:

图2 CES-D10量表决策树分类过程可视化

IFCESD10 ≤0.5 THEN抑郁=“正常”

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量表决策树分析

根据图3,可以提取以下分类规则:

图3 GAD-7量表决策树分类过程可视化

IFGAD02 ≤0.5 THEN广泛性焦虑=“正常”

IFGAD02 >0.5 THEN广泛性焦虑=“轻度”

IFGAD02 >0.5 AND GAD05 ≤0.5 THEN 广泛性焦虑=“正常”

IFGAD02 >0.5 AND GAD05 >0.5 AND GAD06 >1.5 THEN 广泛性焦虑=“中度”

3 结果分析及可视化

通过对图1—3的分析,提取出能够让分支最为明显、在最短的时间内将数据集分成最终的类别的8个关键决策变量,建立一个简洁的心理测评模型,其中测评属性如表6所示.

表6 心理测评属性

为了测试决策树挖掘的表6中属性及其之间的联系对学生心理健康状况的预测和分类中的准确度,通过可视化方式来呈现.可视化是指通过图表、图形、动画等视觉化手段,将数据、信息或者概念呈现出来的过程,以便更好地理解和分析数据.部分关键代码如下:

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’)

根据图4,SASC21问题得分若为1或2,则有90.72%的概率没有手机成瘾.根据图5,SASC21问题得分大于或等于3且SASC09问题得分大于或等于4,同时SASC14问题得分大于或等于4时,没有手机成瘾的概率仅占3.48%.因此SASC21、SASC09、SASC14这三个关键属性构建模型准确率较高.

图4 SASC21≤2.5群体分布

图5 SASC21>2.5且SASC09>3.5且SASC14>3.5群体分布

根据图6,如果CESD10得分为0,则学生没有抑郁的概率高达88.98%.根据图7,如果CESD10得分大于0且CESD03得分为3,则学生几乎可以肯定患抑郁症,重度抑郁的概率高达64.52%.因此用CESD10、CESD03这两个关键属性构建模型准确率较高.

图6 CESD10≤0.5群体分布

根据图8,当GAD02得分为0时,学生没有广泛性焦虑的概率高达96.91%.根据图9,当GAD02得分大于或等于1且GAD05得分大于或等于1且GAD06得分大于或等于2时,几乎可以肯定学生患广泛性焦虑症,其中,中重度广泛性焦虑高达76.43%.因此GAD02、SASC05、SASC06这3个关键属性构建模型准确率较高.

图8 GAD02≤0.5群体分布

图9 GAD02>0.5且GAD05>0.5且GAD06>1.5群体分布

根据三维柱状图呈现的数据信息及分析可知,本文创建的心理测评模型对学生的心理健康状况的预测和真实情况的拟合度较高.因此,该模型可以较为准确地预测学生心理健康状况,帮助校方更好地了解学生的心理状况,及时发现和解决潜在的心理健康问题.

4 结语

通过建立决策树,挖掘不同心理测评表中决策变量之间的联系,从众多属性中选取最能够明显地区分不同类别的属性,建立一个简洁的心理测评模型,用来分类并预测学生的心理健康状况.数据可视化分析表明:决策树挖掘获得的决策变量相关性更准确.心理测评模型在对学生心理健康实施干预中起到了积极的作用.

同时,心理问题具有复杂性,单一的测量指标向量很难准确判断受测对象心理问题.因此,学校和相关部门需要考虑多种因素的综合影响,采用多种方法和手段,如心理健康教育、心理咨询服务、社交和文化活动等,助力学生保持心理健康,帮助他们在学业、职业和生活中实现自己的梦想.

猜你喜欢
广泛性决策树可视化
广泛性焦虑障碍中医证候、体质及其关系的研究进展
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
一种针对不均衡数据集的SVM决策树算法
“融评”:党媒评论的可视化创新
决策树和随机森林方法在管理决策中的应用
基于决策树的出租车乘客出行目的识别
低频重复经颅磁刺激联合文拉法辛治疗广泛性焦虑障碍的早期疗效
文拉法新缓释片合并认知行为疗法治疗广泛性焦虑症效果观察