1 实验说明

1.1 实验目的

基于已完成的学生考勤主题标签表(student_attendance_stats),使用 K-Means 聚类算法对学生考勤行为进行自动分群。通过迟到、早退、请假、校服违规次数等核心指标,识别不同类型的考勤群体,生成可解释的考勤画像,为校园学生管理、行为分析提供精准数据支撑。

1.2 实验环境

本次实验主要用到以下功能平台:

  • 数据集成平台(助睿 ETL)
  • 人工智能平台(助睿 AI)
  • 助睿BI 数据可视化探索平台
  • 数据库:MySQL
  • 前置数据:学生考勤主题标签表(student_attendance_stats)

2.实验步骤

人工智能平台(AI Studio)是一站式大数据智能应用平台,以零代码拖拽的方式简化机器学习全流程,提供从数据加载、预处理、特征工程到模型训练与评估的完整解决方案。平台内置 100 + 数据挖掘算法组件,支持主流深度学习框架,同时具备可视化建模、智能一键分析、协作共享与精细版本管理能力,无需深厚编程知识,即可高效实现数据价值挖掘与智能分析。

2.1 AI Studio 聚类建模

2.1.1 新建工作流

在该环节,我们使用 AI Studio 搭建从数据加载到聚类建模、结果输出的完整流程,为后续建模提供独立运行空间。

点击左边菜单“人工智能”,进入人工智能平台(AI Studio),进入人工智能模块用户空间。

2.1.2 数据导入

首先,我们需要将 student_attendance_stats 的数据载入,搜索“数据库加载”控件,拖拽至画布, 双击“数据库加载”控件,右边会出现参数配置窗口,将团队私有数据库的信息填入,并点击“连接”

在弹出的窗口中,点击下拉框,选择 student_attendance_stats

选择后会自动加载表信息,我们主要是分析各类异常考勤占比的特征,所以只需保留 student_id 、class_id、late_count、early_leave_count、leave_count、uniform_violate_count,其他字段跳过(skip);为保留的字段选择对应的属性类型,最后点击“确定”

右键数据库加载空间,点击“运行该控件”, 运行成功后可右键点击“查看输出结果”, 可以看到保留下来的数据。

2.1.3 K-Means 聚类建模

拖入“K-Means”组件,创建数据库加载组件到“K-Means”组件的连线

双击“K-Means”组件,配置窗口中,簇数量选择固定3个,其他保持不变

右键运行该控件,查看输出结果,可以看到每个学生分别标记了对应的簇类C1/C2/C3

2.1.4 结果输出与保存

聚类后的数据我们需要保存到数据库中,以便后续使用

拖拽“数据入库”组件到画布,创建“K-Means”组件到“数据入库”组件的连线,双击“数据入库”组件,数据库配置中输入团队私有数据库的参数,并点击“获取表信息”

在弹出的窗口中,选择“新建数据表”,表名称修改为“student_cluster”,并点击“确定”

运行工作流,各控件均运行成功则工作流运行成功

2.2 分析聚类簇编号对应的考勤群体分类

上一步骤输出的聚类簇编号无法确定对应的考勤群体分类,可要通过助睿BI 可视化分析来确定

点击实验平台左边菜单“助睿BI”,进入助睿BI平台

2.2.1 连接数据源

上一步骤输出的 student_cluster 存放于我们的团队私有数据库中,所以我们需要在助睿BI 平台中创建数据库连接

点击左边菜单中的“数据源”

点击左上角“+” - “新建连接” - “MySQL”, 在弹出的窗口中输入自己所在小组在 Uniplore实验平台 的数据库连接账号信息,点击“测试连接”

点击新建的数据库目录,可以看到本次实验所用的学生考勤主题标签表(右键点击-查看表数据,可以预览表内数据)

点击左上角“+” - “新建数据集”, 在弹窗中输入数据集名称、所属分组、备注信息后点击“确认”

数据源的第一个选项选择我们刚刚新建的数据源“商业数据分析实验” ,第二个选项则选择student_cluster 所在的目录“cs_group_3”, 数据源选择完成后,cs_group_3目录下的数据表自动出现在画布左边,将student_cluster 拖拽至画布中

查看数据的表结构及数据,为方便进行后续分析,将字段备注分别修改为中文,在student_id的字段备注输入框中输入“学生ID”,并点击“√”保存, 字段别名修改完成后,点击画布左上角“保存”按钮

2.2.2 制作工作表

接下来我们开始制作聚类簇编号对应的考勤群体分类工作表

点击左边菜单中的“工作表”,进入工作表模块, 为了方便管理,我们将本次制作的工作表集中存放在一个目录下,点击左上角的“+” - “新建分组”, 在弹窗中输入分组名称、选择所属分组、填写备注信息后点击“确认”

在操作列表中点击“新建工作表”, 在弹窗中输入工作表名称为“迟到早退次数的聚类簇分析”、选择所属分组、填写备注信息后点击“确认”

数据集选择刚刚创建的“聚类簇编号数据集”, 图表类型选择“探索器”, 将字段“late_count(迟到次数)”拖拽到X轴,“early_leave_count(早退次数)”拖拽到Y轴

在设置面板中,点击颜色区域的“+”,在下拉框中选择“Cluster(聚类簇编号)”,并点击“确认”

点击信息区域的“+”,在下拉框中选择“student_id(学生ID)”,并点击“确认”

将“student_id(学生ID)”设置为“维度”

系统默认限额为2000条数据,因此,需要将限额设置为100%,避免数据过多不显示全部

为了区分更明显,我们可以设置聚类簇编号的颜色,点击颜色区域的设置按钮,切换对比强烈的主题

同样的,重新新建工作表,依次两两分析4个异常考勤次数的3个聚类簇的表现情况

迟到与请假次数的聚类簇分析:

迟到与没穿校服次数的聚类簇分析

早退与请假次数的聚类簇分析:

早退与没穿校服次数的聚类簇分析:

请假与没穿校服次数的聚类簇分析:

2.2.3 搭建仪表盘

为了更好地观察分析以上制作的6个工作表,我们可以将它们放在一起

点击左边菜单“仪表盘”, 点击左上角“+” - “新建仪表盘”, 仪表盘名字输入“聚类簇分析”,备注信息输入“聚类簇分析”,点击“确认”

在右边组件与工作表区域,点击“基础组件”, 拖拽一个文本组件到画布中,文本内容输入“聚类簇分析”,并设置字体颜色、字体大小、加粗、居中

切换到“工作表”,将前面制作的工作表都拖拽至画布中,拖入完毕后,可以按住图标顶部中间位置拖动图标,并使用鼠标对图表大小和布局进行调整

2.2.4聚类群体画像解读

结合 6 组两两指标散点图的分布特征,我们可以为 C1、C2、C3 三类聚类簇赋予清晰的业务含义,完成从机器编号到可解释学生画像的转化:

  • C1(蓝色,自律模范型):在迟到、早退、请假、校服违规次数的所有组合中,数据点高度集中在低频次区间,无明显离群值。这类学生出勤稳定、纪律意识强,各类异常行为极少,是校园考勤行为的正面典型。
  • C2(青色,轻微波动型): 整体数据点同样集中在低频次区间,但相比 C1 分布略散,少量记录存在轻微的校服违规或请假行为,迟到、早退次数始终保持低位。这类学生整体纪律可控,仅存在偶发的轻微考勤波动,属于需要日常提醒的群体。
  • C3(黄色,纪律高危型): 数据点呈现明显的 “离群特征”,在迟到次数与其他指标的组合图中,出现了大量高频迟到记录,且伴随有不同程度的早退、请假或校服违规行为,是唯一存在多维度叠加违纪的群体。这类学生考勤问题突出,是校园管理中需要重点关注和干预的核心对象。

2.3 将映射结果加入学生考勤主题标签表

我们需要将最终群体分类数据增加到上一个实验输出的结果表学生考勤主题标签表 student_attendance_stats 中

2.3.1 新增扩展字段

上一个实验输出的结果表学生考勤主题标签表 student_attendance_stats 中没有考勤群体分类的字段,需要增加

首先我们需要在 student_attendance_stats 中增加2个字段:

  • cluster:聚类簇编号
  • attendance_group:考勤群体分类

进入上一个实验在数据集成平台中创建的ETL项目,新建转换流“增加考勤主题扩展标签字段”,拖拽并“”组件到画布中,双击“执行一个SQL脚本”组件,在配置窗口中,数据库连接“团队私有数据库”,输入SQL脚本后点击:“确认”

执行转换流:

2.3.2 聚类簇编号数据获取

接下来,我们需要使用 2.1这步骤中 AI Studio 输出的结果表 student_cluster ,xxx

打开上一个实验创建的项目,创建转换流“增加考勤群体分类标签”, 拖拽“表输入”组件到画布中,双击“表输入”组件,从团队私有数据库中获取 2.1步骤中的分类结果表 student_cluster 的所有SQL 查询语句

2.3.3 字段选择

获取的数据中,我们只需保留 student_id、Cluster 字段,拖拽“字段选择”组件到画布中,并创建“表输入”组件到“字段选择”组件的连线,双击“字段选择”组件,点击“移除”选项,并在字段名称下方空白区域右键-点击“获取字段”, 选中 student_id、Cluster 字段后右键“删除选中的行”,表述除 student_id、Cluster 外,其他字段均被移除

为了保持和 student_attendance_stats 表中字段类型一致,不影响后续数据更新到 student_attendance_stats,需要将 student_id、class_id 的类型修改为Integer,点击元数据选项,插入2行, student_id、class_id 的配置如下:

2.3.4 聚类簇编号映射

原始聚类簇编号以编号形式存储,可读性差,通过映射转换增加中文说明

添加“值映射”组件到画布中,并字段选择组件到值映射组件的连线,并选择“主输出步骤”, 双击“值映射”组件,使用的字段名为“Cluster ”, 目标字段名为“attendance_group”, 在下方字段值表格空白处右键,点击“插入”, 双击插入的行,在源值中输入“C1”,目标值输入“轻微波动型”,代表将原数据中的“C1”统一映射为“轻微波动型”, 同样的,再插入2行,设置:

  • 源值:“C2”,目标值:“自律模范型”
  • 源值:“C3”,目标值:“纪律高危型”

并点击“确认”

2.3.5 更新学生考勤主题标签

拖拽“更新”组件到画布中,并创建值映射组件到更新组件的连线,双击“更新”组件,在配置窗口中,数据库连接选择团队私有数据,目标模式为cs_group_3, 点击目标表后的“浏览”按钮,选择 student_attendance_stats,并点击“确定”, 用来查询的关键字表格空白处获取字段,保留 student_id、class_id,表示更新时查询到数据表与流里的字段1相同时,执行更新操作, 更新字段表格空白处获取字段,删除 student_id,这里需要注意,我们在增加扩展字段时,聚类簇编号的字段为cluster,所以在表字段的 Cluster 字段中需要双击后点击下拉框选择正确的表字段, 最后的配置如下,表示当数据表的student_id与流里的student_id相同时,将流字段Cluster、attendance_group的值更新到表字段cluster、attendance_group中

2.3.6 运行转换流

点击运行按钮

执行结果和日志:

2.3.7 查看结果

切换“元数据”选项,右键“团队私有数据库”,点击“加载元数据”, 加载成功后点击“数据探查”, 在团队私有数据库中点击 student_attendance_stats ,在点击“查询”,可以看到 cluster、attendance_group的数据已经更新成功了

3.学生用户画像-考勤画像可视化分析

3.1 实验目的

基于已完成 K-Means 聚类并标注考勤群体的学生考勤主题标签表,本实验聚焦“纪律高危型”群体,分析其行为特征。相比其他群体,该群体存在高频违纪、多维度异常叠加等行为特征,是校园考勤管理中风险最高、影响最大的群体。通过专项画像分析,可为精准干预和重点整治提供数据支撑,助力校园精细化管理。

4 实验步骤

4.1 进入助睿BI

进入实验平台后,点击左边菜单的“助睿BI”,进入助睿BI可视化探索平台

4.2 构建数据集

接下来,我们使用 student_attendance_stats 构建数据集,用于后续分析

点击左边菜单中的“数据集”

点击左上角“+” - “新建数据集”, 在弹窗中输入数据集名称、所属分组、备注信息后点击“确认”

数据源的第一个选项选择我们刚刚新建的数据源“商业数据分析实验” ,第二个选项则选择student_attendance_stats 所在的目录“cs_group_3”, 数据源选择完成后,labs目录下的数据表自动出现在画布左边,将student_attendance_stats拖拽至画布中

4.3 制作工作表

工作表是承载可视化图表、开展数据分析的基础单元

点击左边菜单中的“工作表”,进入工作表模块, 为方便管理,相同主题分析的工作表最好都放置在一个目录下,点击左上角的“+” - “新建分组”, 在弹窗中输入分组名称、选择所属分组、填写备注信息后点击“确认”

4.3.1 整体概况指标卡

指标卡是助睿BI 平台中用于直观展示核心统计数值的基础组件,能够快速呈现关键指标,便于整体把控高危群体概况。

4.3.1.1 纪律高危型总人数

右键或者点击学生考勤主题分析分组的“…”, 在操作列表中点击“新建工作表”, 在弹窗中输入工作表名称为“纪律高危型人数”、选择所属分组、填写备注信息后点击“确认”

在数据集下拉框中选择广告构建的数据集“学生考勤主题数据集”


纪律高危型人数=纪律高危型中的所有学生ID去重计数

在左边基础图表中点击“指标卡”, 将字段“student_id(学生ID)”拖拽到值, 点开字段“student_id”的聚合类型,点击“去重计数”

点击图形设置图标打开设置面板, 点击过滤器中的“+”,在下拉框中选择“attendance_group(考勤群体分类)”,并点击“确认”

点击过滤器中“attendance_group”后的“···” - “编辑”, 在过滤器配置中点击“包含以下选项”,并勾选“纪律高危型”,在点击“确认”

接下来,我们可以点击“样式设置”,对指标卡样式进行调整,调整后点击“显示分组”按钮,即可看到学生总人数指标卡已经发布成功

4.3.1.2 纪律高危型男生人数

参考“4.3.1.1 纪律高危型总人数”步骤,重新新建工作表“纪律高危型男生人数”,完成指标卡的制作,只需要多一步操作:在筛选器中添加“gender(性别)”字段,并设置为包含“男”

再调整一下样式即可

4.3.1.3 纪律高危型女生人数

参考“4.3.1.1 纪律高危型人数”步骤,重新新建工作表“纪律高危型女生人数”,完成指标卡的制作,只需要多一步操作:在筛选器中添加“gender(性别)”字段,并设置为包含“女”

再调整一下样式即可

4.3.1.4 纪律高危型未知性别人数

参考“4.3.1.1 纪律高危型人数”步骤,重新新建工作表“高危型未知性别人数”,完成指标卡的制作,只需要多一步操作:在筛选器中添加“gender(性别)”字段,并设置为包含“未知”

再调整一下样式即可

4.3.2 纪律高危型学生性别特征分析

在该环节,我们制作纪律高危型学生性别占比饼图,同时结合全校性别基数数据,分析高危群体的性别倾向

4.3.2.1 纪律高危型学生男女人数占比

新建工作表“纪律高危型学生男女人数占比”

数据集选择“学生考勤主题数据集”,图表类型选择“饼图”, 将字段“student_id”拖拽到值,“gender”拖拽到分类,并将“student_id”的聚合方式设置为“去重计数”, 可以看到存在性别“未知”数据,需要将“未知”数据过滤掉,点击图像设置,并点击过滤器中的“+”,在下拉列表中选择“gender”,最后点击“确认”

点击过滤器中的“gender”后的“···”,并点击“编辑”, 在过滤器设置中点击“排除以下选项”,勾选“未知”,点击“确认”

并点击过滤器中的“+”,在下拉列表中选择“attendance_group”,最后点击“确认”, 点击过滤器中的“attendance_group”后的“···”,并点击“编辑”, 在过滤器设置中点击“包含以下选项”,勾选“纪律高危型”,点击“确认”

系统默认的饼图没有百分比标签数据,我们可以点击“样式设置” - “图表元素设置” - “标签显示形式” - “勾选百分比”, 其他样式可根据自身需求设置,例如图表元素设置中的内环大小设置为“50%”,扇形设置中的扇形圆角半径设置为“10”

还可以修改主题色

4.3.2.2 全校学生男女人数占比

为了排除性别基数差异带来的误判,我们需要分析全校学生男女人数占比

新建工作表“全校学生男女人数占比”, 参考“4.3.2.1 纪律高危型学生男女人数占比”步骤,完成饼图制作,过滤器中只需要过滤掉性别“未知”的数据,考勤群体分类“attendance_group”无需做过滤

4.3.3 纪律高危型学生年级特征分析

在该环节,我们制作纪律高危型学生年级分布堆叠条形图,观察不同年级高危学生的情况

新建工作表“纪律高危型学生年级特征分析”

数据集选择“学生考勤主题数据集”,图表类型选择“柱状图”, 将字段“grade”拖拽到X轴,“student_id”拖拽到Y轴,并将“student_id”的聚合方式设置为“去重计数”, 点击图像设置按钮,在过滤器中添加字段“attendance_group”, 点击“attendance_group”后的“···” - “编辑”, 在过滤器配置窗口中点击“包含以下选项”,勾选“纪律高危型”,最后点击“确认”

4.3.4 纪律高危型学生校区类型 + 年级交叉特征分析

在该环节,为进一步探究高危学生在不同校区、不同年级的分布规律,我们制作纪律高危型学生校区类型 + 年级交堆叠状图,直观呈现各年级下新、老校区高危学生的人数分布情况,精准定位高危行为的高发区域

新建工作表“纪律高危型学生校区类型与年级交叉特征分析”

数据集选择“学生考勤主题数据集”,图表类型选择“柱状图”, 参考“5.3.3 纪律高危型学生年级特征分析”的步骤,先完成纪律高危型学生年级分布柱状图

接下来,将字段“campus_type”拖拽至“分组”, 将主题色设置成与上一个图表的主题色,并取消边框色

4.3.5 不同校区类型各年级学生人数

新建工作表“不同校区类型各年级学生人数”

参考“纪律高危型学生校区类型 + 年级交叉特征分析”步骤,完成不同校区类型各年级学生人数堆叠柱状图,过滤器不添加任何字段

4.3.6 纪律高危型学生班级特征分析

接下来我们分析纪律高危型学生的班级特征,定位高危学生集中的班级

新建工作表“纪律高危型学生班级特征分析”

数据集选择“学生考勤主题数据集”,图表类型选择“水平条图”, 将字段“class_name”拖拽至Y轴,“student_id”拖拽至X轴,并将“student_id”的聚合方式设置为“去重计数”, 过滤器中添加字段“attendance_group”, 点击“attendance_group”后的“···” - “编辑”, 过滤器设置中点击“包含以下选项”。勾选“纪律高危型”,最后点击“确认”, 为了方便观察高危型学生的集中班级,我们可以将“student_id”按降序排序,这样人数多的班级就排在前面

4.4 搭建综合仪表盘

点击左边菜单栏中的“仪表盘”, 点击左上角“+” - “新建仪表盘”, 仪表盘名字输入“纪律高危型学生用户画像分析”,备注信息输入“纪律高危型学生用户画像分析”,点击“确认”

在右边组件与工作表区域,点击“基础组件”, 拖拽一个文本组件到画布中, 文本内容输入“纪律高危型学生用户画像分析”,并设置字体颜色、字体大小、加粗、居中

切换到“工作表”,将4.3节中制作的工作表都拖拽至画布中, 拖入完毕后,使用鼠标对图表大小和布局进行调整,同时将以上的分析使用“文本”组件呈现在仪表盘中,形成完成的分析仪表盘,“文本”组件可通过关闭“超出隐藏”开关来实现换行, 预期效果如下:

5 纪律高危型学生画像分析总结

5.1 整体概况

纪律高危型学生存在高频迟到、早退、请假及校服违规行为,多维度违纪叠加,是校园考勤管理中最需重点关注的群体。该群体人数占比虽可控,但行为影响大,易引发不良风气,需专项治理

5.2 核心特征

  1. 性别特征:男生为高危群体主体,占比显著高于女生,是高危行为的主要发生对象,与男生规则意识薄弱、时间观念不足相关
  2. 年级特征:高度集中于高年级,随年级升高,高危学生占比明显上升,高年级学生学业压力大、自主空间广、心态浮躁,对考勤纪律重视度下降
  3. 校区特征:在不同校区呈现明显分布差异,高危学生高度集中在老校区,新校区风险较低,与校区通勤条件、管理模式、学风氛围密切相关
  4. 班级特征:存在明显班级聚集性,集中在少数管理薄弱、班风涣散的班级,与班级管理强度、同伴效应直接相关

5.3 管理建议

  1. 重点关注高年级男生群体:针对性开展考勤纪律教育与时间管理培训,强化规则意识,减少违纪行为发生
  2. 加强老校区高年级管理:针对老校区优化通勤管理、强化考勤监督,营造严谨学风氛围,降低学生违纪风险
  3. 整治高危学生集中班级:加强班主任监管力度,整顿班风,建立班级考勤责任制,阻断不良风气传染
  4. 建立高危学生台账:一对一建档,家校联动,制定个性化矫正方案,跟踪干预效果,防止违纪行为固化

6. 问题与解决

在本次实验过程中,遇到了一些问题,通过查阅资料、团队讨论和平台支持,最终得到了有效解决,主要问题如下:

6.1 数据导入时字段类型识别错误

问题描述
在 AI Studio 中使用“数据库加载”控件导入 student_attendance_stats 表时,系统自动识别的字段类型与预期不符,例如将 student_id 识别为字符串类型。

解决方法
在字段配置窗口中,手动为每个字段选择正确的属性类型(如将 student_id 和 class_id 设置为数值类型),并跳过不需要的字段,确保后续聚类分析能够正确计算。

6.2 K-Means 聚类结果可解释性差

问题描述
K-Means 聚类输出结果为 C1、C2、C3 等簇编号,无法直接判断每个簇对应的业务含义。

解决方法
通过助睿 BI 平台制作多组两两指标散点图(如迟到 vs 早退、迟到 vs 请假等),结合聚类簇的颜色分布,手动分析每个簇在各项指标上的表现,最终为 C1、C2、C3 赋予“自律模范型”、“轻微波动型”、“纪律高危型”的业务标签。

6.3 数据更新时字段匹配失败

问题描述
在 ETL 转换流中使用“更新”组件将聚类结果写入 student_attendance_stats 时,出现更新失败,原因是表字段名称与流字段名称不一致。

解决方法
在“更新”组件配置中,仔细检查“表字段”与“流字段”的对应关系,确保 cluster 和 attendance_group 字段正确匹配。同时,提前在目标表中手动添加这两个扩展字段,避免更新失败。

6.4 仪表盘图表数据不完整

问题描述
在助睿 BI 中制作仪表盘时,部分图表只显示 2000 条数据,无法展示全量学生信息。

解决方法
在图表设置中将“数据限额”从默认的 2000 条调整为“100%”,确保图表能够加载全量数据,避免分析结果偏差。

7. 实验总结

本实验基于学生考勤次数数据,完成了从K-Means聚类建模、业务解读到可视化画像分析的全流程。首先,利用迟到、早退等核心指标成功将学生划分为自律模范型、轻微波动型和纪律高危型三类群体,并借助助睿BI平台为聚类结果赋予了明确的业务含义。随后,将分析焦点锁定在对校园管理影响最大的纪律高危型群体,从性别、年级、校区、班级等多个维度进行了深入的特征画像分析。

通过分析发现,纪律高危型学生呈现出清晰的规律:男生占比显著高于女生,且高度集中于高三年级的老校区,并在少数班级中存在明显的聚集效应。这些发现为校园精细化管理提供了精准的数据支撑,建议后续管理中应重点关注高年级男生、加强对老校区的考勤监督,并对高危集中的班级进行班风整治,从而实现从数据发现到管理干预的有效闭环。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐