学生用户画像——考勤主题扩展标签构建
本实验依托已有的学生考勤主题标签数据表,运用 K-Means 聚类算法,选取迟到、早退、请假、校服违规等考勤相关指标开展学生考勤行为分群研究。实验借助 AI Studio 平台以零代码拖拽方式完成数据导入、K-Means 模型训练、聚类结果入库等建模流程,将学生划分为三类聚类群体;再通过助睿 BI 平台搭建多维度可视化分析图表与综合仪表盘,解读各类聚类簇的行为特征,明确区分出自律模范型、轻微波动型
1 实验说明
1.1 实验目的
基于已完成的学生考勤主题标签表(student_attendance_stats),使用 K-Means 聚类算法对学生考勤行为进行自动分群。通过迟到、早退、请假、校服违规次数等核心指标,识别不同类型的考勤群体,生成可解释的考勤画像,为校园学生管理、行为分析提供精准数据支撑。
1.2 实验环境
-
工具为助睿数智(Uniplore)在线实验平台:https://lab.guilan.cn/, 助睿数智(Uniplore)是AI驱动的一站式数据科学平台,覆盖从数据接入、ETL处理、机器学习建模到可视化展示的全链路零代码功能,本次实验主要用到以下功能平台:
-
数据集成平台(助睿 ETL)
-
人工智能平台(助睿 AI)
-
助睿BI 数据可视化探索平台
-
-
数据库:MySQL
-
前置数据:学生考勤主题标签表(student_attendance_stats)
2 实验数据
2.1 数据构成
本次实验使用上一实验输出的学生考勤主题标签表,数据包含学生基础信息与考勤次数统计结果,为聚类建模提供干净、标准化的特征数据。
2.2 字段说明
| 名称 | 说明 | 类型 |
|---|---|---|
| id | 自增主键 | 连续(整数) |
| student_id | 学生 ID | 连续(整数) |
| student_name | 学生姓名 | 文本 |
| class_id | 班级 ID | 连续(整数) |
| class_name | 班级名称 | 文本 |
| grade | 年级 | 文本 / 分类 |
| gender | 性别 | 二分类 |
| birth_date | 出生日期 | 文本 / 日期 |
| political_status | 政治面貌 | 文本 / 分类 |
| is_boarder | 是否住校 | 二分类 |
| campus_type | 校区类型 | 文本 / 分类 |
| late_count | 迟到次数 | 连续(整数) |
| early_leave_count | 早退次数 | 连续(整数) |
| leave_count | 请假次数 | 连续(整数) |
| uniform_violate_count | 没穿校服次数 | 连续(整数) |
| create_time | 统计入库时间 | 日期时间 |
2.3 建模思路
通过对数据的观察,以及对考勤分群的业务需求分析,确定本次建模分析思路如下:
-
数据维度清晰、变量数量适中,聚焦考勤行为核心指标,无需复杂降维。基于考勤业务理解,将变量聚焦在迟到次数、早退次数、请假次数、校服违规次数四类行为维度,每个维度直接反映一类考勤特征,变量间业务含义独立、相关性低,可直接用于 K-Means 聚类建模,避免变量冗余导致模型解释困难。
-
本次建模采用次数类连续变量,数据类型单一、适配 K-Means 算法要求。考勤次数均为非负整数,属于连续型变量,满足 K-Means 对数据类型的要求,无需进行哑变量编码、二值化或特殊转换,可直接输入模型,简化预处理流程,保证聚类结果稳定可靠。
-
学生基础离散属性(性别、年级、住校状态等)不参与聚类建模,仅作为后续画像标签的辅助解释变量。
3 实验步骤
人工智能平台(AI Studio)是一站式大数据智能应用平台,以零代码拖拽的方式简化机器学习全流程,提供从数据加载、预处理、特征工程到模型训练与评估的完整解决方案。平台内置 100 + 数据挖掘算法组件,支持主流深度学习框架,同时具备可视化建模、智能一键分析、协作共享与精细版本管理能力,无需深厚编程知识,即可高效实现数据价值挖掘与智能分析。
3.1 AI Studio 聚类建模
3.1.1 新建工作流
在该环节,我们使用 AI Studio 搭建从数据加载到聚类建模、结果输出的完整流程,为后续建模提供独立运行空间。
点击左边菜单“人工智能”,进入人工智能平台(AI Studio),进入人工智能模块用户空间

点击“+” - “新建工作流”

人工智能模块页面是集构建、运行、编辑、查看于一体的工作区域。在该模块页面中,主要包括三个模块,分别是菜单栏,控件列表以及画布(用于工作流构建)。如下图所示:
3.1.2 数据导入
首先,我们需要将 student_attendance_stats 的数据载入,搜索“数据库加载”控件,拖拽至画布

双击“数据库加载”控件,右边会出现参数配置窗口,将团队私有数据库的信息填入,并点击“连接”

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

选择后会自动加载表信息,我们主要是分析各类异常考勤占比的特征,所以只需保留 student_id 、class_id、late_count、early_leave_count、leave_count、uniform_violate_count,其他字段跳过(skip);为保留的字段选择对应的属性类型,最后点击“确定”
字段对应的属性类型参考如下:
| 属性名称 | 属性类型 | 属性名称 | 属性类型 |
|---|---|---|---|
| id | skip | political_status | skip |
| student_id | categorical | is_boarder | skip |
| student_name | skip | campus_type | skip |
| class_id | categorical | late_count | numeric |
| class_name | skip | early_leave_count | numeric |
| grade | skip | leave_count | numeric |
| gender | skip | uniform_violate_count | numeric |
| birth_date | skip | create_time | skip |
右键数据库加载空间,点击“运行该控件”
运行成功后可右键点击“查看输出结果”
可以看到保留下来的数据

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

双击“K-Means”组件,配置窗口中,簇数量选择固定3个,其他保持不变
右键运行该控件,查看输出结果,可以看到每个学生分别标记了对应的簇类C1/C2/C3

3.1.4 结果输出与保存
聚类后的数据我们需要保存到数据库中,以便后续使用
拖拽“数据入库”组件到画布,创建“K-Means”组件到“数据入库”组件的连线

双击“数据入库”组件,数据库配置中输入团队私有数据库的参数,并点击“获取表信息”

在弹出的窗口中,选择“新建数据表”,表名称修改为“student_cluster”,并点击“确定”
运行工作流,各控件均运行成功则工作流运行成功

3.2 分析聚类簇编号对应的考勤群体分类
上一步骤输出的聚类簇编号无法确定对应的考勤群体分类,可要通过助睿BI 可视化分析来确定
点击实验平台左边菜单“助睿BI”,进入助睿BI平台

进入助睿BI 平台的首页,可以看到该账户下的数据情况、数据分析处理流程、支持的数据源有哪些
如果是进入的页面是登录页面,可以关闭后,重新从实验平台进入
3.2.1 连接数据源
上一步骤输出的 student_cluster 存放于我们的团队私有数据库中,所以我们需要在助睿BI 平台中创建数据库连接
点击左边菜单中的“数据源”
点击左上角“+” - “新建连接” - “MySQL”
在弹出的窗口中输入自己所在小组在 Uniplore实验平台 的数据库连接账号信息,点击“测试连接”

出现“测试连接成功”表示我们的连接正确,点击“确认”

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

3.2.2 构建数据集
数据源连接成功后,我们要将需要分析的数据表构建为数据集
点击左边菜单中的“数据集”

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

数据集创建成功后,会自动跳到该数据集的配置页面,第一步需要先选择数据源,助睿BI平台为防止这个步骤遗漏,做了强提醒,点击“好的,我知道了”可关闭提醒
数据源的第一个选项选择我们刚刚新建的数据源“商业数据分析实验” ,第二个选项则选择student_cluster 所在的目录“labs”
数据源选择完成后,labs目录下的数据表自动出现在画布左边,将student_cluster 拖拽至画布中

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

其他字段的字段备注按照同样操作进行修改,字段别名参考如下:
| 原字段名 | 字段备注 |
|---|---|
| student_id | 学生ID |
| class_id | 班级ID |
| late_count | 迟到次数 |
| early_leave_count | 早退次数 |
| leave_count | 请假次数 |
| uniform_violate_count | 没穿校服次数 |
| Cluster | 聚类簇编号 |
| Silhouette | 轮廓系数 |
字段别名修改完成后,点击画布左上角“保存”按钮
在保存提示中点击“保存并发布”,只有发布后的数据集才能在工作表中引用
3.2.3 制作工作表
工作表是助睿BI 平台中用于承载可视化图表、完成数据探索与分析的核心单元,是实现数据可视化展示的基础载体。
接下来我们开始制作聚类簇编号对应的考勤群体分类工作表
点击左边菜单中的“工作表”,进入工作表模块
为了方便管理,我们将本次制作的工作表集中存放在一个目录下,点击左上角的“+” - “新建分组”
在弹窗中输入分组名称、选择所属分组、填写备注信息后点击“确认”

右键或者点击聚类簇对应的考勤画像群体分类分析分组的“…”
在操作列表中点击“新建工作表”
在弹窗中输入工作表名称为“迟到早退次数的聚类簇分析”、选择所属分组、填写备注信息后点击“确认”

自动跳转到工作表设计页面,点击右上角“好的,我知道了”来关闭提醒
数据集选择刚刚创建的“聚类簇编号数据集”

图表类型选择“探索器”
将字段“late_count(迟到次数)”拖拽到X轴,“early_leave_count(早退次数)”拖拽到Y轴
点击图形设置按钮,打开设置面板
在设置面板中,点击颜色区域的“+”,在下拉框中选择“Cluster(聚类簇编号)”,并点击“确认”

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

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

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

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

颜色设置后需要点击一下颜色区域外的地方才会生效

点击保存按钮,保存并发布工作表

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

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

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

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

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

3.2.4 搭建仪表盘
为了更好地观察分析以上制作的6个工作表,我们可以将它们放在一起
点击左边菜单“仪表盘”

点击左上角“+” - “新建仪表盘”
仪表盘名字输入“聚类簇分析”,备注信息输入“聚类簇分析”,点击“确认”
在右边组件与工作表区域,点击“基础组件”
拖拽一个文本组件到画布中
文本内容输入“聚类簇分析”,并设置字体颜色、字体大小、加粗、居中
关闭组件窗口
鼠标移至文本组件上,组件右下角可以拖动跳转组件大小
参考下图调整
为了防止后续位置改变,可以点击右上角图钉图表,固定位置
点击工作表组件显示按钮
切换到“工作表”,将3.2.3节中制作的工作表都拖拽至画布中
拖入完毕后,可以按住图标顶部中间位置拖动图标,并使用鼠标对图表大小和布局进行调整

预期效果如下:

点击保存按钮,保存并发布仪表盘

3.2.5 聚类群体画像解读
结合 6 组两两指标散点图的分布特征,我们可以为 C1、C2、C3 三类聚类簇赋予清晰的业务含义,完成从机器编号到可解释学生画像的转化:
-
C1(蓝色,自律模范型):在迟到、早退、请假、校服违规次数的所有组合中,数据点高度集中在低频次区间,无明显离群值。这类学生出勤稳定、纪律意识强,各类异常行为极少,是校园考勤行为的正面典型。
-
C2(青色,轻微波动型): 整体数据点同样集中在低频次区间,但相比 C1 分布略散,少量记录存在轻微的校服违规或请假行为,迟到、早退次数始终保持低位。这类学生整体纪律可控,仅存在偶发的轻微考勤波动,属于需要日常提醒的群体。
-
C3(黄色,纪律高危型): 数据点呈现明显的 “离群特征”,在迟到次数与其他指标的组合图中,出现了大量高频迟到记录,且伴随有不同程度的早退、请假或校服违规行为,是唯一存在多维度叠加违纪的群体。这类学生考勤问题突出,是校园管理中需要重点关注和干预的核心对象。
最终群体分类映射总结表:
|聚类簇编号|颜色|群体分类名称|核心特征|
| — | — | — | — |
|C1|蓝色|自律模范型|全维度异常次数均极低,出勤表现稳定,纪律意识强|
|C2|青色|轻微波动型|迟到早退次数低,偶发校服违规或请假,整体纪律可控|
|C3|黄色|纪律高危型|全维度异常次数均偏高,高频违纪行为叠加,存在极端离群记录|
3.3 将映射结果加入学生考勤主题标签表
我们需要将最终群体分类数据增加到上一个实验输出的结果表学生考勤主题标签表 student_attendance_stats 中
3.3.1 新增扩展字段
上一个实验输出的结果表学生考勤主题标签表 student_attendance_stats 中没有考勤群体分类的字段,需要增加
首先我们需要在 student_attendance_stats 中增加2个字段:
-
cluster:聚类簇编号
-
attendance_group:考勤群体分类
进入上一个实验在数据集成平台中创建的ETL项目,新建转换流“增加考勤主题扩展标签字段”,拖拽并“”组件到画布中

双击“执行一个SQL脚本”组件,在配置窗口中,数据库连接“团队私有数据库”,输入SQL脚本后点击:“确认”

SQL如下:
-- 为学生考勤统计表添加聚类结果字段
ALTER TABLE student_attendance_stats ADD COLUMN cluster VARCHAR(10) NULL DEFAULT NULL COMMENT '聚类簇编号', ADD COLUMN attendance_group VARCHAR(30) NULL DEFAULT NULL COMMENT '考勤群体分类';
执行转换流:
3.3.2 聚类簇编号数据获取
接下来,我们需要使用 3.1这步骤中 AI Studio 输出的结果表 student_cluster ,xxx
打开上一个实验创建的项目,创建转换流“增加考勤群体分类标签”
拖拽“表输入”组件到画布中
双击“表输入”组件,从团队私有数据库中获取 3.1步骤中的分类结果表 student_cluster 的所有SQL 查询语句
3.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 的配置如下:
最后点击“确认”
3.3.4 聚类簇编号映射
原始聚类簇编号以编号形式存储,可读性差,通过映射转换增加中文说明
添加“值映射”组件到画布中,并字段选择组件到值映射组件的连线,并选择“主输出步骤”
双击“值映射”组件,使用的字段名为“Cluster ”, 目标字段名为“attendance_group”
在下方字段值表格空白处右键,点击“插入”
双击插入的行,在源值中输入“C1”,目标值输入“轻微波动型”,代表将原数据中的“C1”统一映射为“轻微波动型”
同样的,再插入2行,设置:
-
源值:“C2”,目标值:“自律模范型”
-
源值:“C3”,目标值:“纪律高危型”
并点击“确认”
3.3.5 更新学生考勤主题标签
拖拽“更新”组件到画布中,并创建值映射组件到更新组件的连线
双击“更新”组件,在配置窗口中,数据库连接选择团队私有数据,目标模式为labs
点击目标表后的“浏览”按钮,选择 student_attendance_stats,并点击“确定”
用来查询的关键字表格空白处获取字段,保留 student_id、class_id,表示更新时查询到数据表与流里的字段1相同时,执行更新操作
更新字段表格空白处获取字段,删除 student_id,这里需要注意,我们在增加扩展字段时,聚类簇编号的字段为cluster,所以在表字段的 Cluster 字段中需要双击后点击下拉框选择正确的表字段
最后的配置如下,表示当数据表的student_id与流里的student_id相同时,将流字段Cluster、attendance_group的值更新到表字段cluster、attendance_group中
3.3.6 运行转换流
点击运行按钮
执行结果和日志:

3.3.7 查看结果
切换“元数据”选项,右键“团队私有数据库”,点击“加载元数据”

加载成功后点击“数据探查”
在团队私有数据库中点击 student_attendance_stats ,在点击“查询”,可以看到 cluster、attendance_group的数据已经更新成功了
4 实验总结
本次实验基于学生考勤次数数据,通过 K-Means 聚类算法完成学生考勤群体自动划分,利用次数特征建模保证了聚类结果的稳定性与可解释性。借助 助睿BI 平台实现可视化分析,为机器生成的聚类簇赋予明确的业务含义,精准划分出自律模范型、轻微波动型、纪律高危型三类学生群体。最终将聚类标签回写至原始考勤表,完成考勤主题扩展标签构建,为校园学生精细化管理、行为干预和个性化教育提供了可靠的数据支撑。
更多推荐



























































所有评论(0)