【前言】

本文转自知乎本人账号,原创制作!

上一个实验通过助睿ETL完成了student_attendance_stats表的构建,包含每位学生的迟到、早退、请假、校服违规等考勤统计数据。

本次实验在此基础上,使用K-Means聚类算法对学生进行自动分群,生成可解释的考勤画像。全程零代码,全部拖拽完成。

实验目的:基于学生考勤主题标签表,使用K-Means对考勤行为自动分群;通过迟到、早退、请假、校服违规四个核心指标识别不同类型考勤群体;生成可解释的考勤画像,为校园学生管理提供精准数据支撑。

前置数据:student_attendance_stats

实验平台:助睿在线实践平台

【一、AI Studio 聚类建模】

AI Studio 介绍:一站式大数据智能应用平台,零代码拖拽简化机器学习全流程,内置100+算法组件,支持可视化建模、智能一键分析、协作共享。

1.1新建工作流

点击左侧菜单"人工智能",进入 AI Studio。这是一个集构建、运行、编辑、查看于一体的工作区域,主要包括三部分:菜单栏、控件列表、画布(用于工作流构建)。

点击"+"→"新建工作流",一个空白画布就绪。

1.2数据导入

在控件列表搜索框输入"数据库加载",拖拽至画布。

双击控件,右侧弹出参数配置窗口。输入团队私有数据库的连接信息(地址、用户名、密码等),点击"连接"。

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

选择后系统自动加载表信息。关键:只保留聚类分析需要的字段。

字段配置:

student_id → categorical

class_id → categorical

late_count → numeric

early_leave_count → numeric

leave_count → numeric

uniform_violate_count → numeric

其余字段(id、student_name、class_name、grade、gender、birth_date、political_status、is_boarder、campus_type、create_time)全部 → skip

学生基础离散属性不参与聚类建模,仅作为后续画像标签的辅助解释变量。

点击"确定"。右键控件→"运行该控件"。运行成功后右键→"查看输出结果",确认只保留了需要的字段,数据已正确加载。

1.3 K-Means聚类建模

搜索"K-Means",拖拽至画布。将"数据库加载"控件的输出节点连线到 K-Means 控件的输入节点——这条连线表示数据流向:从数据加载到聚类建模。

双击 K-Means,右侧配置窗口:"簇数量"选择"固定 3 个",其他参数保持默认,点击"确定"。

为什么簇数量选 3?基于业务需求——希望将学生划分为"纪律良好""中等""异常"三个层级,方便后续制定差异化管理策略。实际应用中可根据需要调整。

右键 K-Means→"运行该控件"。运行完成后右键→"查看输出结果",可以看到每个学生已被标记对应的簇类标签(C1/C2/C3),同时包含轮廓系数(Silhouette)用于衡量聚类质量。

1.4结果保存

聚类完成后的数据需要保存到数据库中以便后续使用。

搜索"数据入库",拖拽至画布。将 K-Means 的输出节点连线到"数据入库"控件。

双击"数据入库",在右侧配置窗口输入数据库参数,点击"获取表信息"。

在弹出的窗口中选择"新建数据表",表名称修改为 student_cluster,点击"确定"。这样聚类结果保存在新表中,不会覆盖原始表。

点击工具栏"运行"按钮,等待各控件状态均为绿色,表示整个工作流执行成功。至此,第一阶段建模完成。

【二、助睿BI 可视化分析】

上一步输出的聚类结果只是 C1/C2/C3 这样机器分配的编号,无法直接确定每个簇对应什么样的考勤群体。这就需要助睿BI来做可视化探索。

助睿BI 是数据可视化探索平台,支持多种数据源连接、数据集构建和丰富的图表组件。

2.1连接数据源

点击左侧菜单"助睿BI",进入 BI 平台。首页可以看到该账户下的数据情况、数据分析处理流程、支持的数据源类型。

注意:如果是登录页面,关闭后从实验平台重新进入。

点击左侧菜单"数据源"→左上角"+"→"新建连接"→"MySQL"。

在弹出的窗口中输入自己所在小组在 Uniplore实验平台的数据库连接账号信息(主机地址、端口、用户名、密码、数据库名),点击"测试连接"。

看到"测试连接成功"提示后,点击"确认"保存连接。

连接完成后,点击新建的数据库目录,展开后可以看到student_cluster 表。右键点击→"查看表数据",可以预览表内内容,确认聚类结果已正确导入。

2.2构建数据集

数据源连接成功后,需要将分析的数据表构建为数据集。

点击左侧菜单"数据集"→"+"→"新建数据集"。

在弹窗中输入数据集名称、所属分组、备注信息,点击"确认"。

创建成功后自动跳转到配置页面。助睿BI为防止遗漏数据源选择步骤做了强提醒,点击"好的,我知道了"关闭。

第一步选择数据源:第一个下拉选项选择刚创建的MySQL 连接(如"商业数据分析实验"),第二个选项选择 student_cluster 所在的目录(如 labs)。

数据源选择完成后,labs 目录下的数据表自动出现在画布左侧,将 student_cluster 拖拽至画布中。

查看表结构及数据。为方便后续分析,将字段备注分别修改为中文:student_id→学生ID、class_id→班级ID、late_count→迟到次数、early_leave_count→早退次数、leave_count→请假次数、uniform_violate_count→没穿校服次数、Cluster→聚类簇编号、Silhouette→轮廓系数。在输入框中修改后点击"√"保存。

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

2.3制作工作表——以迟到vs早退为例

工作表是助睿BI平台中承载可视化图表、完成数据探索与分析的核心单元。

点击左侧菜单"工作表",进入工作表模块。为方便管理,先点击"+"→"新建分组",输入分组名称"聚类簇对应的考勤画像群体分类分析"。

右键点击该分组→"新建工作表"。输入工作表名称"迟到早退次数的聚类簇分析"。

自动跳转到工作表设计页面。数据集选择刚创建的"聚类簇编号数据集",图表类型选择"探索器"。

将 late_count(迟到次数)拖拽到 X 轴,early_leave_count(早退次数)拖拽到 Y 轴。

点击图形设置按钮打开设置面板。在颜色区域点击"+",下拉选择"Cluster(聚类簇编号)",不同簇的数据点以不同颜色区分。在信息区域点击"+",选择"student_id(学生ID)"并设置为"维度",这样鼠标悬停时可查看对应学生。

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

为区分更明显,点击颜色区域设置按钮,切换对比强烈的颜色主题(颜色设置后需点击颜色区域外才会生效)。

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

按同样方法,依次新建其余5个工作表,两两分析4个异常考勤次数在3个聚类簇中的表现:迟到与请假、迟到与没穿校服、早退与请假、早退与没穿校服、请假与没穿校服。共计6个工作表,覆盖四个考勤指标的所有两两组合。

2.4搭建仪表盘

为了更好地观察以上6个工作表,将它们集中展示。

点击左侧菜单"仪表盘"→"+"→"新建仪表盘",输入名称"聚类簇分析"。

在右侧"组件与工作表"区域点击"基础组件",拖拽一个文本组件到画布中。输入"聚类簇分析",设置字体大小、加粗、居中。关闭组件窗口,拖动调整大小。点击右上角图钉图标固定位置。

点击工作表组件显示按钮,切换到"工作表",将2.3节中制作的6个工作表全部拖拽至画布中。

拖入完毕后,按住图标顶部中间位置拖动,用鼠标调整大小和布局,以2×3网格展示。点击保存并发布仪表盘。

2.5聚类群体画像解读

结合6组两两指标散点图的分布特征,为C1、C2、C3三类聚类簇赋予清晰的业务含义:

C1(蓝色,自律模范型):在所有组合中数据点高度集中在低频次区间,无明显离群值。这类学生出勤稳定、纪律意识强,各类异常行为极少,是校园考勤行为的正面典型。

C2(青色,轻微波动型):整体集中在低频次区间,但相比C1分布略散,少量记录存在轻微校服违规或请假行为,迟到、早退次数始终保持低位。整体纪律可控,仅存在偶发的轻微考勤波动,属于需要日常提醒的群体。

C3(黄色,纪律高危型):数据点呈现明显的"离群特征",在迟到与其他指标的组合图中出现大量高频迟到记录,且伴随不同程度的早退、请假或校服违规行为。是唯一存在多维度叠加违纪的群体,考勤问题突出,是校园管理中需要重点关注和干预的核心对象。

最终群体分类映射总结表:

簇编号 颜色 群体分类名称 核心特征
C1 蓝色 自律模范型 低频次区间高度集中,无明显离群值,出勤稳定纪律意识强
C2 青色 轻微波动型 低频次区间分布略散,偶发轻微校服违规或请假,迟到早退始终低位
C3 黄色 纪律高危型 明显离群特征,高频迟到伴随多维度违纪叠加,考勤问题突出

【三、结果回写到考勤主题标签表】

最后一步:将聚类画像结果更新到student_attendance_stats 表中,让学生考勤数据与群体分类形成完整闭环。此步骤回到数据集成平台(助睿ETL)操作。

3.1新增扩展字段

进入上一个实验在数据集成平台中创建的ETL项目,新建转换流"增加考勤主题扩展标签字段"。

拖拽"执行一个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 '考勤群体分类';

执行转换流,为表新增cluster和attendance_group两个字段。

3.2聚类簇编号映射

新建转换流"增加考勤群体分类标签"。依次拖拽组件并连线:

① 表输入 → 从团队私有数据库获取 student_cluster 表所有数据(SQL查询语句)

② 字段选择 → 点击"移除"选项,获取字段后只保留 student_id 和 Cluster,其余删除。为保持与目标表字段类型一致,点击"元数据"选项,将student_id、class_id 修改为 Integer类型

③ 值映射 → 字段名使用"Cluster",目标字段名"attendance_group"。插入三行:C1→"轻微波动型"、C2→"自律模范型"、C3→"纪律高危型"

3.3更新学生考勤主题标签

拖拽"更新"组件到画布,创建值映射到更新的连线。

双击"更新"组件:数据库连接选"团队私有数据",目标模式为 labs,目标表选 student_attendance_stats。

用来查询的关键字表格获取字段,保留student_id、class_id(当数据表与流中这两个字段相同时执行更新)。

更新字段表格获取字段,保留 Cluster 和 attendance_group。注意:扩展字段时聚类簇编号字段名为 cluster(小写),需双击下拉选择正确的表字段对应。

配置完成后表示当表中的 student_id 与流中的 student_id 相同时,将流字段 Cluster、attendance_group 的值更新到表字段 cluster、attendance_group 中。

3.4运行与查看结果

点击运行按钮,执行转换流。查看执行日志确认成功。

切换到"元数据"选项,右键"团队私有数据库"→"加载元数据"。加载成功后点击"数据探查"。

在团队私有数据库中点击student_attendance_stats,再点击"查询",可以看到 cluster 和 attendance_group 字段已更新成功。

【四、实验总结】

本次实验以学生考勤次数数据为基础,通过K-Means 聚类算法完成了学生考勤群体的自动划分,利用次数特征建模保证了聚类结果的稳定性与可解释性。整个实验主要完成了以下几项工作:

第一,在 AI Studio 中搭建了从数据加载到聚类建模、再到结果输出的完整工作流。整个过程仅使用了数据库加载、K-Means、数据入库三个核心控件,通过拖拽和参数配置完成,实现了真正的零代码机器学习建模。这种可视化拖拽的方式,让没有编程基础的业务人员也能独立完成数据挖掘任务,大幅降低了机器学习的应用门槛。

第二,借助助睿BI平台实现了聚类结果的可视化探索与分析。通过制作6个探索器散点图工作表,覆盖了四个考勤指标(迟到、早退、请假、校服违规)的所有两两组合。通过颜色区分不同簇的数据点,加上响应式信息展示,使得聚类特征的对比一目了然。仪表盘的搭建更是将所有分析结果集中呈现,便于整体观察和汇报展示。

第三,在可视化分析的基础上,对机器生成的C1、C2、C3聚类编号赋予了明确的业务解读,精准划分出自律模范型、轻微波动型、纪律高危型三类学生群体。这一步骤体现了"数据→信息→知识"的完整转化过程——从原始考勤次数到聚类簇编号(数据处理),再到可视化的群体画像(信息提取),最终形成可指导管理决策的学生分类标签(知识应用)。

第四,通过助睿ETL平台将聚类标签回写至原始考勤统计表。利用SQL脚本扩展表结构、表输入读取聚类结果、字段选择移除冗余、值映射转换编码为中文说明、更新组件按主键匹配写入,形成了完整的数据ETL闭环。最终 student_attendance_stats 表中每个学生既保留了原始的考勤统计次数,又新增了 cluster(聚类簇编号)和 attendance_group(考勤群体分类)两个扩展标签字段。

本实验方法具有较强的通用性和可迁移性。同样的零代码聚类+可视化+回写流程,可以应用于图书馆借阅行为分析、食堂消费行为分析、校园活动参与分析等各类校园用户画像场景,为校园学生精细化管理、行为干预和个性化教育提供可靠的数据支撑。

完整教程链接:https://community.uniplore.com/

Logo

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

更多推荐