放弃手敲 Python 后,我用零代码把几十万条考勤数据盘“活”了(附完整踩坑录)
【实验摘要】基于学生考勤数据,本研究通过助睿数智平台实现无监督学习与业务画像转化闭环。采用K-Means算法将学生分为三类群体:C1(自律模范型)异常行为极少,C2(轻微波动型)偶发违规需提醒,C3(纪律高危型)高频多维度违纪需重点干预。实验创新性结合AIStudio建模、BI可视化解读与ETL标签固化,解决了聚类结果解释性差(通过散点图分析赋予业务含义)和数据回写类型错误(字段类型强制转换)等关
标签: #助睿数智 #商业数据分析 #教育大数据 #机器学习 #K-Means聚类 #用户画像
一、实验背景
1. 实验目的
本次实验建立在上一阶段学生考勤数据加工完成的基础之上,旨在进一步挖掘数据的潜在价值。通过引入无监督机器学习算法(K-Means聚类),我需要将全校学生按照迟到、早退、请假、校服违规等核心行为指标进行科学分群。最终目标是实现从冰冷的“统计数据”到具象的“学生考勤画像”转化,并将分析得出的业务标签(如:自律模范型、纪律高危型)固化到数据底层,为校园学生管理提供精准、可解释的数据支撑。
- 实验环境
• 实验平台:助睿数智(Uniplore)一站式数据科学实验平台。
• 平台定位:该平台覆盖从数据接入、ETL处理、机器学习建模到可视化展示的全链路Agentic零代码数据智能功能。
• 产品官网:https://www.uniplore.com/
• 实验地址:https://lab.guilan.cn/
• 核心模块使用:本次实验跨越了三大核心模块——AI Studio(人工智能平台)用于算法建模,助睿BI(数据可视化平台)用于画像解释,助睿ETL(数据集成平台)用于结果回写固化。
• 数据源:使用前置实验输出的、存于团队私有MySQL数据库中的《学生考勤主题标签表》(student_attendance_stats)。
3. 处理流程简述
整个实验流程构成了一个完整的数据科学闭环:数据导入与特征选择(AI Studio) → K-Means 聚类建模并落地机器编号(AI Studio) → 可视化探索与业务画像解读(助睿BI) → 数据库新增扩展字段(助睿ETL) → 聚类结果抽取映射与业务标签回写(助睿ETL)。
二、实验步骤
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”组件,配置窗口中,簇数量选择固定2个,其他保持不变
右键运行该控件,查看输出结果,可以看到每个学生分别标记了对应的簇类C1/C2/C2

2.1.4 结果输出与保存 聚类后的数据我们需要保存到数据库中,以便后续使用 拖拽“数据入库”组件到画布,创建“K-Means”组件到“数据入库”组件的连线
双击“数据入库”组件,数据库配置中输入团队私有数据库的参数,并点击“获取表信息”
在弹出的窗口中,选择“新建数据表”,表名称修改为“student_cluster”,并点击“确定”
运行工作流,各控件均运行成功则工作流运行成功

2.2 分析聚类簇编号对应的考勤群体分类
上一步骤输出的聚类簇编号无法确定对应的考勤群体分类,可要通过助睿BI 可视化分析来确定 点击实验平台左边菜单“助睿BI”,进入助睿BI平台
进入助睿BI 平台的首页,可以看到该账户下的数据情况、数据分析处理流程、支持的数据源有哪些
如果是进入的页面是登录页面,可以关闭后,重新从实验平台进入
2.2.1 连接数据源 上一步骤输出的 student_cluster 存放于我们的团队私有数据库中,所以我们需要在助睿BI 平台中创建数据库连接 点击左边菜单中的“数据源”
点击左上角“+” - “新建连接” - “MySQL”
弹出的窗口中输入自己所在小组在 Uniplore实验平台 的数据库连接账号信息,点击“测试连接”
出现“测试连接成功”表示我们的连接正确,点击“确认”
点击新建的数据库目录,可以看到本次实验所用的学生考勤主题标签表(右键点击-查看表数据,可以预览表内数据)

2.2.2 构建数据集 数据源连接成功后,我们要将需要分析的数据表构建为数据集 点击左边菜单中的“数据集”
点击左上角“+” - “新建数据集”
在弹窗中输入数据集名称、所属分组、备注信息后点击“确认”

数据集创建成功后,会自动跳到该数据集的配置页面,第一步需要先选择数据源,助睿BI平台为防止这个步骤遗漏,做了强提醒,点击“好的,我知道了”可关闭提醒
数据源的第一个选项选择我们刚刚新建的数据源“团队私有数据库” ,第二个选项则选择student_cluster
数据源选择完成后,将student_cluster 拖拽至画布中
查看数据的表结构及数据,为方便进行后续分析,将字段备注分别修改为中文,在student_id的字段备注输入框中输入“学生ID”,并点击“√”保存
其他字段的字段备注按照同样操作进行修改,字段别名参考如下:

字段别名修改完成后,点击画布左上角“保存”按钮
在保存提示中点击“保存并发布”,只有发布后的数据集才能在工作表中引用

2.2.3 制作工作表 工作表是助睿BI 平台中用于承载可视化图表、完成数据探索与分析的核心单元,是实现数据可视化展示的基础载体。 接下来我们开始制作聚类簇编号对应的考勤群体分类工作表 点击左边菜单中的“工作表”,进入工作表模块
为了方便管理,我们将本次制作的工作表集中存放在一个目录下,点击左上角的“+” - “新建分组”
在弹窗中输入分组名称、选择所属分组、填写备注信息后点击“确认”

右键或者点击聚类簇对应的考勤画像群体分类分析分组的“…”
在操作列表中点击“新建工作表”
在弹窗中输入工作表名称为“迟到早退次数的聚类簇分析”、选择所属分组、填写备注信息后点击“确认”
自动跳转到工作表设计页面,点击右上角“好的,我知道了”来关闭提醒
数据集选择刚刚创建的“聚类簇编号数据集”
图表类型选择“探索器”
将字段“late_count(迟到次数)”拖拽到X轴,“early_leave_count(早退次数)”拖拽到Y轴
点击图形设置按钮,打开设置面板
在设置面板中,点击颜色区域的“+”,在下拉框中选择“Cluster(聚类簇编号)”,并点击“确认”
点击信息区域的“+”,在下拉框中选择“student_id(学生ID)”,并点击“确认”
将“student_id(学生ID)”设置为“维度”
系统默认限额为2000条数据,因此,需要将限额设置为100%,避免数据过多不显示全部
为了区分更明显,我们可以设置聚类簇编号的颜色,点击颜色区域的设置按钮,切换对比强烈的主题
颜色设置后需要点击一下颜色区域外的地方才会生效
点击保存按钮,保存并发布工作表

同样的,重新新建工作表,依次两两分析4个异常考勤次数的2个聚类簇的表现情况 迟到与请假次数的聚类簇分析:
迟到与没穿校服次数的聚类簇分析
早退与请假次数的聚类簇分析:
早退与没穿校服次数的聚类簇分析:
请假与没穿校服次数的聚类簇分析:
2.2.4 搭建仪表盘 为了更好地观察分析以上制作的6个工作表,我们可以将它们放在一起 点击左边菜单“仪表盘”
点击左上角“+” - “新建仪表盘”
仪表盘名字输入“聚类簇分析”,备注信息输入“聚类簇分析”,点击“确认”
在右边组件与工作表区域,点击“基础组件”
拖拽一个文本组件到画布中
文本内容输入“聚类簇分析”,并设置字体颜色、字体大小、加粗、居中
鼠标移至文本组件上,组件右下角可以拖动跳转组件大小
参考下图调整
为了防止后续位置改变,可以点击右上角图钉图表,固定位置
点击工作表组件显示按钮
切换到“工作表”,将2.2.2节中制作的工作表都拖拽至画布中
拖入完毕后,可以按住图标顶部中间位置拖动图标,并使用鼠标对图表大小和布局进行调整
预期效果如下:

点击保存按钮,保存并发布仪表盘
2.2.5 聚类群体画像解读 结合 6 组两两指标散点图的分布特征,我们可以为 C1、C2、C2 三类聚类簇赋予清晰的业务含义,完成从机器编号到可解释学生画像的转化:
• C1(蓝色,自律模范型):在迟到、早退、请假、校服违规次数的所有组合中,数据点高度集中在低频次区间,无明显离群值。这类学生出勤稳定、纪律意识强,各类异常行为极少,是校园考勤行为的正面典型。
• C2(青色,轻微波动型): 整体数据点同样集中在低频次区间,但相比 C1 分布略散,少量记录存在轻微的校服违规或请假行为,迟到、早退次数始终保持低位。这类学生整体纪律可控,仅存在偶发的轻微考勤波动,属于需要日常提醒的群体。
• C2(黄色,纪律高危型): 数据点呈现明显的 “离群特征”,在迟到次数与其他指标的组合图中,出现了大量高频迟到记录,且伴随有不同程度的早退、请假或校服违规行为,是唯一存在多维度叠加违纪的群体。这类学生考勤问题突出,是校园管理中需要重点关注和干预的核心对象。
最终群体分类映射总结表:

2.3 将映射结果加入学生考勤主题标签表 我们需要将最终群体分类数据增加到上一个实验输出的结果表学生考勤主题标签表 student_attendance_stats 中
2.3.1 新增扩展字段 上一个实验输出的结果表学生考勤主题标签表 student_attendance_stats 中没有考勤群体分类的字段,需要增加 首先我们需要在 student_attendance_stats 中增加2个字段:
• cluster:聚类簇编号
• attendance_group:考勤群体分类
进入上一个实验在数据集成平台中创建的ETL项目,新建转换流“增加考勤主题扩展标签字段”,拖拽并“”组件到画布中
双击“执行一个SQL脚本”组件,在配置窗口中,数据库连接“团队私有数据库”,输入SQL脚本后点击:“确认”
SQL如下:

执行转换流:

2.3.2 聚类簇编号数据获取 接下来,我们需要使用 2.1这步骤中 AI Studio 输出的结果表 student_cluster ,xxx 打开上一个实验创建的项目,创建转换流“增加考勤群体分类标签”
拖拽“表输入”组件到画布中
双击“表输入”组件,从团队私有数据库中获取 3.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”,目标值:“自律模范型”
• 源值:“C2”,目标值:“纪律高危型”
并点击“确认”

2.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中
2.3.6 运行转换流 点击运行按钮
执行结果和日志:

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

三、实验结果
通过 K-Means 聚类与可视化分析的结合,本次实验成功从原始统计数据中提炼出了具有强业务指导意义的学生画像,并将结果持久化保存。
• 业务画像产出:借助助睿BI的仪表盘散点图分析,成功将枯燥的算法输出转化为三种学生类型:
- C1(自律模范型):异常行为极少,是校园管理的正面典型。
- C2(轻微波动型):偶发违规,需日常常规提醒。
- C3(纪律高危型):高频违纪且多维度叠加,是教务处需要重点关注和干预的对象。
• 数据资产固化:在平台的“数据探查”模块查看最终的 student_attendance_stats 数据库表,可以发现表结构末尾成功新增了 cluster 和 attendance_group 列。每一位学生的记录后都清晰地打上了类似“自律模范型”的中文业务标签,完成了数据价值的最终沉淀。
四、问题与解决
在实验的配置与运行过程中,我遇到了以下几个问题,并成功进行了排查和解决:
- 聚类结果难以直接解释
• 问题现象:在 AI Studio 跑完 K-Means 模型后,输出的结果仅仅是给每个学生打上了 C1、C2、C3 的机器编号标签。单看这张表,完全不知道 C1 代表好学生还是坏学生,模型缺乏业务解释性。
• 问题原因:这是无监督学习(聚类算法)的通用特性,算法只负责根据数据的距离特征“找圈子”,不负责为“圈子”命名。
• 解决方法:这正是引入 BI 平台的意义所在。通过在助睿BI中构建两两指标对比的散点图仪表盘,以颜色区分簇编号,直观地观察各簇数据在坐标系中的位置(如 C3 簇明显聚集在高频违纪坐标区),从而人工赋予其“纪律高危型”的业务含义,实现了从算法到业务的闭环。
- 数据更新回写失败报错
• 问题现象:在最后一步使用 ETL 平台的“更新”组件,试图将聚类结果写回 student_attendance_stats 表时,流程报错,提示字段类型不匹配。
• 问题原因:在从 student_cluster 表读取数据后,保留下来的关联键 student_id 类型在系统流转中发生了改变,导致无法与目标数据库表中 Integer 类型的 student_id 匹配,从而导致 Update 语句执行失败。
• 解决方法:在读取数据后,插入一个“字段选择”组件。在“元数据”配置页中,强制将用于关联的 student_id 字段类型修改并固化为 Integer,确保源头数据与目标表字段类型绝对一致。修改后,更新组件顺利执行。
五、实验总结
1. 实验收获
本次实验让我深刻体会到了“数据科学全生命周期”的完整链路。我不仅学会了如何在不需要编写 Python 代码的情况下使用 K-Means 聚类算法,更重要的是,我掌握了如何将黑盒式的算法结果(C1/C2/C3)通过数据可视化转化为白盒的、有价值的业务洞察(学生画像)。最后通过 ETL 工具将业务标签回写,我明白了数据分析不是为了看一次报表,而是为了沉淀能持续支撑业务的数据资产。
2. 对平台的整体评价
本次实验跨越了数据工程(ETL)、算法模型(AI)和数据可视化(BI)三个截然不同的专业领域。如果是传统模式,这需要切换好几个不同的软件环境、甚至由不同岗位的人协作完成。但助睿数智(Uniplore)一站式平台的优势在这里展现得淋漓尽致:底层的团队私有数据库是互通的。我在 AI 平台跑出的数据,可以无缝导入 BI 平台做分析,最后还能用 ETL 工具写回同一个库。整个过程全部是拖拽式的零代码操作,极大地降低了复合型数据分析的学习门槛,让探索数据价值的过程变得非常顺畅和高效。
更多推荐




所有评论(0)