从零构建学生考勤画像:K-Means聚类+BI可视化完整实战指南
学生用户画像实验指导—— 考勤主题扩展标签构建与可视化分析实验概述本实验指导包含两个相互关联的实验模块旨在通过数据驱动的方式构建学生考勤画像体系实验一考勤主题扩展标签构建基于学生考勤数据使用K-Means聚类算法对学生考勤行为进行自动分群识别不同类型的考勤群体生成可解释的考勤画像标签。实验二考勤画像可视化分析基于已完成聚类的学生考勤数据聚焦“纪律高危型”群体通过助睿BI平台进行可视化分析为精准干预和重点整治提供数据支撑。实验环境实验平台助睿数智Uniplore在线实验平台https://lab.guilan.cn/产品官网https://www.uniplore.com/数据库MySQL主要功能模块数据集成平台助睿ETL、人工智能平台AI Studio、助睿BI数据可视化探索平台实验一考勤主题扩展标签构建实验目的基于学生考勤主题标签表student_attendance_stats使用K-Means聚类算法对学生考勤行为进行自动分群。通过迟到、早退、请假、校服违规次数等核心指标识别不同类型的考勤群体生成可解释的考勤画像为校园学生管理、行为分析提供精准数据支撑。数据说明本次实验使用学生考勤主题标签表数据包含学生基础信息与考勤次数统计结果为聚类建模提供干净、标准化的特征数据。字段说明字段名称说明类型身份证自增主键连续整数student_id学生ID连续整数student_name学生姓名文本class_id班级ID连续整数class_name班级名称文本坡度年级文本/分类性别性别二分类birth_date出生日期文本/日期political_status政治面貌文本/分类is_boarder是否住校二分类campus_type校区类型文本/分类late_count迟到次数连续整数early_leave_count早退次数连续整数leave_count请假次数连续整数uniform_violate_count没穿校服次数连续整数create_time统计入库时间日期时间显示详细信息建模思路聚焦核心指标将变量聚焦在迟到次数、早退次数、请假次数、校服违规次数四类行为维度每个维度直接反映一类考勤特征变量间业务含义独立、相关性低可直接用于K-Means聚类建模。数据适配性考勤次数均为非负整数属于连续型变量满足K-Means对数据类型的要求无需进行哑变量编码或特殊转换可直接输入模型。辅助变量学生基础离散属性性别、年级、住校状态等不参与聚类建模仅作为后续画像标签的辅助解释变量。实验步骤步骤1新建工作流点击左侧菜单人工智能进入AI Studio平台点击按钮选择新建工作流进入工作流构建页面页面包含菜单栏、控件列表和画布区域步骤2数据导入搜索数据库加载控件拖拽至画布双击控件在参数配置窗口中填入团队私有数据库信息点击连接在下拉框中选择student_attendance_stats表保留字段student_id、class_id、late_count、early_leave_count、leave_count、uniform_violate_count其他字段设置为skip为保留字段选择属性类型student_id和class_id选择categorical其余选择numeric右键点击控件选择运行该控件运行成功后查看输出结果步骤3K-Means聚类建模拖入K-Means组件创建从数据库加载组件到K-Means组件的连线双击K-Means组件在配置窗口中将簇数量设置为固定3个右键运行该控件查看输出结果确认每个学生已标记对应的簇类C1/C2/C3步骤4结果输出与保存拖拽数据入库组件到画布创建K-Means组件到数据入库组件的连线双击数据入库组件输入团队私有数据库参数点击获取表信息选择新建数据表表名称修改为student_cluster点击确定运行工作流确认各控件均运行成功步骤5分析聚类簇对应的考勤群体分类点击实验平台左侧菜单助睿BI进入助睿BI平台点击左侧菜单数据源创建MySQL数据库连接输入团队私有数据库连接信息测试连接成功后确认点击左侧菜单数据集新建数据集选择新建的数据源和目录将student_cluster表拖拽至画布修改字段备注为中文学生ID、班级ID、迟到次数、早退次数、请假次数、没穿校服次数、聚类簇编号、轮廓系数保存并发布制作工作表工作表是助睿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节中制作的工作表都拖拽至画布中拖入完毕后可以按住图标顶部中间位置拖动图标并使用鼠标对图表大小和布局进行调整预期效果如下点击保存按钮保存并发布仪表盘聚类群体画像解读结合 6 组两两指标散点图的分布特征我们可以为 C1、C2、C3 三类聚类簇赋予清晰的业务含义完成从机器编号到可解释学生画像的转化C1蓝色自律模范型在迟到、早退、请假、校服违规次数的所有组合中数据点高度集中在低频次区间无明显离群值。这类学生出勤稳定、纪律意识强各类异常行为极少是校园考勤行为的正面典型。C2青色轻微波动型 整体数据点同样集中在低频次区间但相比 C1 分布略散少量记录存在轻微的校服违规或请假行为迟到、早退次数始终保持低位。这类学生整体纪律可控仅存在偶发的轻微考勤波动属于需要日常提醒的群体。C3黄色纪律高危型 数据点呈现明显的 “离群特征”在迟到次数与其他指标的组合图中出现了大量高频迟到记录且伴随有不同程度的早退、请假或校服违规行为是唯一存在多维度叠加违纪的群体。这类学生考勤问题突出是校园管理中需要重点关注和干预的核心对象。最终群体分类映射总结表|聚类簇编号|颜色|群体分类名称|核心特征|| — | — | — | — | |C1|蓝色|自律模范型|全维度异常次数均极低出勤表现稳定纪律意识强| |C2|青色|轻微波动型|迟到早退次数低偶发校服违规或请假整体纪律可控| |C3|黄色|纪律高危型|全维度异常次数均偏高高频违纪行为叠加存在极端离群记录|将映射结果加入学生考勤主题标签表我们需要将最终群体分类数据增加到上一个实验输出的结果表学生考勤主题标签表 student_attendance_stats 中新增扩展字段上一个实验输出的结果表学生考勤主题标签表 student_attendance_stats 中没有考勤群体分类的字段需要增加首先我们需要在 student_attendance_stats 中增加2个字段cluster聚类簇编号attendance_group考勤群体分类进入上一个实验在数据集成平台中创建的ETL项目新建转换流“增加考勤主题扩展标签字段”拖拽并“”组件到画布中双击“执行一个SQL脚本”组件在配置窗口中数据库连接“团队私有数据库”输入SQL脚本后点击“确认”SQL如下-- 为学生考勤统计表添加聚类结果字段ALTER TABLE student_attendance_statsADD COLUMN cluster VARCHAR(10) NULL DEFAULT NULL COMMENT 聚类簇编号,ADD COLUMN attendance_group VARCHAR(30) NULL DEFAULT NULL COMMENT 考勤群体分类;执行转换流聚类簇编号数据获取接下来我们需要使用 3.1这步骤中 AI Studio 输出的结果表 student_cluster xxx打开上一个实验创建的项目创建转换流“增加考勤群体分类标签”拖拽“表输入”组件到画布中双击“表输入”组件从团队私有数据库中获取 3.1步骤中的分类结果表 student_cluster 的所有SQL 查询语句字段选择获取的数据中我们只需保留 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 的配置如下最后点击“确认”聚类簇编号映射原始聚类簇编号以编号形式存储可读性差通过映射转换增加中文说明添加“值映射”组件到画布中并字段选择组件到值映射组件的连线并选择“主输出步骤”双击“值映射”组件使用的字段名为“Cluster ” 目标字段名为“attendance_group”在下方字段值表格空白处右键点击“插入”双击插入的行在源值中输入“C1”目标值输入“轻微波动型”代表将原数据中的“C1”统一映射为“轻微波动型”同样的再插入2行设置源值“C2”目标值“自律模范型”源值“C3”目标值“纪律高危型”并点击“确认”3.3.5 更新学生考勤主题标签拖拽“更新”组件到画布中并创建值映射组件到更新组件的连线双击“更新”组件在配置窗口中数据库连接选择团队私有数据目标模式为cs_group_18点击目标表后的“浏览”按钮选择 student_attendance_stats并点击“确定”用来查询的关键字表格空白处获取字段保留 student_id、class_id表示更新时查询到数据表与流里的字段1相同时执行更新操作更新字段表格空白处获取字段删除 student_id这里需要注意我们在增加扩展字段时聚类簇编号的字段为cluster所以在表字段的 Cluster 字段中需要双击后点击下拉框选择正确的表字段最后的配置如下表示当数据表的student_id与流里的student_id相同时将流字段Cluster、attendance_group的值更新到表字段cluster、attendance_group中运行转换流点击运行按钮执行结果和日志3.3.7 查看结果切换“元数据”选项右键“团队私有数据库”点击“加载元数据”加载成功后点击“数据探查”在团队私有数据库中点击 student_attendance_stats 在点击“查询”可以看到 cluster、attendance_group的数据已经更新成功了实验二考勤画像可视化分析实验目的基于已完成K-Means聚类并标注考勤群体的学生考勤主题标签表聚焦纪律高危型群体分析其行为特征。相比其他群体该群体存在高频违纪、多维度异常叠加等行为特征是校园考勤管理中风险最高、影响最大的群体。通过专项画像分析可为精准干预和重点整治提供数据支撑助力校园精细化管理。数据结构student_attendance_stats学生考勤主题标签表在实验一的基础上增加了聚类结果字段字段名字段类型说明clustervarchar(10)聚类簇编号C1/C2/C3attendance_groupvarchar(30)考勤群体分类考勤群体分类示例student_idlate_countearly_leaveleave_countuniform_violateattendance_group108421030纪律高危型108440050纪律高危型108453000纪律高危型实验步骤步骤1进入助睿BI并连接数据源进入实验平台点击左侧菜单助睿BI进入可视化探索平台由于实验一已创建数据库连接可直接使用现有数据源无需重复连接步骤2构建数据集点击左侧菜单数据集点击 - 新建数据集输入数据集名称、所属分组、备注信息点击确认选择数据源和目录将student_attendance_stats表拖拽至画布由于建表语句已包含中文字段备注直接点击保存并发布步骤3制作工作表 - 整体概况指标卡点击左侧菜单工作表进入工作表模块点击 - 新建分组创建学生考勤主题分析分组在分组中右键点击新建工作表输入工作表名称如自律模范型人数在数据集下拉框中选择学生考勤主题数据集在基础图表中点击指标卡将student_id字段拖拽到值区域将student_id的聚合类型设置为去重计数点击过滤器选择attendance_group字段设置为包含目标考勤群体如自律模范型点击样式设置调整指标卡样式• 基础设置4个边距都改为最大值16• 标题设置字体大小16颜色红色顶部居中• 值设置字体大小30颜色红色粗体水平居中点击保存并发布完成指标卡制作步骤4制作细分指标卡参考步骤3制作其他指标卡如纪律高危型男生人数只需在筛选器中额外添加gender字段并设置为包含男即可。纪律高危型学生性别特征分析在该环节我们制作纪律高危型学生性别占比饼图同时结合全校性别基数数据分析高危群体的性别倾向纪律高危型学生男女人数占比新建工作表“纪律高危型学生男女人数占比”数据集选择“学生考勤主题数据集”图表类型选择“饼图”将字段“student_id”拖拽到值“gender”拖拽到分类并将“student_id”的聚合方式设置为“去重计数”可以看到存在性别“未知”数据需要将“未知”数据过滤掉点击图像设置并点击过滤器中的“”在下拉列表中选择“gender”最后点击“确认”点击过滤器中的“gender”后的“···”并点击“编辑”在过滤器设置中点击“排除以下选项”勾选“未知”点击“确认”并点击过滤器中的“”在下拉列表中选择“attendance_group”最后点击“确认”点击过滤器中的“attendance_group”后的“···”并点击“编辑”在过滤器设置中点击“包含以下选项”勾选“纪律高危型”点击“确认”系统默认的饼图没有百分比标签数据我们可以点击“样式设置” - “图表元素设置” - “标签显示形式” - “勾选百分比”其他样式可根据自身需求设置例如图表元素设置中的内环大小设置为“50%”扇形设置中的扇形圆角半径设置为“10”还可以修改主题色样式调整完毕后点击“保存”按钮“保存并发布”工作表全校学生男女人数占比为了排除性别基数差异带来的误判我们需要分析全校学生男女人数占比新建工作表“全校学生男女人数占比”参考“3.4.2.1 纪律高危型学生男女人数占比”步骤完成饼图制作过滤器中只需要过滤掉性别“未知”的数据考勤群体分类“attendance_group”无需做过滤性别特征分析排除性别未知数据的情况下从全校性别分布来看男生本身基数略高于女生占比为 53.03%女生占比为 46.97%在纪律高危型学生群体中男生占比进一步上升至 54.22%女生占比则下降至 45.78%对比两组数据可以发现男生在高危群体中的占比54.22%略高于其在全校的基数占比53.03%而女生在高危群体中的占比45.78%则低于其在全校的基数占比46.97%这一结果表明纪律高危型学生中男生占比偏高并非由全校性别基数差异导致而是男生在考勤违纪行为上的真实风险更高。男生规则意识、时间观念相对薄弱更易出现高频违纪行为因此是高危群体的主要构成对象后续管理需针对性加强男生考勤纪律引导纪律高危型学生年级特征分析在该环节我们制作纪律高危型学生年级分布堆叠条形图观察不同年级高危学生的情况新建工作表“纪律高危型学生年级特征分析”数据集选择“学生考勤主题数据集”图表类型选择“柱状图”将字段“grade”拖拽到X轴“student_id”拖拽到Y轴并将“student_id”的聚合方式设置为“去重计数”点击图像设置按钮在过滤器中添加字段“attendance_group”点击“attendance_group”后的“···” - “编辑”在过滤器配置窗口中点击“包含以下选项”勾选“纪律高危型”最后点击“确认”点击“保存”按钮“保存并发布”工作表纪律高危型学生校区类型 年级交叉特征分析在该环节为进一步探究高危学生在不同校区、不同年级的分布规律我们制作纪律高危型学生校区类型 年级交堆叠状图直观呈现各年级下新、老校区高危学生的人数分布情况精准定位高危行为的高发区域新建工作表“纪律高危型学生校区类型与年级交叉特征分析”数据集选择“学生考勤主题数据集”图表类型选择“柱状图”参考“3.4.3 纪律高危型学生年级特征分析”的步骤先完成纪律高危型学生年级分布柱状图接下来将字段“campus_type”拖拽至“分组”将主题色设置成与上一个图表的主题色并取消边框色先点击“保存”按钮“保存并发布”工作表不同校区类型各年级学生人数新建工作表“不同校区类型各年级学生人数”参考“纪律高危型学生校区类型 年级交叉特征分析”步骤完成不同校区类型各年级学生人数堆叠柱状图过滤器不添加任何字段分析高一老校区 1021 人新校区 148 人高二老校区 1079 人新校区 295 人高三老校区 1883 人新校区无学生分布结合纪律高危型学生校区类型 年级交叉特征分析可以发现高三老校区是高危行为的绝对高发区高三年级学生全部集中在老校区且高危学生人数达到 261 人是所有校区和年级中的最高值这一结果与高危群体年级分布特征高度吻合。新校区整体风险可控新校区学生基数较小高危学生人数也相应较少且高三年级无学生分布因此不存在高三高危学生整体考勤纪律表现优于老校区。综合来看老校区尤其是高三年级是纪律高危型学生的核心聚集区后续管理需重点聚焦老校区高年级学生群体结合校区通勤条件、管理模式、学风氛围等因素制定针对性的考勤管理措施。纪律高危型学生班级特征分析接下来我们分析纪律高危型学生的班级特征定位高危学生集中的班级新建工作表“纪律高危型学生班级特征分析”数据集选择“学生考勤主题数据集”图表类型选择“水平条图”将字段“class_name”拖拽至Y轴“student_id”拖拽至X轴并将“student_id”的聚合方式设置为“去重计数”过滤器中添加字段“attendance_group”点击“attendance_group”后的“···” - “编辑”过滤器设置中点击“包含以下选项”。勾选“纪律高危型”最后点击“确认”为了方便观察高危型学生的集中班级我们可以将“student_id”按降序排序这样人数多的班级就排在前面从班级水平条图可以清晰看到纪律高危型学生高度集中在少数班级其中高三 09 班高危人数最多其次为高三 08 班、高三 02 班等多数班级高危人数极少呈现明显的班级聚集性。结合年级分布特征来看高危学生主要集中在高三年级的部分班级这既与高三学生升学备考节奏紧张、课程安排灵活有关也说明高危行为与班级管理强度、班风氛围、同伴影响密切相关。少数薄弱班级需要重点整治通过加强班主任监管、整顿班风阻断不良风气传染。点击样式设置将主题色设置为同之前的图表的主题色一样点击“保存”按钮“保存并发布”工作表3.5 搭建综合仪表盘点击左边菜单栏中的“仪表盘”点击左上角“” - “新建仪表盘”仪表盘名字输入“纪律高危型学生用户画像分析”备注信息输入“纪律高危型学生用户画像分析”点击“确认”在右边组件与工作表区域点击“基础组件”拖拽一个文本组件到画布中文本内容输入“纪律高危型学生用户画像分析”并设置字体颜色、字体大小、加粗、居中关闭组件窗口组件右下角可以拖动跳转组件大小参考下图调整点击图表组件显示按钮切换到“工作表”将3.4节中制作的工作表都拖拽至画布中拖入完毕后使用鼠标对图表大小和布局进行调整同时将以上的分析使用“文本”组件呈现在仪表盘中形成完成的分析仪表盘“文本”组件可通过关闭“超出隐藏”开关来实现换行预期效果如下设计完毕后点击“发布”保存并发布仪表盘点击“预览”即可全屏查看仪表盘发布成功后可以点击“分享”并选择不同的分享方式将仪表盘分享给其他人查看将分享的信息复制发送给其他人其他人即可点击仪表盘的分享链接进行查看实验总结通过本实验我们完成了学生考勤画像的完整构建流程1. 数据准备阶段明确数据字段含义确定建模所需的核心特征变量迟到、早退、请假、校服违规次数。2. 聚类建模阶段使用K-Means算法对学生进行自动分群将学生划分为不同的考勤行为群体。3. 标签生成阶段根据聚类结果识别考勤群体类型如纪律高危型、自律模范型、轻微波动型等。4. 可视化分析阶段通过助睿BI平台制作指标卡直观展示各考勤群体的人数分布为校园管理决策提供数据支撑。该画像体系可广泛应用于学生行为预警、班级管理评估、校园纪律整治等场景实现从经验管理到数据驱动的转型升级。