#助睿数智 #商业数据分析 #K-Means聚类 #学生考勤分析

一、实验背景

1.1 实验目的

本次实验基于上一实验生成的学生考勤主题标签表(student_attendance_stats),利用K-Means聚类算法对学生考勤行为进行自动分群。具体目标如下:

  • 掌握在助睿数智(Uniplore)平台上完成从数据加载、K-Means建模、结果保存到可视化分析的全流程零代码操作。

  • 通过迟到次数、早退次数、请假次数、校服违规次数四个核心指标,将学生划分为不同考勤群体,并赋予可解释的画像标签。

  • 将聚类结果回写至原始考勤表,丰富学生考勤主题标签,为校园精细化管理提供数据支撑。

1.2 实验环境

  • 平台:助睿数智(Uniplore)一站式数据科学实验平台(https://lab.guilian.cn/),该平台覆盖数据接入、ETL处理、机器学习建模到可视化分析的全链路零代码功能。产品官网:https://www.uniplore.com/

  • 子平台

    • 数据集成平台(助睿 ETL)

    • 人工智能平台(助睿 AI Studio)

    • 助睿BI 数据可视化探索平台

  • 数据库:MySQL(团队私有数据库)

  • 前置数据:学生考勤主题标签表(student_attendance_stats),包含学生基础信息和考勤次数统计。

1.3 处理流程简述

整个实验分为三大阶段:

  1. AI Studio聚类建模:加载考勤次数字段,使用K-Means算法将学生聚为3类,生成含聚类簇编号的结果表student_cluster

  2. BI可视化画像解读:将聚类结果导入助睿BI,制作多组散点图,根据各簇在迟到、早退、请假、校服违规上的分布特征,为每个簇赋予业务含义(自律模范型/轻微波动型/纪律高危型)。

  3. ETL标签回写:在原考勤表student_attendance_stats中增加clusterattendance_group字段,并通过字段选择、值映射、更新等组件完成数据回写。


二、实验步骤

2.1 AI Studio 聚类建模

2.1.1 新建工作流

登录助睿实验平台(https://lab.guilian.cn/),点击左侧菜单“人工智能”,进入AI Studio。点击“+”→“新建工作流”,命名为“学生考勤聚类分析”。

2.1.2 数据导入

从控件列表搜索“数据库加载”组件,拖拽至画布。双击组件,配置团队私有数据库连接信息(主机、端口、数据库名、用户名、密码),点击“连接”。

在弹出的表选择窗口中,选择student_attendance_stats表。在字段配置界面,仅保留student_idclass_idlate_countearly_leave_countleave_countuniform_violate_count,其余字段设为“skip”。将保留字段的属性类型设为“categorical”(前两个)或“numeric”(后四个)。点击“确定”。

右键单击“数据库加载”组件,选择“运行该控件”,运行成功后右键“查看输出结果”,确认数据已正确加载。

2.1.3 K-Means 聚类建模

拖拽“K-Means”组件至画布,连接“数据库加载”组件到“K-Means”。双击K-Means组件,在配置窗口中:

  • 簇数量:选择“固定个数” → 输入“3”

  • 其他参数保持默认。

右键运行K-Means组件,查看输出结果。可以看到每个学生对应一个簇编号(C1/C2/C3)。

2.1.4 结果输出与保存

拖拽“数据入库”组件到画布,连接K-Means组件到“数据入库”。双击“数据入库”,配置团队私有数据库连接,点击“获取表信息”,选择“新建数据表”,表名设为student_cluster,点击“确定”。

右键画布空白处选择“运行工作流”,等待所有控件运行成功(右上角显示绿色对勾)。

2.2 助睿BI可视化分析:聚类画像解读

2.2.1 连接数据源

点击左侧菜单“助睿BI”,进入BI平台。点击“数据源”→“+”→“新建连接”→选择“MySQL”。输入团队私有数据库连接信息(与前面一致),点击“测试连接”,成功后点击“确认”。

在数据源列表中展开新建的连接,找到student_cluster表,右键可预览数据。

2.2.2 构建数据集

点击左侧“数据集”→“+”→“新建数据集”,名称输入“聚类簇编号数据集”,所属分组默认,点击“确认”。自动跳转至数据集配置页面。

在数据源选择区,第一项选刚建的MySQL连接,第二项选目录,然后拖拽student_cluster表至画布。在下方字段列表中,依次为每个字段设置备注(别名):

  • student_id → 学生ID

  • class_id → 班级ID

  • late_count → 迟到次数

  • early_leave_count → 早退次数

  • leave_count → 请假次数

  • uniform_violate_count → 没穿校服次数

  • Cluster → 聚类簇编号

  • Silhouette → 轮廓系数

完成后点击左上角“保存”→“保存并发布”。

2.2.3 制作工作表(散点图分析)

点击“工作表”,先新建分组“考勤画像分析”。在分组下新建工作表,命名为“迟到与早退次数的聚类簇分析”。

选择数据集为“聚类簇编号数据集”,图表类型选“探索器”。将late_count(迟到次数)拖至X轴,early_leave_count(早退次数)拖至Y轴。点击图形设置按钮:

  • 颜色区域点击“+”,选择“Cluster(聚类簇编号)”并确认。

  • 信息区域点击“+”,选择“student_id(学生ID)”并确认,将其设置为“维度”。

  • 将数据限额设为“100%”(避免只显示前2000条)。


     

调整颜色主题(如蓝、青、黄三色),点击保存发布。

按照相同方法依次创建以下工作表(两两组合):

  • 迟到与请假次数

  • 迟到与没穿校服次数

  • 早退与请假次数

  • 早退与没穿校服次数

  • 请假与没穿校服次数

2.2.4 搭建仪表盘

点击“仪表盘”→“+”→“新建仪表盘”,名称“聚类簇分析”。在右侧组件区拖拽一个“文本组件”,输入标题“学生考勤聚类画像分析”,设置居中、加粗、字体大小。固定位置(点击图钉图标)。

切换到“工作表”标签,将上述制作的6个工作表依次拖拽至画布,调整大小和布局(例如两行三列)。保存并发布仪表盘。

2.2.5 聚类群体画像解读

根据散点图分布,我们得出以下结论:

  • C1(蓝色):所有指标组合中,数据点高度集中在低频次区间,无离群值 → 自律模范型(出勤稳定,纪律意识强)

  • C2(青色):整体低频,但部分点略散,偶有校服违规或请假,迟到早退低 → 轻微波动型(整体可控,需日常提醒)

  • C3(黄色):迟到次数与其他指标组合中出现大量高频记录,且伴随早退、请假或校服违规 → 纪律高危型(多维度违纪,需重点干预)

聚类簇编号 颜色 群体分类名称 核心特征
C1 蓝色 自律模范型 全维度异常次数极低,出勤稳定
C2 青色 轻微波动型 迟到早退低,偶发校服违规或请假
C3 黄色 纪律高危型 全维度异常次数偏高,有极端离群记录

2.3 ETL回写:将分类标签加入原考勤表

2.3.1 新增扩展字段

回到数据集成平台(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 '考勤群体分类';

点击“确认”,运行转换流。执行成功后,原表增加两个空字段。

2.3.2 聚类簇编号数据获取

新建转换流“更新考勤群体分类”。拖拽“表输入”组件,双击配置,从团队私有数据库中获取 3.1步骤中的分类结果表 student_cluster 的所有SQL 查询语句

拖拽“字段选择”组件,连接至表输入。双击字段选择,点击“获取字段”,然后仅保留student_id,class_idCluster,删除其他字段。在“元数据”标签页中将student_idclass_id的类型均改为Integer

2.3.3 值映射(编号转含义)

拖拽“值映射”组件,连接到字段选择。双击值映射:

  • 使用的字段名:Cluster

  • 目标字段名:attendance_group

  • 在下方面板插入三行映射:

    • 源值:C1 → 目标值:轻微波动型

    • 源值:C2 → 目标值:自律模范型

    • 源值:C3 → 目标值:纪律高危型
      点击“确认”。


      注:连线后选择主输出步骤

2.3.4 更新原表

拖拽“更新”组件,连接到值映射。双击更新组件:

  • 数据库连接:团队私有数据库

  • 目标模式:labs

  • 目标表:student_attendance_stats(点击浏览选择)

  • 用来查询的关键字:获取字段后保留student_id(确保匹配唯一学生)

  • 更新字段:获取字段后删除student_id,将流字段Cluster对应表字段cluster,流字段attendance_group对应表字段attendance_group


运行该转换流,查看日志显示更新成功记录数等于学生总数。

2.3.5 验证结果

在数据集成平台中,右键“团队私有数据库” → “加载元数据”,然后展开labs下的student_attendance_stats表,点击“数据探查”,执行查询。可以看到clusterattendance_group字段已正确填充。


三、实验结果

3.1 输出文件

  • 聚类结果表student_cluster,包含student_id、Cluster及轮廓系数。

  • 扩展后的考勤主题标签表student_attendance_stats,新增clusterattendance_group字段。

3.2 可视化仪表盘

仪表盘展示了6组两两指标散点图,清晰呈现三个聚类簇在不同维度上的分离情况。例如:

  • 迟到与早退图中,C3(黄色)明显分布在右上角高值区域,C1(蓝色)集中在左下角。

  • 请假与校服违规图中,C2(青色)在请假轴上有少量中等值,C1始终极低。

3.3 结果验证

随机抽查若干学生:

  • 学生A(cluster=C1,attendance_group=自律模范型):late_count=0,early_leave_count=0,leave_count=0,uniform_violate_count=0 → 符合定义。

  • 学生B(cluster=C2,attendance_group=轻微波动型):late_count=1,uniform_violate_count=1 → 偶发轻微违规。

  • 学生C(cluster=C3,attendance_group=纪律高危型):late_count=12,early_leave_count=3,uniform_violate_count=5 → 多维度高频违纪。

验证无误,聚类结果具有业务可解释性。


四、问题与解决

问题1:数据库加载后字段类型不匹配

  • 问题现象:在AI Studio中加载数据后,查看输出发现late_count等数值字段被识别为文本类型,导致后续K-Means无法运行。

  • 问题原因:数据库表中该字段虽为整数,但平台自动识别元数据时受空值或默认值影响,误判为字符串。

  • 解决方法:在数据库加载组件的字段配置界面,手动将late_countearly_leave_countleave_countuniform_violate_count的属性类型改为numeric。重新运行后正常。

问题2:BI中散点图只显示了部分数据

  • 问题现象:在助睿BI制作散点图时,图上只有少数点,未显示所有学生。

  • 问题原因:探索器默认数据限额为2000条,而学生总数超过2000(实验数据约3000人),超出部分未加载。

  • 解决方法:在图表设置中,将“数据限额”从2000改为“100%”,然后刷新图表,所有数据点正常显示。

问题3:更新组件执行后原表无变化

  • 问题现象:ETL中运行“更新”组件成功,但查询student_attendance_stats发现新增字段仍为空。

  • 问题原因:更新组件中“用来查询的关键字”只选了student_id,但流中student_id类型为String,而表中student_id为Integer,类型不匹配导致无法匹配记录。

  • 解决方法:在“字段选择”组件的元数据页签,将student_id的类型强制设为Integer。重新运行更新,数据成功写入。


五、实验总结

5.1 收获

通过本次实验,我完整掌握了以下技能:

  • 助睿AI Studio中零代码完成K-Means聚类建模,包括数据加载、参数配置、结果保存。

  • 使用助睿BI进行多维度散点图分析,通过颜色映射和交互探索,为聚类结果赋予实际业务含义。

  • 利用数据集成平台(ETL) 的字段选择、值映射、更新等组件,将机器学习结果回写至原始业务表,形成闭环的数据加工流程。

5.2 对平台的评价

助睿数智(Uniplore)平台真正实现了“零代码数据智能”。从ETL到AI建模再到BI可视化,所有操作均可通过拖拽和配置完成,无需编写代码,大幅降低了数据分析的门槛。平台各模块之间无缝衔接(例如AI Studio的输出可直接被BI和ETL使用),非常适合高校教学和企业快速原型开发。本次实验流程顺畅,帮助文档和社区支持也比较完善。唯一的小建议是BI的默认限额可以自动适应数据量,减少手动调整的步骤。

Logo

一站式 AI 云服务平台

更多推荐