# 《机器学习》工单式教学教材
适用专业:人工智能技术应用及相关专业
课程性质:专业核心课程
总课时/学分:64课时/4学分
组织方式:4课时1个任务,共16个任务
建议环境:Anaconda、Jupyter Notebook、Python、pandas、matplotlib、seaborn、scikit-learn
# 编写说明
本教材依据泰州职业技术学院工单式教学指导书开发,以企业岗位工作为情境锚点,以现有第00—09课PPT、配套Notebook和数据为教学内容。它不是按算法章节编排的知识讲义,而是一套学生可填写、可运行、可提交、可评价的课堂工单。
课程学生数理基础相对薄弱,因此全书坚持“够用、能做、能解释”:不要求复杂数学推导,不进行大规模参数搜索,每个任务的基础成果均按4课时设计。企业名称和岗位来源于企业分析报告;数据主要为公开、内置、模拟或脱敏教学数据,不代表企业实际数据或已上线系统。
# 使用说明
- 每组建议6人,设置组长、任务分析员、程序员、数据质检员、记录员、汇报员,每1—2个任务轮换。
- 每个任务按资讯、计划、决策、展示、执行、检查、评价七步完成。
- 代码填空先看提示,再填写挖空;每个代码单元只完成一个小步骤。
- Notebook提交前必须“重启内核并从头运行”,不得只保留零散运行结果。
- 使用AI时不得上传隐私或企业未公开数据,AI答案必须运行验证并记录采用情况。
- 评价不只看模型得分,还看过程、准确性、解释、协作、伦理和个人贡献。
# 工单难度等级说明
教材任务定位栏中的L1、L2、L3表示工单的认知难度、开放程度和支架强度,不是学生成绩等级,也不是给学生贴能力标签。其含义依据《泰州职业技术学院工单式教学指导书(第1版)》确定。
| 难度等级 | 指导书含义 | 学生主要表现 | 教材中的支架特点 |
|---|---|---|---|
| L1 名义层 | 知道基本概念,能够识别对象并按示范操作 | 在明确提示下完成单一步骤或标准任务 | 步骤较完整,提供较多提示、示例和代码骨架 |
| L2 功能层 | 能够按照工作要求使用知识和工具完成任务 | 补充关键步骤,选择少量参数,并检查运行结果 | 提供半结构化流程,部分操作和判断由学生完成 |
| L3 过程层 | 理解完整工作过程,能够说明为什么这样做 | 自主制定方案、比较方法、解释结果并提出改进 | 只提供目标、资源和验收标准,保留较大的决策空间 |
| L4 多维层 | 能够综合多种因素进行创新、迁移和优化 | 面对新情境形成可推广的解决方案 | 支架较少,强调综合权衡、创新设计和迁移应用 |
“L1-L2”或“L2-L3”表示任务处于两个等级之间。例如,任务既包含按提示完成的基础操作,也包含需要学生自主判断的环节。本教材主体任务最高设置到L3,L4主要作为挑战任务或后续综合项目的发展方向。
术语区分:任务3-2中出现的“L1正则化”和“L2正则化”是机器学习算法中的数学术语,分别对应Lasso和岭回归,与本节所说的工单难度等级没有关系。
# 课程总体目标
- 能从企业问题中识别分类、回归、聚类或普通数据分析需求。
- 能使用Python和scikit-learn完成数据读取、检查、预处理、训练、预测和基础评价。
- 能应用线性模型、决策树、随机森林、支持向量机、朴素贝叶斯、K近邻、神经网络和聚类解决入门问题。
- 能检查常见数据与程序错误,比较少量模型或参数,并用业务语言解释结果和局限。
- 能遵守数据安全、隐私、算法伦理和团队协作要求,形成规范的过程记录与成果文档。
# 课程项目主线
企业需求识别 → 环境与数据准备 → 基础工作流 → 可解释模型 → 分类与集成 → 数据治理与概率分类 → 距离模型 → 神经网络 → 聚类与综合交付
# 64课时总体安排
| 模块 | 任务范围 | 课时 |
|---|---|---|
| 认识岗位与准备工具 | 任务1—2 | 8 |
| 获取并理解业务数据 | 任务3—4 | 8 |
| 建立可解释的基础模型 | 任务5—6 | 8 |
| 分类模型与质量判断 | 任务7—9 | 12 |
| 业务数据治理与概率分类 | 任务10—11 | 8 |
| 距离模型与参数优化 | 任务12—13 | 8 |
| 神经网络与视觉识别 | 任务14—15 | 8 |
| 无监督学习与综合交付 | 任务16 | 4 |
| 合计 | 16个任务 | 64 |
# 16个任务总体设计表
| 序号 | 任务名称 | 对应课次 | 企业 | 岗位 | 核心成果 | 课时 |
|---|---|---|---|---|---|---|
| 1 | 读懂企业需求:判断机器学习任务类型 | 第00课、第01课 | 泰州市数据产业集团有限公司 | 数据分析师助理 | 需求初判单、任务类型判断表、2分钟口头说明 | 4 |
| 2 | 搭建机器学习工作台:完成环境验收 | 第02课 | 泰州浪潮信息科技有限公司 | 人工智能应用实施助理 | 可运行Notebook、环境版本表、故障处理记录 | 4 |
| 3 | 建立客户数据画像:读取与检查银行营销数据 | 第02课 | 中国移动通信集团江苏有限公司泰州分公司 | 客户服务数据分析助理 | 学生版Notebook、客户数据概览卡、2幅基础图表 | 4 |
| 4 | 跑通首个模型:训练并保存手写数字分类器 | 第02课 | 泰州市姜高新人工智能科技有限公司 | 机器学习应用开发助理 | 流程完整的Notebook、模型文件digits_svc.pkl、运行验收截图 | 4 |
| 5 | 拟合设备趋势:建立一元线性回归模型 | 第03课 | 华芯半导体科技有限公司 | 测试数据分析助理 | 回归Notebook、拟合图、100字模型说明 | 4 |
| 6 | 筛选健康风险特征:比较岭回归与Lasso | 第03课 | 泰州讯飞医疗人工智能研究院有限公司 | 医疗数据算法助理 | 模型比较Notebook、参数对比表、风险说明 | 4 |
| 7 | 生成可解释规则:建立心脏风险决策树 | 第04课 | 泰州讯飞医疗人工智能研究院有限公司 | 医疗数据算法助理 | 决策树Notebook、模型得分表、规则解释卡 | 4 |
| 8 | 提升判断稳定性:比较决策树与随机森林 | 第04课 | 江苏东华测试技术股份有限公司 | 状态监测数据分析助理 | 模型比较Notebook、参数试验表、岗位迁移说明 | 4 |
| 9 | 处理非线性关系:用支持向量回归预测环数 | 第05课 | 江苏东华测试技术股份有限公司 | 测试算法应用助理 | SVR Notebook、预测对照表、迁移数据清单 | 4 |
| 10 | 治理投诉工单:清洗并形成可分析数据 | 第06课 | 中国移动通信集团江苏有限公司泰州分公司 | 客户服务工程师、数据分析助理 | 学生版Notebook、清洗后投诉工单数据.csv、数据质量报告、整改建议 | 4 |
| 11 | 识别风险类别:应用朴素贝叶斯分类 | 第06课 | 泰州市数据产业集团有限公司 | 数据分析师助理 | 分类Notebook、编码说明表、模型评价卡 | 4 |
| 12 | 按相似样本判断状态:K近邻分类 | 第07课 | 江苏东华测试技术股份有限公司 | 设备状态监测助理 | KNN分类Notebook、k值比较表、状态判断说明 | 4 |
| 13 | 预测录取机会:K近邻回归与数据缩放 | 第07课 | 泰州市姜高新人工智能科技有限公司 | 教育数据应用开发助理 | KNN回归Notebook、缩放对比表、模型使用边界说明 | 4 |
| 14 | 调试小型神经网络:完成鸢尾花分类 | 第08课 | 泰州市姜高新人工智能科技有限公司 | 机器学习算法助理 | MLP Notebook、参数实验表、模型选择说明 | 4 |
| 15 | 识别服饰图像:训练Fashion-MNIST分类器 | 第08课 | 蓝思精密(泰州)有限公司 | AOI算法与检测助理 | 图像分类Notebook、预测展示图、误分类分析卡、AOI迁移清单 | 4 |
| 16 | 细分客户群体:KMeans聚类与结果解释 | 第09课 | 中国移动通信集团江苏有限公司泰州分公司 | 客户运营数据分析助理 | 聚类Notebook、肘部图、聚类散点图、客户群体说明与服务建议 | 4 |
# 模块一 认识岗位与准备工具
# 【任务1-1】读懂企业需求:判断机器学习任务类型 【C→T】
# ■ 任务呈现区
企业情境:泰州市数据产业集团有限公司面向政府和企业提供数据服务、数据治理、数据资产运营和数据安全服务,项目流程通常从需求调研、数据现状分析开始,再进入数据治理、分析应用和成果交付。数据分析师在项目启动阶段首先要判断客户究竟需要统计报表、分类预测、数值预测,还是没有标签的客户分群。如果任务类型判断错误,后续采集的数据、选择的算法和交付形式都会偏离客户需求。现在,项目经理把6张来自政务服务、企业运营和客户管理场景的需求卡交给你们,希望新入职的数据分析助理先完成需求初判,列出输入数据、预期输出、适合的方法和仍需向客户确认的问题。
工作委托:以数据分析师助理身份,对6张需求卡进行业务目标、输入数据、预期输出和任务类型标注,形成一页式《机器学习需求初判单》。
核心交付物:需求初判单、任务类型判断表、2分钟口头说明。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第00课、第01课 |
| 对应代码 | 无;使用教师提供的企业需求卡 |
| 对应数据 | 无 |
| 企业与岗位 | 泰州市数据产业集团有限公司;数据分析师助理 |
| 内容维度/难度 | 知识激活与需求分析类;L1 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 无 / 任务1-2 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释机器学习的基本含义;监督学习与无监督学习;分类、回归、聚类的输出差异;特征、标签、样本;机器学习基本工作流。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能把模糊业务问题转写为可执行的分类、回归、聚类或非机器学习需求
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:以数据分析师助理身份,对6张需求卡进行业务目标、输入数据、预期输出和任务类型标注,形成一页式《机器学习需求初判单》。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:机器学习的基本含义;监督学习与无监督学习;分类、回归、聚类的输出差异;特征、标签、样本;机器学习基本工作流。
本任务工具:本任务不要求编程;使用“输入是什么—输出是什么—是否有历史答案”三问法。
关键判断:对“将客户分成若干经营群体”选择聚类;对“预测下月投诉数量”选择回归;对“判断工单是否紧急”选择分类,并说明依据。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 阅读企业委托与6张需求卡,圈出业务对象、输入和期望结果 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 用三问法判断是否存在标签、输出是类别还是数值 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 小组填写任务类型与不确定项,标记需要补充的数据 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 选择一张有争议的需求卡,形成30秒解释 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 完成需求初判单并进行组间交换复核 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 依据复核意见修正,检查是否把普通统计误判为机器学习 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 汇报结论并写出个人迁移案例 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:对“将客户分成若干经营群体”选择聚类;对“预测下月投诉数量”选择回归;对“判断工单是否紧急”选择分类,并说明依据。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:领取委托并建立小组工作页 【执行】
- 组长组织全组阅读企业情境、工作委托和成果要求,确认本任务不需要训练模型。
- 任务分析员建立《机器学习需求初判单》,设置业务目标、输入数据、预期输出、历史答案、任务类型和待确认问题等栏目。
- 记录员登记角色分工,每名成员至少负责分析1张需求卡。
关键控制点:必须先明确客户希望得到的结果,再讨论算法;不得看到“数据”二字就直接判定为机器学习任务。
# Step 2:提取每张需求卡的关键信息 【执行】
- 逐张阅读6张需求卡,圈出业务对象、可获得的输入信息和希望得到的输出。
- 判断是否存在可供学习的历史样本及其答案,并把不确定信息写入“待确认问题”。
- 将需求改写为“根据什么信息,判断或预测什么结果”的完整句子。
关键控制点:业务目标、输入和输出必须分别填写;“提高效率”“优化服务”等口号不能直接作为模型输出。
# Step 3:使用三问法判断任务类型 【执行】
- 第一问:是否只需要汇总、查询或可视化?若是,标记为普通数据分析。
- 第二问:是否有历史答案或标签?有标签进入监督学习判断,无标签且需要发现群体可考虑聚类。
- 第三问:输出是类别还是连续数值?类别对应分类,连续数值对应回归。
- 每名成员说明自己负责需求卡的判断理由,记录员填写初判结果。
# 代码或操作骨架
本任务不要求编程。请将讨论结果填写到需求初判表,并保留每名成员的判断证据。
关键控制点:任务类型后必须附判断证据;只写“分类”“回归”而没有理由视为未完成。
# Step 4:完成需求初判单并处理争议 【执行】
- 汇总6张需求卡的初判结果,找出组内判断不一致的项目。
- 至少选择1张有争议的需求卡,分别写出两种方案的适用条件。
- 根据数据是否可获得、输出是否可评价和结果是否可用于业务,确定小组最终意见。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:每张需求卡均写明业务目标、样本、特征、可能标签、任务类型及理由;至少指出1项数据不足或伦理风险。
关键控制点:允许保留“暂不能确定”,但必须写清还需要向客户确认什么信息。
# Step 5:开展组间交叉复核 【检查】
- 与相邻小组交换需求初判单,对照任务类型、输入输出和数据可得性逐项检查。
- 对方小组至少提出1条问题或修改建议,本组记录是否采纳及理由。
- 修正把普通统计误判为机器学习、分类与回归混淆等问题。
# 分层任务与动态支架
基础:完成4张需求卡;进阶:完成全部6张并指出数据风险;挑战:为校园场景自拟1张需求卡。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:复核意见必须留下书面记录,不能只口头说“没有问题”。
# Step 6:终检、汇报与归档 【检查】
- 数据质检员检查6张需求卡是否全部完成,判断理由是否能被他人复述。
- 汇报员用2分钟说明一张典型需求卡、一张争议需求卡和一项数据风险。
- 按命名规则保存需求初判单、任务类型判断表和个人贡献记录。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| 把所有数据分析都叫机器学习 | 只看到了“数据”关键词 | 检查是否需要从历史样本学习规律 | 若只需汇总统计,标为非机器学习任务 |
| 分类与回归混淆 | 没有关注输出形式 | 查看输出是类别还是连续数值 | 用“类别/数值”重新判断 |
| 忽视数据能否获得 | 只讨论算法 | 检查每个特征是否可采集 | 把缺失数据列入需求澄清清单 |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:最终成果必须同时回答“为什么适合机器学习”和“为什么选择这种任务类型”。
# ■ 成果提交区
命名规则:T01_班级_组号_成果名称;个人反思使用T01_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:需求初判单、任务类型判断表、2分钟口头说明
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
| K6 社会责任与协作 | 忽视分工、隐私或伦理 | 基本遵守要求 | 角色履职,能说明数据伦理边界 | 能主动发现并制止不合规做法 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 【任务1-2】搭建机器学习工作台:完成环境验收 【C→T】
# ■ 任务呈现区
企业情境:泰州浪潮信息科技有限公司主要承担云计算、大数据和人工智能项目的本地化交付,项目要经历需求调研、方案设计、环境部署、应用集成、测试验收和运维交接。人工智能应用进入开发阶段前,项目实施人员必须确认Python解释器、Jupyter内核以及pandas、matplotlib、scikit-learn等核心库能够正常调用,否则同一份Notebook在不同电脑上可能出现包缺失、内核选错或版本不一致。你们作为人工智能应用实施助理,需要建立一份简洁的环境验收流程:启动Notebook、核对版本、确认工作目录、加载内置数据,并通过重启内核后的完整运行证明环境可以交付给算法开发人员。
工作委托:按验收清单启动Jupyter Notebook,检查核心库版本,读取鸢尾花内置数据并输出数据形状,提交环境验收记录。
核心交付物:可运行Notebook、环境版本表、故障处理记录。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第02课 |
| 对应代码 | 新建 T02_环境验收_学号.ipynb |
| 对应数据 | sklearn.datasets.load_iris 内置数据 |
| 企业与岗位 | 泰州浪潮信息科技有限公司;人工智能应用实施助理 |
| 内容维度/难度 | 技能操作类;L1 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务1-1 / 任务2-1 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释Anaconda与Jupyter Notebook;代码单元和Markdown单元;Python包导入;工作目录;内核重启;相对路径。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能按项目规范建立、检查并记录可复现的机器学习运行环境
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:按验收清单启动Jupyter Notebook,检查核心库版本,读取鸢尾花内置数据并输出数据形状,提交环境验收记录。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:Anaconda与Jupyter Notebook;代码单元和Markdown单元;Python包导入;工作目录;内核重启;相对路径。
本任务工具:import、version、os.getcwd()、load_iris()、data.shape。
关键判断:当包导入失败时,先确认当前Notebook内核,再决定切换内核或安装包;不盲目重复安装。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 领取环境验收清单,确认软件与提交命名 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 分工确定操作、记录和复核顺序 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 检查Jupyter当前内核与工作目录 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示验收计划,接受教师快速确认 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 运行版本检查与内置数据读取代码 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 重启内核并从头运行,确认结果可复现 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 填写验收结论与个人故障反思 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:当包导入失败时,先确认当前Notebook内核,再决定切换内核或安装包;不盲目重复安装。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:准备环境验收资料 【执行】
- 在课程任务目录中新建
T02_环境验收_学号.ipynb,不要直接修改教师原始文件。 - 打开环境验收表,准备记录Python、pandas和scikit-learn版本、内核名称及工作目录。
- 确认本组成员能够找到Jupyter的内核菜单和“Restart & Run All”命令。
关键控制点:Notebook名称、保存位置和当前内核必须在运行代码前确认。
# Step 2:启动Jupyter并核对内核 【执行】
- 启动Jupyter Notebook,查看右上角或菜单中的当前Python内核。
- 新建代码单元,输出当前工作目录,确认文件将保存在课程任务目录。
- 如出现多个环境,先与教师提供的课程环境名称核对,再决定是否切换。
关键控制点:包导入失败时先检查内核,不得未经判断反复安装软件包。
# Step 3:补全并运行环境验收代码 【执行】
- 按挖空提示导入pandas、scikit-learn和鸢尾花数据加载函数。
- 逐个运行代码单元,记录库版本、数据形状和类别名称。
- 若出现报错,先抄录最后一行错误信息,再对照排错表处理。
# 代码或操作骨架
# 挖空1提示:导入用于表格处理的库,常用简称为 pd
import ____ as pd
import sklearn
from sklearn.datasets import load_iris
print("pandas版本:", pd.__version__)
print("sklearn版本:", sklearn.__version__)
# 挖空2提示:调用上方导入的鸢尾花数据加载函数
iris = ______()
print("数据形状:", iris.data.shape)
print("类别名称:", iris.target_names)
关键控制点:每个挖空都应由学生填写并运行验证,不能只查看教师或同伴电脑的结果。
# Step 4:验证数据加载与输出 【检查】
- 确认鸢尾花数据形状为150行、4个特征,并能显示3个类别名称。
- 将实际输出填写到环境版本表,并标记是否符合预期。
- 数据质检员复核代码中的变量名、函数名和输出内容是否一致。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:Notebook可从上到下无报错运行,输出pandas和sklearn版本、数据形状(150, 4)以及3个类别名称。
关键控制点:能够导入包不等于环境验收完成,还必须成功加载数据并得到正确结构。
# Step 5:重启内核完成复现测试 【检查】
- 保存Notebook,执行“Restart & Run All”清除当前内存中的临时变量。
- 观察所有单元是否按顺序无报错执行,确认结果不依赖先前残留变量。
- 记录复现测试时间、结果以及出现的警告信息。
# 分层任务与动态支架
基础:完成版本与数据形状验收;进阶:补充Python版本和工作目录;挑战:导出requirements版本清单。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:只有重启后仍能从头运行,才能判定环境具备后续课程使用条件。
# Step 6:填写验收结论并归档 【检查】
- 将发现的问题、处理方法和最终状态写入故障处理记录。
- 汇报员说明一项环境问题的定位过程,而不是只汇报“运行成功”。
- 提交Notebook、版本表和故障记录,并保留个人操作证据。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| ModuleNotFoundError | 当前内核未安装对应包或选错环境 | 查看右上角内核名称并运行版本检查 | 切换到课程环境;确需安装时由教师统一处理 |
| NameError | 导入别名或变量名不一致 | 对照上一单元变量名 | 统一使用pd、sklearn和iris |
| 重开Notebook后变量消失 | 未从头运行 | 执行Restart & Run All | 按顺序运行并保存输出 |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:验收结论必须写明“通过/有条件通过/未通过”及其依据。
# ■ 成果提交区
命名规则:T02_班级_组号_成果名称;个人反思使用T02_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:可运行Notebook、环境版本表、故障处理记录
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K4 效率 | 严重超时或资源使用失控 | 基本按时完成 | 按计划完成并合理控制资源 | 能在保证质量前提下优化流程 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 模块二 获取并理解业务数据
# 【任务2-1】建立客户数据画像:读取与检查银行营销数据 【C→T】
# ■ 任务呈现区
企业情境:中国移动通信集团江苏有限公司泰州分公司建立了覆盖网络运维、客户服务、问题处理和满意度回访的服务链。客户服务与运营人员在制定服务策略前,需要先了解客户年龄、职业、家庭状态、账户特征和业务响应等字段的分布,确认数据是否完整、字段类型是否正确,再决定能否继续开展分群或预测。为训练这种通用的数据理解能力,项目组提供结构与客户运营数据相似的公开银行营销数据bank.csv。你们作为客户服务数据分析助理,要正确识别文件分隔符,完成数据规模、字段类型、缺失情况和重点类别分布检查,并用两幅基础图表向业务人员说明数据中值得继续分析的现象。
工作委托:读取bank.csv,核对分隔符和字段,完成数据规模、类型、缺失情况和关键字段分布检查,输出《客户数据概览卡》。
核心交付物:学生版Notebook、客户数据概览卡、2幅基础图表。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第02课 |
| 对应代码 | 机器学习资料/代码及数据/第二章/第2章-x.ipynb |
| 对应数据 | 机器学习资料/代码及数据/第二章/bank.csv |
| 企业与岗位 | 中国移动通信集团江苏有限公司泰州分公司;客户服务数据分析助理 |
| 内容维度/难度 | 数据理解类;L1 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务1-2 / 任务2-2 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释CSV与分隔符;DataFrame;head、shape、info、describe;分类字段与数值字段;直方图和计数图。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能读取业务数据并用结构化检查判断数据是否具备后续分析条件
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:读取bank.csv,核对分隔符和字段,完成数据规模、类型、缺失情况和关键字段分布检查,输出《客户数据概览卡》。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:CSV与分隔符;DataFrame;head、shape、info、describe;分类字段与数值字段;直方图和计数图。
本任务工具:pd.read_csv(sep=';')、head()、info()、describe()、value_counts()、seaborn.countplot。
关键判断:根据文件内容决定sep=';',并选择age作为数值字段、job或marital作为分类字段进行展示。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 阅读数据说明,确认公开数据与企业情境的边界 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 制定读取、结构检查、统计和绘图顺序 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 根据首行内容确定分隔符与重点字段 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 向邻组说明检查方案并获取一条建议 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 完成读取、概览统计和两幅图表 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 核对行列数、字段类型和图表标签 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 提交概览卡并说明一项业务发现 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:根据文件内容决定sep=';',并选择age作为数值字段、job或marital作为分类字段进行展示。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:准备数据文件与相对路径 【执行】
- 复制
bank.csv和学生Notebook到同一任务文件夹,保留教师原始文件。 - 打开CSV首行,观察字段之间使用的分隔符,不要先假设是逗号。
- 在Notebook中记录数据文件名、来源和本任务需要重点观察的字段。
关键控制点:禁止继续使用原Notebook中的个人绝对路径;文件必须能随任务文件夹整体移动。
# Step 2:正确读取并初看数据 【执行】
- 按提示补全
read_csv的文件名和sep参数。 - 运行
head()检查表头是否被正确拆分为多列。 - 记录数据行列数,确认
age、job、marital等字段存在。
关键控制点:若所有内容挤在一列,应立即停止后续分析并修正分隔符。
# Step 3:检查字段结构与数据质量 【执行】
- 运行
info()查看每列非空数量和数据类型。 - 使用
describe()观察数值字段的范围,使用value_counts()检查类别字段。 - 将数值字段、类别字段和需要进一步确认的字段分别填入数据概览卡。
# 代码或操作骨架
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 挖空1提示:bank.csv使用分号分隔,文件应与Notebook保持相对路径
data = pd.read_csv("____", sep="__")
display(data.head())
# 挖空2提示:查看每列非空数量和数据类型,不需要传入参数
data.____()
# 挖空3提示:统计职业类别出现次数
job_count = data["job"].________()
print(job_count.head())
# 挖空4提示:绘制job字段的计数图
sns.________(data=data, y="job")
plt.show()
关键控制点:先确认数据类型和字段含义,再进行绘图;不能把类别编码误当作连续数值解释。
# Step 4:绘制客户特征分布图 【执行】
- 选择
age绘制数值分布图,设置标题和横纵坐标。 - 选择
job或marital绘制计数图;类别较多时使用横向图。 - 每幅图下写1条只描述数据现象、不推断原因的观察结论。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:正确读取17列数据;能说明age等数值字段与job等类别字段的差异;图表标签清晰且结论不夸大。
关键控制点:图表结论必须能够从图中直接读出,不能把相关现象写成因果关系。
# Step 5:完成业务概览与交叉检查 【检查】
- 填写数据规模、字段类型、缺失情况、主要类别和异常现象。
- 数据质检员核对图表数据源、字段名称、标题和结论是否一致。
- 与邻组交换概览卡,检查是否遗漏分隔符、类别过多或字段解释不清等问题。
# 分层任务与动态支架
基础:完成数据概览和1幅图;进阶:再分析marital或education;挑战:提出1个后续可预测的问题。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:数据概览卡应让未看代码的业务人员也能理解数据基本情况。
# Step 6:从头运行并提交成果 【检查】
- 重启内核并从头运行,确认读取、统计和绘图单元顺序正确。
- 删除无关测试输出,保留能够证明结论的关键结果。
- 提交Notebook、客户数据概览卡和两幅基础图表。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| 所有数据挤在一列 | 分隔符设置错误 | 打开文件首行查看分隔符 | 设置sep=';' |
| FileNotFoundError | 仍使用原Notebook绝对路径 | 打印工作目录并检查文件位置 | 使用相对路径或将数据放到约定目录 |
| 图表文字拥挤 | 类别多且画布过小 | 查看类别数量 | 使用横向y轴并调整figsize |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:最终Notebook中不得保留FileNotFoundError等未处理错误。
# ■ 成果提交区
命名规则:T03_班级_组号_成果名称;个人反思使用T03_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:学生版Notebook、客户数据概览卡、2幅基础图表
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K3 使用价值 | 成果难以复用 | 在指导下可复用 | 命名规范、可再次运行 | 可迁移到相似业务并给出使用说明 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
| K6 社会责任与协作 | 忽视分工、隐私或伦理 | 基本遵守要求 | 角色履职,能说明数据伦理边界 | 能主动发现并制止不合规做法 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 【任务2-2】跑通首个模型:训练并保存手写数字分类器 【C→T】
# ■ 任务呈现区
企业情境:泰州市姜高新人工智能科技有限公司开展AI应用开发、智能算法研发和模型运维服务,工作流程包括需求分析、算法设计、模型开发、应用部署与持续监控。正式承接客户项目之前,算法团队通常会先制作一个小型“最小可运行样例”,验证数据加载、训练测试划分、模型训练、效果评价、模型保存和重新加载这一整套流程是否可靠。你们作为机器学习应用开发助理,将使用scikit-learn自带的手写数字数据完成首个分类模型闭环。项目负责人不仅要看到测试得分,还要求模型文件能够保存、重新加载,并对新的测试样本给出预测,以证明流程具备复现和交接条件。
工作委托:使用digits内置数据训练SVC分类器,输出测试集得分,保存模型并重新加载完成一次预测。
核心交付物:流程完整的Notebook、模型文件digits_svc.pkl、运行验收截图。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第02课 |
| 对应代码 | 机器学习资料/代码及数据/第二章/第2章-x.ipynb |
| 对应数据 | sklearn.datasets.load_digits 内置数据 |
| 企业与岗位 | 泰州市姜高新人工智能科技有限公司;机器学习应用开发助理 |
| 内容维度/难度 | 完整流程操练类;L1-L2 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务2-1 / 任务3-1 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释特征与标签;训练集与测试集;fit、predict、score;模型持久化;同一数据不能既训练又冒充测试。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能独立跑通机器学习最小闭环并保留可复现证据
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:使用digits内置数据训练SVC分类器,输出测试集得分,保存模型并重新加载完成一次预测。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:特征与标签;训练集与测试集;fit、predict、score;模型持久化;同一数据不能既训练又冒充测试。
本任务工具:load_digits、train_test_split、svm.SVC、fit、score、pickle.dump/load。
关键判断:使用固定random_state保证可复现;模型文件只从可信来源加载,避免反序列化未知文件。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 核对交付物与模型文件安全要求 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 绘制加载—划分—训练—评价—保存流程 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 确定test_size和random_state | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 用流程图进行一分钟方案展示 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 补全代码并训练、评价、保存模型 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 重启内核后加载模型完成预测 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 填写流程检查表和个人理解说明 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:使用固定random_state保证可复现;模型文件只从可信来源加载,避免反序列化未知文件。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:加载数据并识别特征与标签 【执行】
- 加载
digits内置数据,查看data、target和单幅图像的形状。 - 确认每个样本由64个像素特征组成,标签表示0—9的数字类别。
- 记录总样本数、特征数和类别数。
关键控制点:必须能区分特征
digits.data与标签digits.target,不能交换二者。
# Step 2:划分训练集与测试集 【执行】
- 补全
train_test_split函数,设置test_size=0.2和random_state=42。 - 分别输出训练集和测试集形状,确认四个返回变量顺序正确。
- 在流程图中标明训练数据只用于
fit,测试数据只用于最终评价。
关键控制点:测试集不得参与模型训练,否则测试得分失去评价意义。
# Step 3:创建并训练SVC分类器 【执行】
- 创建SVC模型,先采用课程提供的默认参数建立基线。
- 使用
X_train和y_train调用fit完成训练。 - 输出测试集得分,并记录模型、数据划分和随机种子。
# 代码或操作骨架
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn import svm
import pickle
digits = load_digits()
# 挖空1提示:按“特征、测试特征、训练标签、测试标签”的顺序接收结果
X_train, X_test, y_train, y_test = ____________(
digits.data, digits.target, test_size=0.2, random_state=42
)
# 挖空2提示:创建支持向量分类器
model = svm.____()
# 挖空3提示:用训练集学习规律
model.____(X_train, y_train)
print("测试集得分:", model.score(X_test, y_test))
# 挖空4提示:以二进制写入方式保存模型
with open("digits_svc.pkl", "__") as f:
pickle.dump(model, f)
关键控制点:出现NotFittedError时检查是否漏运行训练单元,不要直接重新创建更多模型变量。
# Step 4:保存、加载并验证模型 【执行】
- 以二进制写入方式把训练后的模型保存为
digits_svc.pkl。 - 检查任务目录中是否生成模型文件,并记录文件大小。
- 重启内核后以二进制读取方式加载模型,对
X_test[:1]完成一次预测。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:训练与测试样本分开;测试集得分可正常输出;digits_svc.pkl成功生成;加载后可对X_test[:1]预测。
关键控制点:只加载本组刚生成或教师提供的可信模型文件,不打开来源不明的pickle文件。
# Step 5:核对预测结果与流程完整性 【检查】
- 同时输出预测标签和真实标签,判断本次预测是否正确。
- 按“加载—划分—训练—评价—保存—加载—预测”逐项勾选流程。
- 数据质检员检查模型评价是否使用测试集,模型文件是否可以重新加载。
# 分层任务与动态支架
基础:训练并保存模型;进阶:输出3个样本的预测与真实值;挑战:比较不同C值但不要求系统调参。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:测试得分高并不能替代流程检查,模型文件无法复现仍视为未完成。
# Step 6:整理最小可运行样例 【检查】
- 重启并从头运行Notebook,删除重复或无关代码单元。
- 在Markdown单元中用自己的话解释训练集与测试集不能混用的原因。
- 提交Notebook、
digits_svc.pkl和运行验收截图。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| 划分后变量数量不匹配 | train_test_split接收顺序写错 | 对照函数返回顺序 | 统一为X_train、X_test、y_train、y_test |
| 模型未训练就预测 | 漏执行fit单元 | 检查是否出现NotFittedError | 先运行fit再评价 |
| 模型文件无法加载 | 保存模式或路径错误 | 检查文件是否存在及打开模式 | 保存用wb,加载用rb |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:最终成果应能由另一组在相同环境中直接运行和验证。
# ■ 成果提交区
命名规则:T04_班级_组号_成果名称;个人反思使用T04_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:流程完整的Notebook、模型文件digits_svc.pkl、运行验收截图
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K3 使用价值 | 成果难以复用 | 在指导下可复用 | 命名规范、可再次运行 | 可迁移到相似业务并给出使用说明 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 模块三 建立可解释的基础模型
# 【任务3-1】拟合设备趋势:建立一元线性回归模型 【C→T】
# ■ 任务呈现区
企业情境:华芯半导体科技有限公司拥有从外延生长、光刻、刻蚀、薄膜沉积到芯片测试的完整制造链,测试中心需要对VCSEL、GaN和LED芯片的电流、电压、光功率、温度等参数进行记录和趋势分析。测试数据分析助理经常先用简单模型判断两个量之间是否存在近似线性关系,再决定是否需要更复杂的模型。为了避免直接接触生产数据,培训负责人先安排一组容易观察的模拟数据,用它验收新员工是否会整理一维特征、建立线性回归、绘制拟合直线并解释斜率与截距。完成后,你们还要说明这种方法迁移到芯片参数分析时为什么不能把相关关系直接写成因果结论。
工作委托:建立一元线性回归模型,画出散点与拟合直线,用日常语言解释斜率、截距和预测局限。
核心交付物:回归Notebook、拟合图、100字模型说明。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第03课 |
| 对应代码 | 机器学习资料/代码及数据/第三章/第3章-x.ipynb |
| 对应数据 | Notebook中的年龄—身高示例数据(教学模拟) |
| 企业与岗位 | 华芯半导体科技有限公司;测试数据分析助理 |
| 内容维度/难度 | 模型建立类;L2 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务2-2 / 任务3-2 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释ŷ=wx+b;自变量与目标值;斜率和截距;拟合与外推;回归得分只反映当前数据。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能建立简单回归模型并把模型参数翻译为岗位可理解的趋势描述
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:建立一元线性回归模型,画出散点与拟合直线,用日常语言解释斜率、截距和预测局限。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:ŷ=wx+b;自变量与目标值;斜率和截距;拟合与外推;回归得分只反映当前数据。
本任务工具:numpy.reshape、LinearRegression、fit、predict、coef_、intercept_、matplotlib.scatter/plot。
关键判断:只在样本覆盖范围附近解释预测,不把相关趋势直接说成因果关系。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 识别模拟数据中的输入、输出和单位 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 制定散点检查—建模—绘图—解释路线 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 判断线性模型是否适合作为首个基线 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示拟合方案与预期图形 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 补全模型训练和预测代码 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 检查数据形状、拟合线与参数解释 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 提交模型说明并指出一项局限 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:只在样本覆盖范围附近解释预测,不把相关趋势直接说成因果关系。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:明确变量、单位与建模目标 【执行】
- 阅读模拟数据,确定输入变量
x、目标变量y及各自单位。 - 在建模记录中写出“根据x预测y”的任务描述。
- 检查样本数量是否一致,并观察是否存在明显录入错误。
关键控制点:变量含义和单位不明确时不得直接解释斜率。
# Step 2:绘制散点图并判断线性趋势 【执行】
- 先绘制原始散点图,不训练模型。
- 观察点是否大致沿一条直线分布,并记录异常点。
- 说明为什么把线性回归作为本任务的首个基线模型。
关键控制点:选择线性模型必须有图形依据,不能只因为本章标题是线性回归。
# Step 3:整理特征形状并训练模型 【执行】
- 用
reshape(-1, 1)把一维输入转换为scikit-learn需要的二维特征。 - 创建
LinearRegression模型并调用fit。 - 使用同一组X生成拟合值,保存斜率和截距。
# 代码或操作骨架
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
x = np.array([5, 7, 9, 11, 13, 15])
y = np.array([110, 118, 125, 132, 140, 147])
# 挖空1提示:sklearn要求特征是二维数组,列数为1
X = x.reshape(-1, __)
# 挖空2提示:创建线性回归模型并训练
model = __________()
model.____(X, y)
pred = model.predict(X)
print("斜率:", model.coef_[0])
print("截距:", model.intercept_)
plt.scatter(x, y, label="sample")
plt.plot(x, pred, color="red", label="fitted line")
plt.legend()
plt.show()
关键控制点:出现Expected 2D array时先查看
X.shape,不要随意增加无意义维度。
# Step 4:绘制拟合线并解释参数 【执行】
- 在同一坐标系中绘制原始散点和红色拟合直线。
- 用完整句子解释斜率:输入增加1个单位时,预测值平均变化多少。
- 解释截距只是模型参数,判断其是否具有实际业务意义。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:散点与拟合直线同图显示;能说清斜率代表输入增加1个单位时预测值的平均变化;明确示例不可直接用于真实生产决策。
关键控制点:参数解释必须带单位,并使用“在本样本中”限定结论范围。
# Step 5:进行区间内预测与局限检查 【检查】
- 选择样本范围内的一个新输入值完成预测。
- 检查预测是否明显偏离已有数据趋势。
- 写出样本量小、变量少、外推不可靠和相关不等于因果等局限。
# 分层任务与动态支架
基础:完成拟合和参数解释;进阶:预测一个区间内新值;挑战:加入一个异常点观察直线变化。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:不得使用远离训练样本范围的预测作为可靠业务结论。
# Step 6:复现、复核与提交 【检查】
- 重启内核并从头运行,检查散点图、拟合线和参数输出。
- 由数据质检员核对输入形状、预测长度和图例。
- 提交回归Notebook、拟合图和100字模型说明。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| Expected 2D array | X仍是一维 | 查看X.shape | 使用reshape(-1, 1) |
| 拟合线与散点错位 | 绘图使用了不同顺序的数据 | 检查x和pred长度及顺序 | 用同一X生成pred |
| 把预测当因果结论 | 忽视数据背景 | 检查说明中是否出现“导致” | 改为“在本样本中呈现相关趋势” |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:图、参数和文字说明必须相互一致。
# ■ 成果提交区
命名规则:T05_班级_组号_成果名称;个人反思使用T05_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:回归Notebook、拟合图、100字模型说明
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K3 使用价值 | 成果难以复用 | 在指导下可复用 | 命名规范、可再次运行 | 可迁移到相似业务并给出使用说明 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 【任务3-2】筛选健康风险特征:比较岭回归与Lasso 【C→T】
# ■ 任务呈现区
企业情境:泰州讯飞医疗人工智能研究院有限公司面向医院和医疗机构开展智能诊疗、医学影像分析和医疗大数据服务,项目需经过需求调研、算法研发、系统集成、临床验证和运维服务。医疗数据往往包含多个相关指标,模型既要保持稳定,也要避免使用过多无效特征,算法助理因此需要比较不同正则化方法的表现。你们将使用scikit-learn公开糖尿病数据,在完全相同的数据划分下训练岭回归与Lasso,记录测试表现和非零系数数量,为“优先稳定预测”或“优先简化特征”提出选择建议。报告必须明确:本任务用于算法训练,模型系数不能被解释为医学因果,也不能用于个人诊断。
工作委托:在相同训练测试划分下训练Ridge和Lasso,记录得分与非零系数数量,给出“稳定预测”或“简化特征”的选择建议。
核心交付物:模型比较Notebook、参数对比表、风险说明。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第03课 |
| 对应代码 | 机器学习资料/代码及数据/第三章/第3章-x.ipynb |
| 对应数据 | sklearn.datasets.load_diabetes 内置数据 |
| 企业与岗位 | 泰州讯飞医疗人工智能研究院有限公司;医疗数据算法助理 |
| 内容维度/难度 | 模型比较类;L2 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务3-1 / 任务4-1 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释过拟合;L2正则化与岭回归;L1正则化与Lasso;alpha;系数为0与特征筛选;医疗算法边界。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能在统一条件下比较模型,并根据业务需求解释正则化模型的取舍
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:在相同训练测试划分下训练Ridge和Lasso,记录得分与非零系数数量,给出“稳定预测”或“简化特征”的选择建议。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:过拟合;L2正则化与岭回归;L1正则化与Lasso;alpha;系数为0与特征筛选;医疗算法边界。
本任务工具:load_diabetes、train_test_split、Ridge、Lasso、score、coef_、numpy.sum。
关键判断:若强调稳定性优先考虑Ridge;若强调少量特征与解释性可考虑Lasso,但不能把系数大小直接解释为医学因果。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 阅读数据卡和医疗算法使用边界 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 制定统一划分、训练、记录和比较方案 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 确定相同random_state与少量alpha候选 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示比较表模板,确认评价口径一致 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 训练Ridge和Lasso并统计非零系数 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 检查是否在同一测试集上比较 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 形成选择建议和伦理风险提示 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:若强调稳定性优先考虑Ridge;若强调少量特征与解释性可考虑Lasso,但不能把系数大小直接解释为医学因果。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:读取数据并统一实验条件 【执行】
- 加载糖尿病公开数据,查看样本数、特征数和目标值。
- 只执行一次训练测试划分,并固定
random_state=42。 - 建立比较表,预先设置模型、alpha、测试得分和非零系数数等栏目。
关键控制点:两个模型必须使用完全相同的训练集和测试集。
# Step 2:确定Ridge与Lasso基线参数 【执行】
- 根据教师给定范围选择Ridge的
alpha=1.0和Lasso的alpha=0.1。 - 说明Ridge偏向稳定保留全部特征,Lasso可能把部分系数压到0。
- 除模型类型和指定alpha外,其余实验条件保持一致。
关键控制点:本任务只进行少量有目的的比较,不开展大规模参数遍历。
# Step 3:训练两个正则化模型 【执行】
- 分别创建Ridge和Lasso模型。
- 使用同一
X_train、y_train完成训练。 - 如Lasso出现收敛警告,先记录警告,再检查
max_iter和alpha。
# 代码或操作骨架
import numpy as np
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
from sklearn.linear_model import Ridge, Lasso
data = load_diabetes()
X_train, X_test, y_train, y_test = train_test_split(
data.data, data.target, test_size=0.25, random_state=42
)
# 挖空1提示:创建alpha为1.0的岭回归模型
ridge = _____(alpha=1.0)
ridge.fit(X_train, y_train)
# 挖空2提示:创建Lasso模型;为保证收敛可提高max_iter
lasso = _____(alpha=0.1, max_iter=10000)
lasso.fit(X_train, y_train)
print("Ridge得分:", ridge.score(X_test, y_test))
print("Lasso得分:", lasso.score(X_test, y_test))
# 挖空3提示:统计绝对值大于0的系数数量
print("Lasso非零系数:", np.sum(np.abs(lasso.coef_) > __))
关键控制点:不能为了消除警告直接删除输出或更换数据。
# Step 4:记录得分与非零系数 【执行】
- 在同一测试集上计算两个模型得分。
- 统计Lasso绝对值大于0的系数数量。
- 将结果填入比较表,并检查是否只凭单次小差异判断优劣。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:在同一数据划分下得到两模型得分与Lasso非零系数数;建议能联系稳定性、简洁性和风险,不追求单一“最高分”。
关键控制点:得分和特征数量是两个不同评价维度,不能只保留较高的一个。
# Step 5:形成模型选择建议 【检查】
- 若业务强调稳定预测,说明Ridge的适用理由。
- 若业务强调少量特征和简洁解释,说明Lasso的适用理由。
- 写明模型系数不能直接解释为医学因果,结果不能用于个人诊断。
# 分层任务与动态支架
基础:比较一个alpha;进阶:比较3个alpha;挑战:画系数柱状图并说明为何不能据此下医学结论。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:选择建议必须对应具体业务目标,不能笼统写“分数高的更好”。
# Step 6:完成公平性复核与归档 【检查】
- 核对数据划分、随机种子、测试集和记录口径是否一致。
- 重启内核并从头运行,确认比较结果可复现。
- 提交模型比较Notebook、参数表和风险说明。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| Lasso出现收敛警告 | alpha太小或迭代次数不足 | 阅读ConvergenceWarning | 提高max_iter或在教师给定范围调整alpha |
| 比较不公平 | 两个模型使用不同划分 | 核对X_test和random_state | 共用一次划分结果 |
| 把模型用于个人诊断 | 忽视教学数据边界 | 检查报告用途说明 | 明确仅用于课程算法实验 |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:如两模型使用了不同测试数据,本次比较必须重新完成。
# ■ 成果提交区
命名规则:T06_班级_组号_成果名称;个人反思使用T06_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:模型比较Notebook、参数对比表、风险说明
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
| K6 社会责任与协作 | 忽视分工、隐私或伦理 | 基本遵守要求 | 角色履职,能说明数据伦理边界 | 能主动发现并制止不合规做法 |
| K8 创造性与优化 | 照搬结果且无法解释 | 能做少量调整 | 能提出有依据的改进 | 改进可验证、可迁移且不过度复杂 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 模块四 分类模型与质量判断
# 【任务4-1】生成可解释规则:建立心脏风险决策树 【C→T】
# ■ 任务呈现区
企业情境:泰州讯飞医疗人工智能研究院有限公司的智能诊疗项目不仅要输出辅助判断,还要在系统集成和临床验证阶段向专业人员说明模型依据。若模型只能给出结果而无法展示主要判断路径,医疗人员就难以复核,也难以发现模型是否依赖了不合理特征。你们作为医疗数据算法助理,将使用公开的heart.csv建立一棵深度受限的决策树,比较训练集与测试集表现,并从树图中提取一条可以被业务人员读懂的判断规则。最终交付物要同时说明模型的解释价值和局限,避免把课程模型写成诊断结论,体现医疗AI项目中“算法结果必须接受专业复核”的工作要求。
工作委托:完成数据划分,训练限制深度的决策树,比较训练集与测试集得分,并提取一条可读规则。
核心交付物:决策树Notebook、模型得分表、规则解释卡。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第04课 |
| 对应代码 | 机器学习资料/代码及数据/第四章/第4章.ipynb |
| 对应数据 | 机器学习资料/代码及数据/第四章/heart.csv |
| 企业与岗位 | 泰州讯飞医疗人工智能研究院有限公司;医疗数据算法助理 |
| 内容维度/难度 | 分类与解释类;L2 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务3-2 / 任务4-2 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释分类目标;树节点与分裂;max_depth;训练得分和测试得分;过拟合;特征重要性。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能建立可解释分类模型并用训练/测试表现检查过拟合
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:完成数据划分,训练限制深度的决策树,比较训练集与测试集得分,并提取一条可读规则。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:分类目标;树节点与分裂;max_depth;训练得分和测试得分;过拟合;特征重要性。
本任务工具:pd.read_csv、train_test_split、DecisionTreeClassifier、fit、score、plot_tree。
关键判断:比较不限制深度与max_depth=3的模型,优先选择测试表现较稳且规则可读的模型。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 确认target字段和非诊断使用声明 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 规划数据划分、两棵树训练和规则提取 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 确定max_depth候选与评价记录项 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示模型比较方案并接受质询 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 训练模型、输出得分并绘制浅树 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 检查训练测试差距和规则字段 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 提交规则卡与局限说明 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:比较不限制深度与max_depth=3的模型,优先选择测试表现较稳且规则可读的模型。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:读取心脏数据并确认目标列 【执行】
- 读取
heart.csv,输出行列数和字段名称。 - 确认
target是分类目标,其余字段作为候选特征。 - 查看目标类别数量和比例,记录数据用途边界。
关键控制点:目标列不得进入特征矩阵,课程模型不得写成医疗诊断工具。
# Step 2:完成分层数据划分 【执行】
- 使用
drop(columns=['target'])构造X,使用data['target']构造y。 - 按25%测试集划分,并设置
stratify=y和固定随机种子。 - 比较训练集与测试集类别比例是否接近。
关键控制点:类别比例明显改变时先检查是否遗漏
stratify。
# Step 3:训练深度受限的决策树 【执行】
- 创建
max_depth=3的决策树分类器。 - 使用训练集调用
fit,分别输出训练集和测试集得分。 - 记录模型深度限制和随机种子。
# 代码或操作骨架
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, plot_tree
import matplotlib.pyplot as plt
data = pd.read_csv("heart.csv")
X = data.drop(columns=["target"])
y = data["target"]
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.25, random_state=42, stratify=y
)
# 挖空1提示:创建最大深度为3的决策树分类器
tree = DecisionTreeClassifier(max_depth=__, random_state=42)
# 挖空2提示:训练模型
tree.____(X_train, y_train)
print("训练得分:", tree.score(X_train, y_train))
print("测试得分:", tree.score(X_test, y_test))
plt.figure(figsize=(14, 7))
plot_tree(tree, feature_names=X.columns, filled=True)
plt.show()
关键控制点:必须同时记录训练得分和测试得分,不能只展示较高的训练得分。
# Step 4:绘制树图并提取规则 【执行】
- 设置合适画布,使用字段名绘制填色树图。
- 从根节点开始选择一条完整路径,记录涉及字段、阈值和叶节点结果。
- 把代码规则翻译为业务人员可理解的条件描述。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:模型正常训练并绘制深度受限的树;能指出训练分数远高于测试分数可能提示过拟合;规则解释不使用绝对诊断措辞。
关键控制点:树图应清晰可读;规则描述不得使用“必然患病”等绝对诊断措辞。
# Step 5:比较过拟合与可解释性 【检查】
- 如时间允许,训练一棵不限制深度的树作对照。
- 比较两棵树的训练测试差距和规则复杂度。
- 说明为什么测试表现较稳、规则较短的模型更适合作为教学基线。
# 分层任务与动态支架
基础:训练max_depth=3模型;进阶:与不限深度模型比较;挑战:解释feature_importances_的局限。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:模型选择应同时考虑测试表现与可解释性。
# Step 6:完成规则卡和医学边界复核 【检查】
- 数据质检员核对字段名、阈值、得分和规则卡是否一致。
- 重启Notebook并从头运行,确认树图能够重新生成。
- 提交Notebook、模型得分表、规则解释卡和用途声明。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| KeyError: target | 目标列名输入错误 | 打印data.columns | 按实际列名选择target |
| 树图无法阅读 | 树太深或画布太小 | 查看max_depth | 设置max_depth=3并增大figsize |
| 类别比例变化大 | 划分时未分层 | 比较y_train/y_test比例 | 使用stratify=y |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:最终规则必须注明来自公开教学数据,需由专业人员复核。
# ■ 成果提交区
命名规则:T07_班级_组号_成果名称;个人反思使用T07_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:决策树Notebook、模型得分表、规则解释卡
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K3 使用价值 | 成果难以复用 | 在指导下可复用 | 命名规范、可再次运行 | 可迁移到相似业务并给出使用说明 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
| K6 社会责任与协作 | 忽视分工、隐私或伦理 | 基本遵守要求 | 角色履职,能说明数据伦理边界 | 能主动发现并制止不合规做法 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 【任务4-2】提升判断稳定性:比较决策树与随机森林 【C→T】
# ■ 任务呈现区
企业情境:江苏东华测试技术股份有限公司研发制造六维力传感器、扭矩传感器和测控系统,产品要经历设计、装配调试、标定校准和品质检测。测试工程师在处理设备状态数据时,不能只依赖一次偶然划分或一棵容易受样本变化影响的决策树,还要评估模型判断是否稳定、计算成本是否可接受。为了先验证集成学习方法,培训任务继续使用公开分类数据,在相同训练测试集上比较决策树与随机森林,并记录不同树数量下的测试表现和耗时。你们需要像测试工程师提交标定报告一样,给出统一条件、完整记录和明确选型理由,再说明迁移到传感器状态识别还需要采集哪些真实信号特征。
工作委托:在同一训练测试集上比较决策树与随机森林,试验少量n_estimators取值,形成模型选型建议。
核心交付物:模型比较Notebook、参数试验表、岗位迁移说明。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第04课 |
| 对应代码 | 机器学习资料/代码及数据/第四章/第4章.ipynb |
| 对应数据 | 机器学习资料/代码及数据/第四章/heart.csv(公开数据,用于方法验证) |
| 企业与岗位 | 江苏东华测试技术股份有限公司;状态监测数据分析助理 |
| 内容维度/难度 | 集成模型比较类;L2 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务4-1 / 任务4-3 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释集成学习;随机森林;多数投票;n_estimators;max_features;准确率与计算成本的平衡。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能通过统一实验比较单模型与集成模型,并说明稳定性与资源成本的权衡
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:在同一训练测试集上比较决策树与随机森林,试验少量n_estimators取值,形成模型选型建议。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:集成学习;随机森林;多数投票;n_estimators;max_features;准确率与计算成本的平衡。
本任务工具:DecisionTreeClassifier、RandomForestClassifier、score、feature_importances_。
关键判断:只比较10、50、100棵树三个候选,避免无目的遍历;根据测试表现和运行时间共同选择。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 回顾单棵树结果并阅读设备状态迁移说明 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 设计同数据、同指标的公平比较表 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 确定三个n_estimators候选 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示比较口径,接受数据质检员复核 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 训练树与森林,记录得分和耗时 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 检查是否出现只看训练得分的错误 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 提交模型建议和迁移所需数据清单 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:只比较10、50、100棵树三个候选,避免无目的遍历;根据测试表现和运行时间共同选择。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:复用统一数据划分和单树基线 【执行】
- 打开任务4-1的数据准备结果,确认仍使用同一
X_train和X_test。 - 记录任务4-1深度受限决策树的测试得分,作为比较基线。
- 若变量不存在,从数据读取和划分单元开始顺序运行。
关键控制点:不能重新随机划分后再与旧得分直接比较。
# Step 2:设计随机森林参数试验 【执行】
- 确定
n_estimators=10、50、100三个候选值。 - 统一设置
random_state=42和max_features='sqrt'。 - 建立参数、测试得分、训练耗时和备注四列的试验表。
关键控制点:每轮只改变树的数量,保持其他条件一致。
# Step 3:训练随机森林并记录耗时 【执行】
- 在循环中使用当前n创建随机森林。
- 记录训练开始和结束时间,计算每组耗时。
- 使用相同训练集拟合,并在相同测试集上评分。
# 代码或操作骨架
from time import perf_counter
from sklearn.ensemble import RandomForestClassifier
results = []
for n in [10, 50, 100]:
start = perf_counter()
# 挖空1提示:创建随机森林分类器,树的数量使用循环变量n
forest = RandomForestClassifier(
n_estimators=__, random_state=42, max_features="sqrt"
)
# 挖空2提示:用训练数据拟合模型
forest.____(X_train, y_train)
seconds = perf_counter() - start
results.append([n, forest.score(X_test, y_test), seconds])
print(results)
关键控制点:循环变量必须真正传入
n_estimators,不能三次训练相同模型。
# Step 4:比较单树与森林结果 【检查】
- 把决策树基线和三组随机森林结果放入同一表格。
- 比较测试表现、训练耗时和结果稳定性。
- 当得分接近时,说明为什么不一定选择树最多的模型。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:得到三组树数量、测试得分和耗时记录;选型理由至少包含准确性和效率两个方面;不声称公开健康数据就是设备数据。
关键控制点:树越多通常计算成本越高,不能直接写成“越多越好”。
# Step 5:形成岗位迁移说明 【执行】
- 列出迁移到传感器状态识别所需的振动、载荷、温度或标定特征。
- 说明需要真实状态标签、采样规范和验收指标。
- 写出公开健康数据与设备状态数据之间的差异。
# 分层任务与动态支架
基础:完成10与100棵树比较;进阶:完成三组并记录耗时;挑战:比较重要性排序是否稳定。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:岗位情境用于迁移分析,不得把heart.csv描述为企业设备数据。
# Step 6:复核实验并提交模型建议 【检查】
- 数据质检员检查随机种子、参数表和耗时记录。
- 重启并从头运行,确认结果可以重复生成。
- 提交模型比较Notebook、参数试验表和岗位迁移说明。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| NameError: X_train | 未运行上一数据准备单元 | 检查变量是否存在 | 从数据读取单元开始顺序运行 |
| 每次结果波动 | 未固定random_state | 检查构造参数 | 统一random_state=42 |
| 盲目认为树越多越好 | 只看模型规模 | 同时查看得分与耗时 | 选择满足目标的较小模型 |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:模型建议必须同时引用准确性和效率证据。
# ■ 成果提交区
命名规则:T08_班级_组号_成果名称;个人反思使用T08_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:模型比较Notebook、参数试验表、岗位迁移说明
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K3 使用价值 | 成果难以复用 | 在指导下可复用 | 命名规范、可再次运行 | 可迁移到相似业务并给出使用说明 |
| K4 效率 | 严重超时或资源使用失控 | 基本按时完成 | 按计划完成并合理控制资源 | 能在保证质量前提下优化流程 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 【任务4-3】处理非线性关系:用支持向量回归预测环数 【C→T】
# ■ 任务呈现区
企业情境:江苏东华测试技术股份有限公司的传感器和测控系统会产生载荷、位移、应变、温度、振动等连续数据,标定曲线和设备性能之间并不总是简单直线关系。测试算法应用人员需要掌握能够处理非线性关系的回归方法,同时规范完成类别编码、特征缩放和参数记录。你们先使用公开鲍鱼数据abalone_combined4.csv作为算法验证样本,处理Sex类别字段,训练RBF核支持向量回归模型,并观察C和gamma对模型复杂度的影响。项目报告还要列出把该方法迁移到传感器标定或设备性能预测时所需的真实字段、量纲和验收指标。
工作委托:处理Sex字段,划分数据,训练RBF核SVR,记录测试得分与预测样例,并说明C和gamma的基本作用。
核心交付物:SVR Notebook、预测对照表、迁移数据清单。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第05课 |
| 对应代码 | 机器学习资料/代码及数据/第五章/第5章.ipynb;第5章补充内容.ipynb(选学) |
| 对应数据 | 机器学习资料/代码及数据/第五章/abalone_combined4.csv |
| 企业与岗位 | 江苏东华测试技术股份有限公司;测试算法应用助理 |
| 内容维度/难度 | 非线性建模类;L2-L3 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务4-2 / 任务5-1 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释支持向量机直观思想;核函数;RBF;C和gamma;类别独热编码;特征尺度;回归预测。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能完成含类别字段的非线性回归流程,并在有限参数范围内进行有依据的选择
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:处理Sex字段,划分数据,训练RBF核SVR,记录测试得分与预测样例,并说明C和gamma的基本作用。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:支持向量机直观思想;核函数;RBF;C和gamma;类别独热编码;特征尺度;回归预测。
本任务工具:pd.get_dummies、train_test_split、StandardScaler(建议)、SVR、fit、predict、score。
关键判断:先采用课程基线gamma=0.125,再只改变一个参数观察结果;不进行大量穷举。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 检查数据字段、目标Rings和Sex类别 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 规划编码、划分、缩放、训练和评价顺序 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 确定基线核函数与参数 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示数据处理方案,确认无目标泄漏 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 完成独热编码与SVR训练 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 检查预测值、得分和尺度处理 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 形成参数说明与工业迁移清单 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:先采用课程基线gamma=0.125,再只改变一个参数观察结果;不进行大量穷举。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:读取鲍鱼数据并确认字段 【执行】
- 读取
abalone_combined4.csv,检查9个字段和数据类型。 - 确认
Rings为回归目标,Sex为需要编码的类别字段。 - 查看数值字段范围并记录明显异常值。
关键控制点:目标列
Rings不得进入特征矩阵。
# Step 2:完成类别编码与数据划分 【执行】
- 使用
get_dummies对Sex字段进行独热编码。 - 打印编码后的字段名,确认原始Sex列已被替换。
- 划分训练集和测试集,固定随机种子。
关键控制点:出现字符串无法转为浮点数时,应先检查是否仍有未编码类别列。
# Step 3:建立标准化与SVR流水线 【执行】
- 创建包含
StandardScaler和RBF核SVR的流水线。 - 填写课程基线参数
gamma=0.125、C=10。 - 用训练集拟合模型,避免在划分前对全体数据缩放。
# 代码或操作骨架
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVR
data = pd.read_csv("abalone_combined4.csv")
# 挖空1提示:把Sex类别字段转换为0/1列
data_encoded = pd.________(data, columns=["Sex"])
X = data_encoded.drop(columns=["Rings"])
y = data_encoded["Rings"]
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.25, random_state=42
)
# 挖空2提示:建立“标准化+RBF支持向量回归”流水线
model = make_pipeline(
StandardScaler(),
SVR(kernel="___", gamma=0.125, C=10)
)
model.fit(X_train, y_train)
print("测试得分:", model.score(X_test, y_test))
print("前5个预测:", model.predict(X_test[:5]))
关键控制点:标准化必须包含在训练流程中,不能使用测试集信息拟合缩放器。
# Step 4:评价模型并检查预测 【检查】
- 输出测试集得分和前5个预测值。
- 把预测值与真实Rings并排记录,观察误差方向。
- 检查预测是否出现明显不合理数值,并记录可能原因。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:Sex被正确编码,Rings未进入特征;模型正常输出得分和预测;能用“边界更平滑/更复杂”直观解释gamma影响。
关键控制点:只报告一个总得分不足以说明模型表现,必须查看具体预测样例。
# Step 5:进行单参数比较 【执行】
- 保持其他参数不变,只比较两个C值或两个gamma值。
- 记录参数变化、测试得分和运行时间。
- 用“边界更平滑/更复杂”的直观语言解释变化。
# 分层任务与动态支架
基础:跑通基线模型;进阶:比较两个C值;挑战:阅读补充Notebook,解释核映射图但不要求推导。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:一次只改变一个参数,避免无法判断结果变化来自哪里。
# Step 6:完成工业迁移与结果复核 【检查】
- 列出迁移到传感器标定所需字段、单位和验收指标。
- 重启内核并从头运行,复核编码、缩放、训练和评价顺序。
- 提交SVR Notebook、预测对照表和迁移数据清单。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| could not convert string to float | Sex未编码 | 查看X.dtypes | 使用get_dummies处理类别列 |
| 模型得分异常低 | 未缩放或参数不合适 | 比较缩放前后并核对目标列 | 使用StandardScaler流水线和课程基线参数 |
| 数据泄漏 | Rings仍在X中 | 打印X.columns | drop目标列后再划分 |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:公开鲍鱼数据只用于方法验证,不能直接代表企业测试数据。
# ■ 成果提交区
命名规则:T09_班级_组号_成果名称;个人反思使用T09_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:SVR Notebook、预测对照表、迁移数据清单
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K4 效率 | 严重超时或资源使用失控 | 基本按时完成 | 按计划完成并合理控制资源 | 能在保证质量前提下优化流程 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
| K8 创造性与优化 | 照搬结果且无法解释 | 能做少量调整 | 能提出有依据的改进 | 改进可验证、可迁移且不过度复杂 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 模块五 业务数据治理与概率分类
# 【任务5-1】治理投诉工单:清洗并形成可分析数据 【C→T】
# ■ 任务呈现区
企业情境:中国移动通信集团江苏有限公司泰州分公司的客户服务流程包括问题受理、投诉分类、工单派发、处理跟踪和满意度回访。客户服务工程师和数据分析人员只有先保证工单字段完整、类别规范、文本可用,才能继续统计高频问题、处理部门负荷和重复报障情况。现在,客服质检组交来一份教学化投诉工单练习数据,其中混有缺失值、重复文本、类别空格、不规范等级、异常报修次数和无法识别的受理时间。你们要按企业工单处理思路建立清洗规则,保留原始数据与处理记录,生成可继续分析的CSV,并向客服主管提交一份基于数据证据的质量问题与整改建议。
工作委托:检查并清洗投诉工单,输出清洗后数据、数据质量记录和不超过200字的整改建议。
核心交付物:学生版Notebook、清洗后投诉工单数据.csv、数据质量报告、整改建议。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第06课 |
| 对应代码 | 2026.5.21 公开课材料/代码实现/企业客户投诉工单数据预处理_学生版.ipynb |
| 对应数据 | 2026.5.21 公开课材料/代码实现/complaint_text_cleaning_practice.csv |
| 企业与岗位 | 中国移动通信集团江苏有限公司泰州分公司;客户服务工程师、数据分析助理 |
| 内容维度/难度 | 数据治理类;L2 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务4-3 / 任务5-2 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释缺失值、重复值、文本清洗、字段异常;清洗前后记录;数据脱敏;业务规则不能由算法擅自替代。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能依据质量规则清洗工单数据,并保留可追溯的处理记录与合规说明
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:检查并清洗投诉工单,输出清洗后数据、数据质量记录和不超过200字的整改建议。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:缺失值、重复值、文本清洗、字段异常;清洗前后记录;数据脱敏;业务规则不能由算法擅自替代。
本任务工具:read_csv、isnull().sum、duplicated().sum、drop_duplicates、fillna、str.strip、to_csv。
关键判断:缺失值不能一律删除:先判断字段重要性和缺失比例;投诉文本不得上传公共AI工具。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 阅读企业工单流程、字段说明与隐私边界 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 分工制定缺失、重复、文本和字段检查顺序 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 决定各类问题的处理规则并写入记录表 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示清洗方案,接受业务与质量双重审核 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 按小步骤补全代码,生成data_clean | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 对比清洗前后行数、缺失数和重复数 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 提交数据与整改建议,完成个人反思 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:缺失值不能一律删除:先判断字段重要性和缺失比例;投诉文本不得上传公共AI工具。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:复制原始工单数据并建立质量记录 【执行】
- 将学生版Notebook和
complaint_text_cleaning_practice.csv复制到本组任务目录。 - 保留原始CSV不修改,建立清洗前行数、字段数和问题数量记录表。
- 确认投诉文本不得上传公共AI工具。
关键控制点:原始数据必须只读保留,所有清洗操作在
data_clean副本上完成。
# Step 2:读取数据并检查必要字段 【执行】
- 补全文件名和
read_csv代码,查看前5行及数据形状。 - 核对工单编号、投诉文本、故障描述、投诉等级、工单类别、处理部门、受理时间和报修次数。
- 若字段缺失或乱码,先停止清洗并处理文件或编码问题。
关键控制点:字段没有正确读取时,不得继续执行删除、替换等不可逆操作。
# Step 3:识别缺失、重复和异常值 【执行】
- 统计每列缺失值,按投诉文本和工单类别检查重复记录。
- 检查投诉等级、工单类别和处理部门是否存在空格或非标准取值。
- 把报修次数转换为数值、受理时间转换为日期,标记无法转换的记录。
# 代码或操作骨架
import pandas as pd
# 挖空1提示:填写5月21日学生版Notebook配套的清洗练习CSV文件名
data_file = "____"
data = pd.read_csv(data_file)
# 挖空2提示:检查每列缺失值数量
missing_count = data.________().sum()
print(missing_count)
# 挖空3提示:先复制原始数据,保留原表便于前后对照
data_clean = data.____()
# 挖空4提示:投诉文本缺失时先填为空文本,再清理两端空格
data_clean["投诉文本"] = data_clean["投诉文本"].________("").astype(str).str.____()
# 挖空5提示:核心类别为空的记录无法用于分类统计,应按字段名删除
data_clean = data_clean.________(subset=["工单类别"]).copy()
# 挖空6提示:按“投诉文本+工单类别”删除重复记录,保留第一次出现
data_clean = data_clean._______________(
subset=["投诉文本", "工单类别"], keep="first"
).copy()
# 挖空7提示:保存时不写入额外索引列
data_clean.to_csv("清洗后投诉工单数据.csv", index=____, encoding="utf-8-sig")
关键控制点:每类数据问题都要先记录数量和样例,再制定处理规则。
# Step 4:制定规则并完成数据清洗 【执行】
- 复制原始DataFrame,处理文本空值和前后空格。
- 依据业务用途处理核心类别缺失、重复文本和不规范类别。
- 逐步记录每条规则影响的行数,避免一次执行多项删除后无法追溯。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:清洗规则有业务理由;清洗前后数量可核对;输出文件可重新读取;建议基于数据证据且不暴露客户隐私。
关键控制点:缺失值不能一律删除;每个处理动作必须写明业务理由。
# Step 5:验证清洗结果并导出文件 【检查】
- 对比清洗前后行数、缺失数、重复数和异常取值数量。
- 重新读取导出的
清洗后投诉工单数据.csv,检查是否出现多余索引列。 - 抽查至少3条被修改或删除的记录,核对处理规则是否正确。
# 分层任务与动态支架
基础:完成缺失、重复、文本空格检查;进阶:完成类别分布统计;挑战:提出一条可自动化的数据质量规则。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:导出成功不等于清洗合格,必须重新读取并完成质量复核。
# Step 6:形成数据质量报告和整改建议 【检查】
- 汇总发现的问题、处理规则、处理数量和遗留的待核实项。
- 依据类别或部门统计提出不超过200字的整改建议。
- 提交Notebook、清洗后CSV、质量报告和个人贡献证据。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| UnicodeDecodeError | 文件编码与默认值不同 | 查看教师数据说明 | 按说明设置encoding,避免反复猜测 |
| 清洗后数据全部减少 | 把正常记录误删或条件过严 | 逐步记录每次处理影响行数 | 撤回并重新核对规则 |
| 出现Unnamed: 0 | 保存时写入索引 | 查看导出文件列名 | 设置index=False |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:整改建议必须引用数据结果,不能使用与本数据无关的空泛表述。
# ■ 成果提交区
命名规则:T10_班级_组号_成果名称;个人反思使用T10_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:学生版Notebook、清洗后投诉工单数据.csv、数据质量报告、整改建议
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
| K6 社会责任与协作 | 忽视分工、隐私或伦理 | 基本遵守要求 | 角色履职,能说明数据伦理边界 | 能主动发现并制止不合规做法 |
| K7 环境与安全意识 | 忽视数据和设备安全 | 基本遵守操作要求 | 主动检查安全、隐私和资源使用 | 能提出可执行的安全与节能改进 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 【任务5-2】识别风险类别:应用朴素贝叶斯分类 【C→T】
# ■ 任务呈现区
企业情境:泰州市数据产业集团有限公司在数据治理和数据分析项目中,需要把多源类别字段统一编码,再根据已有样本完成分类预测和结果说明。对于字段以类别取值为主、需要快速建立基线模型的项目,数据分析师会评估朴素贝叶斯是否适用,并记录编码规则和模型边界。你们将使用公开mushroom.csv练习这一过程:识别class目标列,对帽形、颜色、气味、菌褶等类别字段逐列编码,训练多项式朴素贝叶斯分类器,并保存目标类别的编码对应关系。最终模型卡既要报告测试结果,也要解释“特征相互独立”是一种计算简化,课程结果不得用于现实中的野生蘑菇食用判断。
工作委托:编码类别字段,训练朴素贝叶斯分类器,输出测试得分和预测对照,解释“朴素独立假设”为何是一种简化。
核心交付物:分类Notebook、编码说明表、模型评价卡。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第06课 |
| 对应代码 | 机器学习资料/代码及数据/第六章/第6章.ipynb |
| 对应数据 | 机器学习资料/代码及数据/第六章/mushroom.csv;买房但会负债.csv(演示) |
| 企业与岗位 | 泰州市数据产业集团有限公司;数据分析师助理 |
| 内容维度/难度 | 概率分类类;L2 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务5-1 / 任务6-1 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释条件概率直观含义;朴素独立假设;Bernoulli/Gaussian/MultinomialNB适用数据;类别编码;安全场景中的保守表达。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能根据数据形式选择朴素贝叶斯类型并完成类别数据分类流程
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:编码类别字段,训练朴素贝叶斯分类器,输出测试得分和预测对照,解释“朴素独立假设”为何是一种简化。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:条件概率直观含义;朴素独立假设;Bernoulli/Gaussian/MultinomialNB适用数据;类别编码;安全场景中的保守表达。
本任务工具:LabelEncoder、train_test_split、MultinomialNB、fit、predict、score。
关键判断:mushroom.csv含多列类别特征,使用编码后的MultinomialNB;不混用连续数据的GaussianNB。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 识别class目标列和各类别特征 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 制定逐列编码与编码记录方案 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 选择MultinomialNB并说明选择理由 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示编码前后示例,接受质检 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 完成编码、划分、训练和预测 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 检查未知类别风险与测试表现 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 提交模型卡和安全使用声明 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:mushroom.csv含多列类别特征,使用编码后的MultinomialNB;不混用连续数据的GaussianNB。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:读取蘑菇数据并识别目标 【执行】
- 读取
mushroom.csv,检查class及各类别特征。 - 查看目标类别数量和比例,记录类别字符的原始含义。
- 确认所有特征为类别型,不能直接传入需要数值输入的模型。
关键控制点:目标
class必须单独保存,不能与特征一起作为模型输入。
# Step 2:制定逐列编码方案 【执行】
- 为每一列分别建立
LabelEncoder,不得用同一个编码器混合多列取值。 - 在编码说明表中记录目标类别与数字的对应关系。
- 保留原始数据副本,编码结果保存到新的DataFrame。
关键控制点:编码后的数字只代表类别编号,不表示大小或先后关系。
# Step 3:完成编码与分层划分 【执行】
- 循环调用
fit_transform完成所有类别字段编码。 - 删除
class构造X,单独构造y。 - 使用
stratify=y划分训练测试集并固定随机种子。
# 代码或操作骨架
import pandas as pd
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB
data = pd.read_csv("mushroom.csv")
encoded = data.copy()
# 挖空1提示:对每一列分别建立编码器并转换
for col in encoded.columns:
encoder = LabelEncoder()
encoded[col] = encoder.____________(encoded[col])
X = encoded.drop(columns=["class"])
y = encoded["class"]
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.25, random_state=42, stratify=y
)
# 挖空2提示:创建多项式朴素贝叶斯分类器
model = ______________()
model.fit(X_train, y_train)
print("测试得分:", model.score(X_test, y_test))
关键控制点:编码后应检查X的所有字段均为数值类型。
# Step 4:训练MultinomialNB并预测 【执行】
- 创建多项式朴素贝叶斯分类器并使用训练集拟合。
- 输出测试得分和前若干预测值。
- 将预测编码转换回原类别含义,形成预测对照。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:所有类别字段完成数值编码;目标列未混入特征;能说明独立假设是便于计算的简化,不等于现实中字段毫无关系。
关键控制点:报告预测时不能只展示0和1,必须说明它们对应的原类别。
# Step 5:检查模型假设与错误样例 【检查】
- 说明朴素贝叶斯把特征条件独立作为计算简化。
- 找出至少1条预测错误或容易混淆的记录。
- 检查新数据出现训练中未见类别时可能产生的编码问题。
# 分层任务与动态支架
基础:完成MultinomialNB分类;进阶:输出混淆矩阵;挑战:比较课程中的BernoulliNB演示并说明数据差异。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:高测试得分不能证明各特征在现实中真正相互独立。
# Step 6:完成模型卡和安全声明 【检查】
- 填写数据、编码方法、模型、测试结果和主要局限。
- 重启内核并从头运行,确认编码和模型结果可复现。
- 提交分类Notebook、编码说明表和模型评价卡。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| could not convert string to float | 仍有未编码类别列 | 查看X.dtypes | 逐列编码并复核 |
| 编码含义无法追溯 | 未记录类别与数字对应关系 | 检查编码说明表 | 至少保存目标列的classes_ |
| 用模型判断野生蘑菇可食 | 误用教学模型 | 检查用途声明 | 明确不得用于现实食用决策 |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:必须明确课程模型不得用于现实中的野生蘑菇食用判断。
# ■ 成果提交区
命名规则:T11_班级_组号_成果名称;个人反思使用T11_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:分类Notebook、编码说明表、模型评价卡
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
| K6 社会责任与协作 | 忽视分工、隐私或伦理 | 基本遵守要求 | 角色履职,能说明数据伦理边界 | 能主动发现并制止不合规做法 |
| K8 创造性与优化 | 照搬结果且无法解释 | 能做少量调整 | 能提出有依据的改进 | 改进可验证、可迁移且不过度复杂 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 模块六 距离模型与参数优化
# 【任务6-1】按相似样本判断状态:K近邻分类 【C→T】
# ■ 任务呈现区
企业情境:江苏东华测试技术股份有限公司的测控系统可连续采集结构载荷、振动和传感器输出,设备状态监测人员常把当前样本与历史上最相似的正常、预警或故障样本进行比较。K近邻方法与这种“参考相似案例”的工作思路接近,但邻居数量过小容易被噪声影响,过大又可能模糊局部状态差异。你们作为设备状态监测助理,先用二维模拟状态数据建立KNN分类器,在固定数据划分下比较k=1、3、7,记录测试表现并说明最终选择。完成基础任务后,还要写出迁移到真实测控数据前必须处理的量纲、采样频率和特征尺度问题。
工作委托:训练KNeighborsClassifier,比较k=1、3、7的测试表现,选择一个模型并说明过小或过大的风险。
核心交付物:KNN分类Notebook、k值比较表、状态判断说明。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第07课 |
| 对应代码 | 机器学习资料/代码及数据/第七章/第7章1.ipynb |
| 对应数据 | Notebook生成的二维分类数据(教学模拟) |
| 企业与岗位 | 江苏东华测试技术股份有限公司;设备状态监测助理 |
| 内容维度/难度 | 距离分类类;L2 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务5-2 / 任务6-2 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释距离与邻居;n_neighbors;多数投票;weights='uniform'/'distance';k过小易受噪声影响,过大易模糊边界。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能通过少量对比试验选择邻居数量,并用相似样本解释分类结果
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:训练KNeighborsClassifier,比较k=1、3、7的测试表现,选择一个模型并说明过小或过大的风险。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:距离与邻居;n_neighbors;多数投票;weights='uniform'/'distance';k过小易受噪声影响,过大易模糊边界。
本任务工具:make_blobs或Notebook原数据、train_test_split、KNeighborsClassifier、score。
关键判断:在固定数据划分下比较3个k值;测试得分相近时优先选择更稳定、易解释的中间值。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 观察二维样本分布和状态标签 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 制定固定划分与k值对比方案 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 选择1、3、7作为有代表性的候选 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示预测思路并解释“邻居” | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 训练三个模型并记录结果 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 检查尺度、噪声点和过拟合迹象 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 提交模型选择与迁移说明 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:在固定数据划分下比较3个k值;测试得分相近时优先选择更稳定、易解释的中间值。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:观察样本分布并明确分类目标 【执行】
- 运行Notebook生成二维分类数据,绘制不同类别散点图。
- 观察类别边界、离群点和局部混杂区域。
- 用一句话说明KNN如何参考附近历史样本判断新样本。
关键控制点:在比较k值之前先观察数据分布,否则参数选择缺少依据。
# Step 2:固定数据划分和候选k值 【执行】
- 使用固定随机种子划分训练集和测试集。
- 确定
k=1、3、7三个候选值,建立比较记录表。 - 检查每个k均小于训练样本数。
关键控制点:所有候选模型必须使用相同数据划分。
# Step 3:循环训练KNN分类器 【执行】
- 在循环中把当前k传入
n_neighbors。 - 分别调用
fit和score,记录每个k的测试得分。 - 打印比较字典,检查是否漏掉某个候选值。
# 代码或操作骨架
from sklearn.neighbors import KNeighborsClassifier
scores = {}
for k in [1, 3, 7]:
# 挖空1提示:邻居数量使用循环变量k
model = KNeighborsClassifier(n_neighbors=__, weights="uniform")
# 挖空2提示:用训练集训练,再用测试集评分
model.____(X_train, y_train)
scores[k] = model.____(X_test, y_test)
print(scores)
best_k = max(scores, key=scores.get)
print("本次较优k:", best_k)
关键控制点:不能只运行自动选出的best_k,必须保留全部候选结果。
# Step 4:选择k并解释风险 【检查】
- 比较三个k值的测试表现。
- 说明k=1为什么容易受单个噪声点影响。
- 说明k较大为什么可能把不同局部类别混在一起。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:得到3个k值的统一测试结果;能解释k=1容易跟随个别样本、k过大可能混淆局部类别;不只抄写best_k。
关键控制点:最终选择必须包含得分证据和稳定性解释。
# Step 5:比较距离权重并讨论迁移 【执行】
- 进阶组保持k不变,比较
uniform与distance权重。 - 记录结果变化,不把单次小幅提升写成普遍规律。
- 列出迁移到测控数据时需要处理的尺度、采样和特征问题。
# 分层任务与动态支架
基础:比较k=1和3;进阶:完成3个k;挑战:比较distance权重并解释变化。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:真实测控字段量纲差异较大,迁移前必须考虑标准化。
# Step 6:复核结果并提交 【检查】
- 检查随机种子、k值、权重和测试集是否记录完整。
- 重启内核并从头运行,确认比较表能够重新生成。
- 提交KNN分类Notebook、k值比较表和状态判断说明。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| 不同组结果无法比较 | 数据划分随机且未固定 | 检查random_state | 统一划分参数 |
| k大于训练样本数 | 参数超出范围 | 查看len(X_train) | 确保k不超过训练样本数 |
| 距离被大数值字段支配 | 特征尺度差异大 | 比较各列范围 | 在真实迁移时使用缩放 |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:模型选择说明不能只写“程序自动选择”。
# ■ 成果提交区
命名规则:T12_班级_组号_成果名称;个人反思使用T12_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:KNN分类Notebook、k值比较表、状态判断说明
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K4 效率 | 严重超时或资源使用失控 | 基本按时完成 | 按计划完成并合理控制资源 | 能在保证质量前提下优化流程 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 【任务6-2】预测录取机会:K近邻回归与数据缩放 【C→T】
# ■ 任务呈现区
企业情境:泰州市姜高新人工智能科技有限公司的AI解决方案可服务智慧教育等场景,项目团队在设计预测功能时,需要同时考虑数据预处理、结果解释和使用边界。公开研究生录取数据中的GRE、TOEFL、CGPA等字段量纲差异明显,如果直接计算距离,数值范围大的字段会主导K近邻结果。你们作为教育数据应用开发助理,要删除仅用于编号的Serial No.字段,清理列名空格,只在训练集上拟合MinMaxScaler,再建立K近邻回归模型并比较缩放前后的表现。交付说明必须强调:预测值只能用于课程中的方法验证,不能替代学校录取规则或人工审核。
工作委托:清理序号列,选择Chance of Admit为目标,比较缩放前后KNeighborsRegressor表现,形成负责任使用说明。
核心交付物:KNN回归Notebook、缩放对比表、模型使用边界说明。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第07课 |
| 对应代码 | 机器学习资料/代码及数据/第七章/第7章2.ipynb |
| 对应数据 | 机器学习资料/代码及数据/第七章/Admission_Predict.csv 或 Admission_Predict_Ver1.1.csv |
| 企业与岗位 | 泰州市姜高新人工智能科技有限公司;教育数据应用开发助理 |
| 内容维度/难度 | 距离回归类;L2-L3 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务6-1 / 任务7-1 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释K近邻回归;邻居目标均值;MinMaxScaler;训练集拟合缩放器;数据泄漏;高风险决策中的人工复核。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能识别距离模型的尺度问题,规范完成训练集拟合和测试集转换
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:清理序号列,选择Chance of Admit为目标,比较缩放前后KNeighborsRegressor表现,形成负责任使用说明。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:K近邻回归;邻居目标均值;MinMaxScaler;训练集拟合缩放器;数据泄漏;高风险决策中的人工复核。
本任务工具:read_csv、drop、train_test_split、MinMaxScaler、KNeighborsRegressor、score。
关键判断:缩放器只在X_train上fit,再分别transform训练集和测试集;不在全体数据上提前拟合。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 核对目标字段、序号字段和使用边界 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 规划基线模型与缩放模型对比 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 决定只在训练集拟合缩放器 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示数据泄漏检查点 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 完成清理、缩放、训练和预测 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 检查字段范围与缩放前后得分 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 提交使用边界和人工复核建议 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:缩放器只在X_train上fit,再分别transform训练集和测试集;不在全体数据上提前拟合。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:读取录取数据并清理列名 【执行】
- 读取
Admission_Predict.csv并打印字段列表。 - 使用
str.strip()清除列名前后空格。 - 确认
Serial No.是编号字段,Chance of Admit是回归目标。
关键控制点:出现KeyError时先打印列名,不要凭猜测反复修改字符串。
# Step 2:构造特征并完成数据划分 【执行】
- 删除
Serial No.和目标列构造X,单独构造y。 - 检查GRE、TOEFL、CGPA等字段的数值范围。
- 使用固定随机种子划分训练集与测试集。
关键控制点:纯标识字段不能作为预测特征。
# Step 3:规范完成训练集缩放 【执行】
- 创建
MinMaxScaler。 - 只对
X_train调用fit_transform学习最大最小值。 - 对
X_test只调用transform,不得重新拟合。
# 代码或操作骨架
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn.neighbors import KNeighborsRegressor
data = pd.read_csv("Admission_Predict.csv")
data.columns = data.columns.str.strip()
X = data.drop(columns=["Serial No.", "Chance of Admit"])
y = data["Chance of Admit"]
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.25, random_state=42
)
scaler = MinMaxScaler()
# 挖空1提示:只用训练特征学习最大最小值
X_train_scaled = scaler.____________(X_train)
# 挖空2提示:测试集只能转换,不能重新fit
X_test_scaled = scaler.________(X_test)
# 挖空3提示:创建5邻居回归器
model = KNeighborsRegressor(n_neighbors=__)
model.fit(X_train_scaled, y_train)
print("测试得分:", model.score(X_test_scaled, y_test))
关键控制点:在全体数据或测试集上拟合缩放器会造成数据泄漏。
# Step 4:训练KNN回归模型 【执行】
- 创建
n_neighbors=5的KNeighborsRegressor。 - 使用缩放后的训练数据拟合模型。
- 输出测试得分和若干预测值、真实值。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:序号列不进入模型;缩放器只在训练集拟合;能解释预测是教学参考,不能自动决定个人录取。
关键控制点:训练和预测必须使用同一套缩放规则。
# Step 5:比较缩放前后与权重方案 【检查】
- 用相同k值训练一个未缩放基线,比较两者表现。
- 进阶组比较
uniform和distance权重。 - 结合字段范围解释为什么缩放会影响距离模型。
# 分层任务与动态支架
基础:完成正确缩放模型;进阶:比较缩放前后;挑战:比较uniform与distance权重。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:比较时除缩放或权重外,其余条件必须保持一致。
# Step 6:形成使用边界并提交 【检查】
- 检查编号列、数据泄漏和字段空格问题是否全部处理。
- 写明预测不能作为录取决定,只能用于课程方法验证。
- 提交KNN回归Notebook、缩放对比表和使用边界说明。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| KeyError: Chance of Admit | 字段末尾空格未清理 | 打印repr(data.columns) | 使用str.strip清理列名 |
| 测试集重新fit | 混淆fit_transform和transform | 检查两行缩放代码 | 训练集fit_transform,测试集transform |
| 序号成为重要特征 | 忘记删除Serial No. | 查看X.columns | 删除纯标识列 |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:涉及个人发展的预测必须保留人工审核和公平性说明。
# ■ 成果提交区
命名规则:T13_班级_组号_成果名称;个人反思使用T13_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:KNN回归Notebook、缩放对比表、模型使用边界说明
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
| K6 社会责任与协作 | 忽视分工、隐私或伦理 | 基本遵守要求 | 角色履职,能说明数据伦理边界 | 能主动发现并制止不合规做法 |
| K8 创造性与优化 | 照搬结果且无法解释 | 能做少量调整 | 能提出有依据的改进 | 改进可验证、可迁移且不过度复杂 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 模块七 神经网络与视觉识别
# 【任务7-1】调试小型神经网络:完成鸢尾花分类 【C→T】
# ■ 任务呈现区
企业情境:泰州市姜高新人工智能科技有限公司的智能算法研发流程包括算法设计、模型训练、模型评估和模型优化。面对新的分类需求,算法助理通常先在小数据集上验证网络结构、激活函数、迭代次数和数据缩放是否合理,再决定是否扩大数据和算力投入。你们将使用鸢尾花内置数据建立小型MLP分类器,通过流水线完成标准化,并在其他条件一致的情况下比较两个隐藏层规模。项目负责人要求参数实验表中保留收敛信息、训练与测试表现以及模型选择理由,不能简单把“网络更大”当作“模型更好”,也不能一次同时改变多个参数。
工作委托:对数据进行缩放,训练MLPClassifier,比较两个隐藏层设置,记录收敛情况、训练得分和测试得分。
核心交付物:MLP Notebook、参数实验表、模型选择说明。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第08课 |
| 对应代码 | 机器学习资料/代码及数据/第八章/第8章1.ipynb |
| 对应数据 | sklearn.datasets.load_iris 内置数据 |
| 企业与岗位 | 泰州市姜高新人工智能科技有限公司;机器学习算法助理 |
| 内容维度/难度 | 神经网络参数实验类;L2-L3 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务6-2 / 任务7-2 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释输入层、隐藏层、输出层;激活函数ReLU/tanh;hidden_layer_sizes;alpha;max_iter;收敛警告。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能按控制变量原则完成小型神经网络参数实验并识别过拟合或未收敛现象
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:对数据进行缩放,训练MLPClassifier,比较两个隐藏层设置,记录收敛情况、训练得分和测试得分。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:输入层、隐藏层、输出层;激活函数ReLU/tanh;hidden_layer_sizes;alpha;max_iter;收敛警告。
本任务工具:StandardScaler、MLPClassifier、fit、score、loss_curve_。
关键判断:只比较(10,)与(30,)两个结构,其他参数保持一致;若未收敛先检查缩放和max_iter。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 识别输入特征数和类别数 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 制定缩放与两组结构对比方案 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 确定控制变量和记录字段 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示实验表并说明公平比较方法 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 训练两个MLP并记录结果 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 检查收敛警告与训练测试差距 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 提交选型说明和一项改进方向 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:只比较(10,)与(30,)两个结构,其他参数保持一致;若未收敛先检查缩放和max_iter。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:了解输入输出和网络结构 【执行】
- 加载鸢尾花数据,确认4个输入特征和3个类别。
- 画出输入层、一个隐藏层和输出层的简化结构图。
- 记录本任务只比较隐藏层规模,不同时改变其他参数。
关键控制点:先明确控制变量,再开始参数实验。
# Step 2:统一数据划分与缩放方案 【执行】
- 使用固定随机种子划分训练集和测试集。
- 建立
StandardScaler + MLPClassifier流水线。 - 设置统一的激活函数、alpha、max_iter和随机种子。
关键控制点:神经网络对特征尺度敏感,不能省略缩放后再直接比较结构。
# Step 3:训练第一组隐藏层结构 【执行】
- 设置
hidden_layer_sizes=(10,)并训练模型。 - 记录训练得分、测试得分、警告信息和运行时间。
- 若未收敛,先检查缩放和迭代次数,不删除警告。
# 代码或操作骨架
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.neural_network import MLPClassifier
results = {}
for hidden in [(10,), (30,)]:
# 挖空1提示:建立“标准化+MLP分类器”流水线
model = make_pipeline(
StandardScaler(),
MLPClassifier(
hidden_layer_sizes=hidden,
activation="relu",
alpha=0.001,
max_iter=2000,
random_state=42
)
)
# 挖空2提示:训练并记录测试得分
model.____(X_train, y_train)
results[str(hidden)] = model.____(X_test, y_test)
print(results)
关键控制点:警告是诊断信息,应记录并分析。
# Step 4:训练第二组并完成公平比较 【执行】
- 只把隐藏层规模改为
(30,),其他参数保持不变。 - 训练第二个模型并填写同一实验表。
- 比较测试表现、训练测试差距和运行情况。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:两组实验除隐藏层规模外保持一致;模型可收敛或能解释警告;选择理由不简单等同于网络越大越好。
关键控制点:一次改变多个参数会导致无法判断隐藏层规模的影响。
# Step 5:选择模型并解释结果 【检查】
- 根据测试表现、收敛情况和复杂度选择一个结构。
- 说明网络更大不一定更好,可能增加训练时间或过拟合。
- 进阶组可单独比较
tanh,但必须另建实验记录。
# 分层任务与动态支架
基础:完成一个结构;进阶:比较两个结构;挑战:把activation改为tanh并记录,但不要求全面搜索。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:选型理由至少包含两个评价维度。
# Step 6:复现并归档参数实验 【检查】
- 重启内核并从头运行,确认两组实验都能复现。
- 检查实验表中参数、得分和结论是否一一对应。
- 提交MLP Notebook、参数实验表和模型选择说明。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| ConvergenceWarning | 未缩放或迭代不足 | 检查流水线和警告信息 | 先缩放,再适度提高max_iter |
| 结果每次不同 | 未固定random_state | 检查模型参数 | 统一random_state=42 |
| 一次改多个参数 | 没有控制变量 | 对照实验表 | 每轮只改变hidden_layer_sizes |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:最终Notebook不得只保留得分较高的一组结果。
# ■ 成果提交区
命名规则:T14_班级_组号_成果名称;个人反思使用T14_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:MLP Notebook、参数实验表、模型选择说明
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K4 效率 | 严重超时或资源使用失控 | 基本按时完成 | 按计划完成并合理控制资源 | 能在保证质量前提下优化流程 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
| K8 创造性与优化 | 照搬结果且无法解释 | 能做少量调整 | 能提出有依据的改进 | 改进可验证、可迁移且不过度复杂 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 【任务7-2】识别服饰图像:训练Fashion-MNIST分类器 【C→T】
# ■ 任务呈现区
企业情境:蓝思精密(泰州)有限公司生产智能手机金属中框和笔记本金属外壳,制造流程包括CNC加工、研磨抛光、表面处理、组装和AOI自动外观检测。AOI工程师需要利用图像识别方法区分划伤、色差、异物、变形等外观问题,并通过误分类样例持续调整检测规则和模型。为建立图像分类基础能力,你们先使用公开Fashion-MNIST数据完成像素缩放、小型神经网络训练和预测展示,找出至少一个误分类样例并分析可能原因。最后要向检测主管列出从服饰图像迁移到金属结构件AOI所需的真实缺陷样本、标注规范、相机条件和质量验收标准。
工作委托:抽取适量样本,将像素缩放到0—1,训练MLPClassifier,展示预测图像、真实标签和预测标签,记录误分类样例。
核心交付物:图像分类Notebook、预测展示图、误分类分析卡、AOI迁移清单。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第08课 |
| 对应代码 | 机器学习资料/代码及数据/第八章/第8章2.ipynb |
| 对应数据 | 机器学习资料/代码及数据/第八章/train.csv、test.csv、kuzi.jpg及Fashion-MNIST压缩文件 |
| 企业与岗位 | 蓝思精密(泰州)有限公司;AOI算法与检测助理 |
| 内容维度/难度 | 图像分类应用类;L3 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务7-1 / 任务8-1 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释28×28像素与784维特征;像素缩放;多分类;训练成本;误分类样例;公开数据与工业数据域差异。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能完成基础图像分类流程,并从误分类样例识别模型和数据的局限
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:抽取适量样本,将像素缩放到0—1,训练MLPClassifier,展示预测图像、真实标签和预测标签,记录误分类样例。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:28×28像素与784维特征;像素缩放;多分类;训练成本;误分类样例;公开数据与工业数据域差异。
本任务工具:read_csv、iloc、/255.0、MLPClassifier、predict、reshape(28,28)、imshow。
关键判断:为保证4课时可完成,使用教师指定样本量和小型网络;不追求全量训练与最高精度。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 阅读AOI岗位情境与公开数据声明 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 规划抽样、缩放、训练和误差观察 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 确定样本量与小型网络结构 | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示资源计划,确认能在课堂完成 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 训练模型并展示若干预测 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 核对像素范围、标签和误分类样例 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 提交AOI迁移所需数据清单 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:为保证4课时可完成,使用教师指定样本量和小型网络;不追求全量训练与最高精度。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:检查图像数据与计算资源 【执行】
- 确认
train.csv和test.csv均包含784个像素字段和最后一列label。 - 检查课堂电脑内存和预计训练时间,采用教师指定样本量。
- 建立类别、样本量、像素范围和网络结构记录表。
关键控制点:本任务以课堂可完成为准,不盲目追求全量训练。
# Step 2:提取标签并完成像素缩放 【执行】
- 使用
drop(columns=['label'])提取像素特征。 - 单独读取
label作为目标,并按任务要求截取训练和测试样本。 - 将像素除以255,检查缩放后范围是否在0—1。
关键控制点:实际文件的label位于最后一列,不能按第0列读取。
# Step 3:建立并训练小型MLP 【执行】
- 创建含64个节点的单隐藏层MLP,设置随机种子和迭代次数。
- 使用缩放后的训练数据拟合模型。
- 记录训练时间、警告信息和测试表现。
# 代码或操作骨架
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.neural_network import MLPClassifier
train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")
# 挖空1提示:实际文件中label是最后一列,其余784列是像素;像素需缩放到0—1
X_train = train.drop(columns=["label"]).iloc[:10000].values / ____
y_train = train["label"].iloc[:10000].values
X_test = test.drop(columns=["label"]).iloc[:2000].values / ____
y_test = test["label"].iloc[:2000].values
# 挖空2提示:使用一个含64个节点的隐藏层
model = MLPClassifier(
hidden_layer_sizes=(__,), max_iter=30, random_state=42
)
model.fit(X_train, y_train)
pred = model.predict(X_test[:8])
plt.imshow(X_test[0].reshape(28, 28), cmap="gray")
plt.title(f"true={y_test[0]}, pred={pred[0]}")
plt.axis("off")
plt.show()
关键控制点:如训练过慢,应先减少样本量或网络规模,不在课堂临时更换复杂框架。
# Step 4:展示预测图像和标签 【执行】
- 选择测试样本,使用
reshape(28, 28)还原图像。 - 同时显示真实标签和预测标签。
- 至少保留1个正确预测和1个错误预测作为证据。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:像素范围为0—1,训练可在课堂设备上完成;至少展示1个正确和1个错误预测;迁移清单包含真实缺陷类别、样本标注和质量标准。
关键控制点:图像、真实标签和预测标签必须来自同一个样本索引。
# Step 5:分析误分类并形成AOI迁移清单 【检查】
- 观察误分类样例是否轮廓相似、像素模糊或类别边界接近。
- 说明Fashion-MNIST与金属结构件缺陷图像在对象、采集条件和标签上的差异。
- 列出AOI迁移所需缺陷类别、样本标注、相机参数和质量标准。
# 分层任务与动态支架
基础:训练并展示预测;进阶:找出3个误分类样例;挑战:尝试kuzi.jpg预处理,仅作观察不计入基础成绩。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:课程数据得分高不能证明模型可直接用于企业AOI检测。
# Step 6:完成复现检查与成果提交 【检查】
- 重启内核并从头运行,确认样本切片、缩放、训练和展示顺序正确。
- 数据质检员检查784维特征、像素范围和图像索引。
- 提交Notebook、预测展示图、误分类分析卡和AOI迁移清单。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| 训练时间过长 | 样本过多或网络过大 | 检查样本切片和hidden_layer_sizes | 使用教师指定小样本与单隐藏层 |
| 图像显示异常 | 未reshape为28×28 | 检查单样本长度是否784 | 使用reshape(28, 28) |
| 准确率高就宣称可用于AOI | 忽视数据域差异 | 检查迁移说明 | 明确需工业数据重新训练与验证 |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:成果必须同时呈现成功样例和失败样例。
# ■ 成果提交区
命名规则:T15_班级_组号_成果名称;个人反思使用T15_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:图像分类Notebook、预测展示图、误分类分析卡、AOI迁移清单
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K4 效率 | 严重超时或资源使用失控 | 基本按时完成 | 按计划完成并合理控制资源 | 能在保证质量前提下优化流程 |
| K6 社会责任与协作 | 忽视分工、隐私或伦理 | 基本遵守要求 | 角色履职,能说明数据伦理边界 | 能主动发现并制止不合规做法 |
| K8 创造性与优化 | 照搬结果且无法解释 | 能做少量调整 | 能提出有依据的改进 | 改进可验证、可迁移且不过度复杂 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 模块八 无监督学习与综合交付
# 【任务8-1】细分客户群体:KMeans聚类与结果解释 【C→T】
# ■ 任务呈现区
企业情境:中国移动通信集团江苏有限公司泰州分公司服务个人、企业和政府客户,客户运营与服务优化需要从大量记录中识别需求和行为存在差异的群体,以便合理配置服务资源。没有现成标签时,数据分析人员可以使用聚类寻找结构,但聚类编号本身没有高低含义,更不能据此给客户贴上歧视性标签。你们将使用公开Mall_Customers.csv模拟客户细分工作,选择年收入与消费评分字段,经过缩放后绘制肘部图、建立KMeans模型,并根据各簇均值使用中性语言描述群体。最终服务建议必须有数据证据,同时说明这种分析迁移到通信客户运营时还需要获得合法、必要且经过治理的数据。
工作委托:选择Annual Income和Spending Score,缩放后用肘部法辅助选择k,完成KMeans聚类、群体命名和服务建议;DBSCAN作为选做拓展。
核心交付物:聚类Notebook、肘部图、聚类散点图、客户群体说明与服务建议。
# ■ 任务定位栏
| 项目 | 内容 |
|---|---|
| 建议课时 | 4课时(180分钟) |
| 对应课件 | 第09课 |
| 对应代码 | 机器学习资料/代码及数据/第九章/第9章1.ipynb;第9章2.ipynb(DBSCAN拓展) |
| 对应数据 | 机器学习资料/代码及数据/第九章/Mall_Customers.csv |
| 企业与岗位 | 中国移动通信集团江苏有限公司泰州分公司;客户运营数据分析助理 |
| 内容维度/难度 | 综合应用与成果展示类;L3 |
| 行动维度 | 资讯→计划→决策→展示→执行→检查→评价 |
| 需求维度 | 基础成果为必达,进阶与挑战为选做 |
| 前置/后续 | 任务7-2 / 课程综合考核 |
# 能力目标与GPCT能力穿透
完成本任务后,你能够:
- 知识目标:用自己的话解释无监督学习;KMeans中心与簇;n_clusters;inertia;肘部法;聚类标签无天然含义;DBSCAN的eps和min_samples(选学)。
- 技能目标:按工作委托完成可运行、可复核的成果,并说明关键参数或判断依据。
- 方法目标:按照“理解需求—制定计划—实施—检查—改进”的路径解决问题。
- 职业素养目标:履行小组角色,记录真实过程,不伪造运行结果。
- 社会责任目标:遵守数据隐私、算法边界和公开数据使用要求,不夸大模型用途。
能力穿透链:
G层:沟通协作、数字素养、责任意识
→ P层:数据获取、治理、分析与人工智能应用能力
→ C层:机器学习数据处理、模型训练、评价与解释能力
→ T层:能完成无监督客户细分,并以数据证据解释群体而不制造歧视性标签
达成证据:核心交付物、Notebook运行记录、参数/决策表、个人贡献记录和反思。
# ■ 分组与角色分配
每组原则上6人,角色每1—2个任务轮换。人数不足时可兼任,人数较多时增设第二程序员或第二数据质检员。
| 角色 | 本任务职责 | 个人贡献证据 |
|---|---|---|
| 组长 | 统筹四课时进度,主持决策与提交,保留任务看板 | 姓名:;证据: |
| 任务分析员 | 提取委托中的业务目标与验收标准,重点核对:选择Annual Income和Spending Score,缩放后用肘部法辅助选择k,完成KMeans聚类、群体命名和服务建议;DBSCAN作为选做拓展。 | 姓名:;证据: |
| 程序员 | 补全并运行代码,按单元保存输出;无代码任务负责电子表单整理 | 姓名:;证据: |
| 数据质检员 | 检查数据、变量、运行结果和结论是否一致,记录异常 | 姓名:;证据: |
| 记录员 | 记录七步行动、参数选择、问题及修正证据 | 姓名:;证据: |
| 汇报员 | 组织2—3分钟汇报,说明成果、证据、局限和改进 | 姓名:;证据: |
# ■ 知识准备区
够用知识:无监督学习;KMeans中心与簇;n_clusters;inertia;肘部法;聚类标签无天然含义;DBSCAN的eps和min_samples(选学)。
本任务工具:read_csv、StandardScaler、KMeans、inertia_、labels_、scatter;DBSCAN(拓展)。
关键判断:肘部法只提供参考,结合图形可解释性选择k;群体名称使用中性描述,不贴价值标签。
AI助学规则:
- 可以让AI解释报错、比较参数含义或帮助检查文字表达。
- 不得上传含个人隐私、客户信息或未公开业务数据的文件。
- 不得直接提交AI生成代码;必须逐单元运行,并写明“采用了什么、如何验证”。
# ■ 计划区
| 课时 | 主要阶段 | 学生活动 | 教师活动 | 阶段成果 |
|---|---|---|---|---|
| 第1课时 | 资讯、计划 | 读委托、识别数据与目标、完成分工 | 说明边界,发放支架,抽查任务理解 | 任务分析表、行动计划 |
| 第2课时 | 决策、展示、执行起步 | 确定方案、展示关键决策、完成数据准备 | 组织快速评审,纠正方向性错误 | 决策记录、可运行前半部分 |
| 第3课时 | 执行、检查 | 完成核心操作,记录结果并交叉复核 | 分层指导,检查变量、数据与结果 | 核心程序/表格/图表 |
| 第4课时 | 检查、评价 | 从头运行、修正、汇报、评价反思 | 验收成果,依据Rubric反馈 | 正式交付物、评价记录 |
# 完整行动七步安排
| 阶段 | 学生行动 | 教师指导 | 资源 | 过程记录 | 用时 | 检查点 |
|---|---|---|---|---|---|---|
| 1.资讯 | 确认字段含义、公开数据来源与标签伦理 | 发布委托,解释数据使用边界,检查学生是否读懂输出要求 | 工单、PPT、Notebook/数据 | 资讯记录或阶段成果 | 15分钟 | □通过 □修改 |
| 2.计划 | 规划字段选择、缩放、选k、聚类和解释 | 用流程卡支持基础组,提醒控制4课时工作量 | 工单、PPT、Notebook/数据 | 计划记录或阶段成果 | 20分钟 | □通过 □修改 |
| 3.决策 | 根据肘部图与可解释性共同决定k | 追问选择依据,不代替学生作决定 | 工单、PPT、Notebook/数据 | 决策记录或阶段成果 | 15分钟 | □通过 □修改 |
| 4.展示 | 展示预案并接受同伴对标签措辞的审查 | 组织快速评审,只反馈影响后续执行的关键问题 | 工单、PPT、Notebook/数据 | 展示记录或阶段成果 | 15分钟 | □通过 □修改 |
| 5.执行 | 完成聚类、可视化和群体统计 | 巡视代码与记录,优先用提示卡而非直接给答案 | 工单、PPT、Notebook/数据 | 执行记录或阶段成果 | 80分钟 | □通过 □修改 |
| 6.检查 | 检查聚类规模、中心和建议是否有证据 | 抽查从头运行、数据质量和结论证据 | 工单、PPT、Notebook/数据 | 检查记录或阶段成果 | 25分钟 | □通过 □修改 |
| 7.评价 | 完成综合汇报与课程能力反思 | 依据Rubric反馈,指导形成下一任务改进点 | 工单、PPT、Notebook/数据 | 评价记录或阶段成果 | 10分钟 | □通过 □修改 |
# 小组行动计划
| 子任务 | 负责人 | 预计完成时间 | 验收证据 | 实际完成 |
|---|---|---|---|---|
| 需求与数据确认 | 任务分析员 | ____ | 字段/目标说明 | □ |
| 程序或表单实施 | 程序员 | ____ | 运行输出/填写结果 | □ |
| 数据与结果复核 | 数据质检员 | ____ | 复核记录 | □ |
| 文档与汇报 | 记录员、汇报员 | ____ | 正式交付物 | □ |
# ■ 决策区
本任务必须记录的决策:肘部法只提供参考,结合图形可解释性选择k;群体名称使用中性描述,不贴价值标签。
| 候选方案 | 优点 | 风险/成本 | 证据 | 小组选择 |
|---|---|---|---|---|
| 方案A | □ | |||
| 方案B | □ |
# ■ 展示区
展示控制在2—3分钟,必须说明:
- 企业委托和本组交付物;
- 采用的处理/建模路线;
- 一个关键决策及证据;
- 当前风险或需要同伴帮助的问题。
| 反馈组 | 一条优点 | 一个问题 | 本组是否采纳及理由 |
|---|---|---|---|
# ■ 执行区
完整行动映射:计划区已经完成资讯、计划、决策和展示;本执行区重点完成实施、过程检查和结果复核。每完成一步,由数据质检员在工单上签字后再进入下一步。
# Step 1:读取客户数据并选择聚类字段 【执行】
- 读取
Mall_Customers.csv,核对CustomerID、Genre、Age、Annual Income和Spending Score字段。 - 选择年收入和消费评分作为本次二维聚类特征。
- 说明为什么CustomerID不能用于计算客户相似性。
关键控制点:字段选择必须有业务含义,不能把编号作为连续特征。
# Step 2:缩放特征并设计k值范围 【执行】
- 使用
StandardScaler缩放两个特征。 - 检查缩放后的均值和尺度,确认两个字段能够共同参与距离计算。
- 确定
k=2—8的观察范围,建立k与inertia记录表。
关键控制点:KMeans依赖距离,量纲不同的字段必须先缩放。
# Step 3:绘制肘部图辅助选择k 【执行】
- 循环创建KMeans,固定
random_state=42和n_init=10。 - 记录每个k对应的
inertia_并绘制折线图。 - 观察下降速度明显变缓的位置,提出候选k。
# 代码或操作骨架
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
data = pd.read_csv("Mall_Customers.csv")
X = data[["Annual Income (k$)", "Spending Score (1-100)"]]
X_scaled = StandardScaler().fit_transform(X)
inertias = []
for k in range(2, 9):
# 挖空1提示:创建KMeans并固定random_state;n_init显式设置为10
km = KMeans(n_clusters=__, random_state=42, n_init=10)
km.fit(X_scaled)
inertias.append(km._________)
plt.plot(range(2, 9), inertias, marker="o")
plt.xlabel("k")
plt.ylabel("inertia")
plt.show()
# 挖空2提示:根据肘部图填写最终簇数
final_model = KMeans(n_clusters=__, random_state=42, n_init=10)
labels = final_model.fit_predict(X_scaled)
data["cluster"] = labels
print(data.groupby("cluster")[["Annual Income (k$)", "Spending Score (1-100)"]].mean())
关键控制点:肘部法是辅助证据,不是自动给出唯一正确答案。
# Step 4:训练最终模型并分析聚类中心 【执行】
- 结合肘部图和可解释性填写最终簇数。
- 使用
fit_predict得到聚类标签,并加入原始数据。 - 计算各簇年收入、消费评分均值和样本数量,绘制聚类散点图。
# 运行与观察记录
| 检查项 | 观察结果 | 是否符合预期 | 证据位置 |
|---|---|---|---|
| 数据/输入是否正确 | □是 □否 | ||
| 程序是否从头运行 | □是 □否 | ||
| 指标、图表或结论 | □是 □否 | ||
| 结果是否存在局限 | □是 □否 |
预期结果:完成肘部图、聚类与群体均值表;群体命名中性且与均值证据一致;建议强调服务匹配而非歧视性差别待遇。
关键控制点:聚类编号只是程序编号,不代表价值高低或等级顺序。
# Step 5:命名群体并提出服务建议 【执行】
- 根据均值使用“高收入—低消费”等中性描述命名群体。
- 为每个群体提出1条有数据依据的服务建议。
- 进阶组可比较k=4和k=5;挑战组可使用DBSCAN观察噪声点。
# 分层任务与动态支架
基础:完成KMeans与群体解释;进阶:比较k=4和5;挑战:使用第9章2.ipynb尝试DBSCAN并说明噪声点含义。
- 提示卡A(基础组):先读报错最后一行,再检查文件、列名、变量、数据形状。
- 提示卡B(进阶组):每次只改变一个条件,并把变化写入参数表。
- 教师答案卡:仅在学生完成“自查—同伴查—提示卡查”后开放关键代码。
关键控制点:不得使用“低价值客户”等歧视性或缺乏依据的标签。
# Step 6:完成综合检查、汇报与归档 【检查】
- 核对字段、缩放、k值、随机种子、群体均值和图表标签。
- 汇报员说明选k依据、一个主要群体、一个伦理风险和迁移条件。
- 提交聚类Notebook、肘部图、散点图、群体说明和服务建议。
# 常见错误与故障排查
| 错误现象 | 可能原因 | 检查方法 | 修正建议 |
|---|---|---|---|
| 字段名KeyError | 源文件字段含空格或拼写Genre | 打印data.columns | 严格按实际列名选择 |
| 每次聚类编号变化 | 未固定random_state | 检查KMeans参数 | 设置random_state=42和n_init=10 |
| 把cluster 0解释为最低价值 | 误认为编号有顺序和价值 | 检查均值表 | 使用“高收入-低消费”等中性描述 |
# 执行区完成检查
- [ ] Step 1—Step 6均有过程记录
- [ ] 关键代码或操作已经运行验证
- [ ] 数据、图表、指标和文字结论相互一致
- [ ] 发现的问题已经记录原因和修正方法
- [ ] 数据质检员完成复核并签名:________
关键控制点:最终建议必须能够追溯到聚类统计证据,并说明公开数据的迁移限制。
# ■ 成果提交区
命名规则:T16_班级_组号_成果名称;个人反思使用T16_学号_姓名_反思.md。
提交前勾选:
- [ ] 核心交付物齐全:聚类Notebook、肘部图、聚类散点图、客户群体说明与服务建议
- [ ] Notebook已“重启内核并从头运行”或表单已交叉复核
- [ ] 文件未使用无法迁移的个人绝对路径
- [ ] 图表有标题、坐标或必要说明
- [ ] 结论与运行证据一致,没有夸大用途
- [ ] 每名成员有可识别的贡献证据
# ■ 评价反思区
# 1. COMET K维度评价
| 维度 | 1分(初步) | 2分(基本) | 3分(熟练) | 4分(精通) |
|---|---|---|---|---|
| K1 清晰性 | 成果结构混乱,难以理解 | 基本可读但说明不完整 | 结构清晰、图表与结论对应 | 表达精炼,可作为同类任务模板 |
| K2 功能性与准确性 | 代码或结论存在关键错误 | 能够运行但有少量错误 | 结果准确并完成规定功能 | 能复核边界条件并解释可靠性 |
| K3 使用价值 | 成果难以复用 | 在指导下可复用 | 命名规范、可再次运行 | 可迁移到相似业务并给出使用说明 |
| K5 工作过程导向 | 缺少关键过程记录 | 完成主要步骤但衔接不清 | 七步记录完整、可追溯 | 能主动监控并改进工作过程 |
| K6 社会责任与协作 | 忽视分工、隐私或伦理 | 基本遵守要求 | 角色履职,能说明数据伦理边界 | 能主动发现并制止不合规做法 |
| K8 创造性与优化 | 照搬结果且无法解释 | 能做少量调整 | 能提出有依据的改进 | 改进可验证、可迁移且不过度复杂 |
评分来源:小组自评20%+组间互评20%+教师评价40%+个人贡献20%。
# 2. 个人贡献记录
| 姓名 | 承担角色 | 完成事项 | 证据位置/单元编号 | 组内确认 |
|---|---|---|---|---|
| □ |
# 3. 个人反思
- 我实际完成了什么?证据在哪里?
- 我遇到的首个问题是什么?我是如何定位并修正的?
- 哪一项结果最可信?依据是什么?
- 哪一项结果仍需谨慎解释?
- 如果重做,我会改变哪个步骤或参数?为什么?
- 本任务方法可迁移到哪个新场景?
# 课程综合考核方案
课程考核采用过程性评价60%+期末综合评价40%。
| 类别 | 权重 | 评价证据 |
|---|---|---|
| 课堂工单与作业 | 10% | 16个任务工单的完成度、改进记录 |
| 课堂表现与协作 | 20% | 七步行动记录、角色履职、展示与互评 |
| 实验与项目成果 | 30% | Notebook、数据、图表、模型、分析报告 |
| 期末综合评价 | 40% | 在限定时间内完成数据理解、模型建立、评价解释与答辩 |
过程性评分须结合个人贡献系数,避免小组同分。出现伪造运行结果、上传隐私数据或使用不明模型文件等行为,按课程规范进行扣分并重新完成合规教育。
# 教学附录
# 附录A GPCT课程能力图谱
| 层级 | 本课程表述 | 证据 |
|---|---|---|
| G 通用素养 | 沟通协作、数字素养、责任意识、持续学习 | 汇报、互评、反思、合规记录 |
| P 专业群能力 | 数据获取治理、分析建模、应用实施 | 数据质量表、模型流程、业务建议 |
| C 课程能力 | 数据预处理、算法应用、评价解释、优化交付 | 16个任务成果 |
| T 任务能力 | 每个任务中的可观察操作与职业化成果 | Notebook、图表、模型、报告、答辩 |
# 附录B 小组角色职责表
| 角色 | 通用职责 | 不得替代的个人证据 |
|---|---|---|
| 组长 | 统筹、协调、验收 | 任务看板与决策记录 |
| 任务分析员 | 解析委托、字段和验收标准 | 任务分析表 |
| 程序员 | 代码补全、运行、版本保存 | 代码单元与提交记录 |
| 数据质检员 | 数据、变量、结果和结论复核 | 质检清单与问题单 |
| 记录员 | 七步行动与异常记录 | 过程日志 |
| 汇报员 | 成果组织、答辩与反馈收集 | 汇报提纲与回应记录 |
# 附录C 个人贡献记录表
| 任务 | 姓名 | 角色 | 完成事项 | 证据位置 | 组内评分1—5 | 教师抽查 |
|---|---|---|---|---|---|---|
# 附录D 通用代码检查表
- [ ] 文件使用相对路径,未写死个人目录
- [ ] 导入、变量名和列名一致
- [ ] 目标列未误放入特征
- [ ] 数据先划分,再按规范拟合缩放器
- [ ] 模型先fit再predict/score
- [ ] 固定random_state以便复现
- [ ] 图表标题、坐标和图例必要且清楚
- [ ] Notebook重启内核后可从头运行
- [ ] 未加载来源不明的pickle模型
# 附录E 数据质量检查表
| 检查项 | 结果 | 处理规则 | 处理前后数量 | 复核人 |
|---|---|---|---|---|
| 行列数与字段 | ||||
| 缺失值 | ||||
| 重复值 | ||||
| 数据类型 | ||||
| 类别取值 | ||||
| 异常范围 | ||||
| 隐私与脱敏 |
# 附录F 模型评价记录表
| 模型 | 数据划分 | 关键参数 | 训练表现 | 测试表现 | 运行时间 | 主要局限 |
|---|---|---|---|---|---|---|
# 附录G 学生个人反思表
- 我本次承担的角色和实际成果:
- 我遇到的问题及定位证据:
- 我最可信的结论及依据:
- 我不应过度解释的结果:
- 下一任务我要改变的一项做法:
# 附录H 课程能力成长记录
| 阶段 | 我能独立完成 | 仍需提示 | 代表成果 | 下一步 |
|---|---|---|---|---|
| 任务1—4 | ||||
| 任务5—8 | ||||
| 任务9—12 | ||||
| 任务13—16 |
# 附录I 代码、数据和PPT对应索引
详见附录N“课程资料盘点与对应关系”。该索引用于教师备课和资料审查,不属于学生每次课堂必须阅读的正文。
# 附录J 企业情境来源索引
企业情境均来自“机器学习资料/企业分析报告”中的对应企业全维度教学分析。教材使用企业公开业务与岗位作为情境锚点,使用公开、内置、教学模拟或脱敏数据完成训练。
# 附录K 参考资料
- 泰州职业技术学院工单式教学指导书(第1版)。
- 《机器学习》课程标准与授课计划。
- 第00—09课课程PPT。
- 代码及数据第二章—第九章Notebook与数据。
- 2026.6.2公开课材料及学生版数据预处理Notebook。
- 企业分析报告目录中的相关企业报告。
# 教师备查附录
# 附录L 分任务教师实施建议
以下内容供教师备课使用,不作为学生工单的必填栏目。
# 任务1-1 读懂企业需求:判断机器学习任务类型
重点观察学生是否从业务输出判断任务类型。对基础薄弱学生提供三问卡,不展开数学定义;对较强学生追问数据偏差和不可用特征。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务1-2 搭建机器学习工作台:完成环境验收
不要把课堂耗在个别电脑安装上,准备可用环境或备用机。要求学生形成“先看内核、再看报错、后处理”的排障习惯。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务2-1 建立客户数据画像:读取与检查银行营销数据
本任务不追求复杂可视化。强调先确认数据读对,再解释图;禁止把公开银行数据说成企业真实客户数据。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务2-2 跑通首个模型:训练并保存手写数字分类器
重点不是SVM原理,而是机器学习工作流。要求每组口头解释训练集和测试集不能混用的原因。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务3-1 拟合设备趋势:建立一元线性回归模型
公式只解释w和b,不推导最小二乘。用图形帮助学生理解,重点检查二维输入和语言表述。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务3-2 筛选健康风险特征:比较岭回归与Lasso
不推导正则项。用“旋钮alpha”解释约束强弱,基础组只比较固定参数,避免变成繁重调参实验。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务4-1 生成可解释规则:建立心脏风险决策树
围绕“可解释但也会过拟合”组织讨论。避免学生把一条树规则当作医学知识。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务4-2 提升判断稳定性:比较决策树与随机森林
把随机森林解释为“多棵有差异的树共同投票”。不展开复杂概率证明,强调公平比较和资源意识。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务4-3 处理非线性关系:用支持向量回归预测环数
SVM数学内容只讲直观边界和核函数作用。严控参数数量,帮助学生把精力放在数据编码和流程正确性上。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务5-1 治理投诉工单:清洗并形成可分析数据
直接复用公开课的分步支架。评价重点是规则、证据和可追溯性,不以删除数据越多越好。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务5-2 识别风险类别:应用朴素贝叶斯分类
概率公式只讲“已有证据后更新判断”的直观含义。把安全边界列为必须交付项。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务6-1 按相似样本判断状态:K近邻分类
先让学生用纸面找最近的3个点,再运行代码。避免一开始讲复杂距离公式。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务6-2 预测录取机会:K近邻回归与数据缩放
把“尺子不同”作为尺度问题的类比。必须检查数据泄漏和算法公平,不引导学生过度解读个人预测。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务7-1 调试小型神经网络:完成鸢尾花分类
用节点连接图解释结构,弱化数学推导。让学生把警告当作检查信息,不要看到警告就删除输出。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务7-2 识别服饰图像:训练Fashion-MNIST分类器
提前测算设备运行时间并准备已训练结果作为备份。重点评价流程、误差分析和工业迁移意识。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 任务8-1 细分客户群体:KMeans聚类与结果解释
本任务作为课程收束,要求学生完整展示证据链。DBSCAN仅作拓展,基础组不因未完成而扣分。
课堂观察重点:角色是否真实履职、程序是否按顺序运行、学生能否解释自己的结果、数据与伦理边界是否清楚。对未完成基础成果的小组,不追加挑战任务。
# 附录M 16个任务总体设计与课时分配
# 《机器学习》16个任务总体设计表
# 一、课程重构逻辑
课程以“理解企业问题—准备环境—理解数据—建立模型—比较优化—解释交付”为主线。16个任务每个4课时,共64课时。基础任务保证多数学生在支架下完成,进阶与挑战任务不占用基础教学主线。
| 序号 | 任务名称 | 对应课次/PPT | 企业及业务情境 | 对应岗位 | 核心机器学习知识 | 使用代码与数据 | 核心成果 | 课时 | 难度 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 读懂企业需求:判断机器学习任务类型 | 第00课、第01课 | 泰州市数据产业集团有限公司:企业公开业务包含数据治理、数据分析、数据挖掘和报告编写。项目经理收到若干客户… | 数据分析师助理 | 机器学习的基本含义等 | 无;使用教师提供的企业需求卡;无 | 需求初判单、任务类型判断表、2分钟口头说明 | 4 | L1 |
| 2 | 搭建机器学习工作台:完成环境验收 | 第02课 | 泰州浪潮信息科技有限公司:人工智能应用项目交付前,要确认Python、Jupyter、pandas、m… | 人工智能应用实施助理 | Anaconda与Jupyter Notebook等 | 新建 T02_环境验收_学号.ipynb;sklearn.datasets.load_iris 内置数据 | 可运行Notebook、环境版本表、故障处理记录 | 4 | L1 |
| 3 | 建立客户数据画像:读取与检查银行营销数据 | 第02课 | 中国移动通信集团江苏有限公司泰州分公司:通信服务企业需要了解不同客户群体的基本特征,支持服务资源配置。课程使用公开银… | 客户服务数据分析助理 | CSV与分隔符等 | 机器学习资料/代码及数据/第二章/第2章-x.ipynb;机器学习资料/代码及数据/第二章/bank.csv | 学生版Notebook、客户数据概览卡、2幅基础图表 | 4 | L1 |
| 4 | 跑通首个模型:训练并保存手写数字分类器 | 第02课 | 泰州市姜高新人工智能科技有限公司:人工智能项目团队需要一个小型可复现样例,验证从数据加载、训练集划分、模型训练… | 机器学习应用开发助理 | 特征与标签等 | 机器学习资料/代码及数据/第二章/第2章-x.ipynb;sklearn.datasets.load_digits 内置数据 | 流程完整的Notebook、模型文件digits_svc.pkl、运行验收截图 | 4 | L1-L2 |
| 5 | 拟合设备趋势:建立一元线性回归模型 | 第03课 | 华芯半导体科技有限公司:半导体测试与设备维护岗位常需观察一个工艺参数随另一个参数变化的趋势。课程先用… | 测试数据分析助理 | ŷ=wx+b等 | 机器学习资料/代码及数据/第三章/第3章-x.ipynb;Notebook中的年龄—身高示例数据(教学模拟) | 回归Notebook、拟合图、100字模型说明 | 4 | L2 |
| 6 | 筛选健康风险特征:比较岭回归与Lasso | 第03课 | 泰州讯飞医疗人工智能研究院有限公司:医疗人工智能项目中,模型既要有预测能力,也要避免对小样本过度拟合。课程使用s… | 医疗数据算法助理 | 过拟合等 | 机器学习资料/代码及数据/第三章/第3章-x.ipynb;sklearn.datasets.load_diabetes 内置数据 | 模型比较Notebook、参数对比表、风险说明 | 4 | L2 |
| 7 | 生成可解释规则:建立心脏风险决策树 | 第04课 | 泰州讯飞医疗人工智能研究院有限公司:健康风险辅助分析需要给出可解释的判断路径。课程使用公开heart.csv训练… | 医疗数据算法助理 | 分类目标等 | 机器学习资料/代码及数据/第四章/第4章.ipynb;机器学习资料/代码及数据/第四章/heart.csv | 决策树Notebook、模型得分表、规则解释卡 | 4 | L2 |
| 8 | 提升判断稳定性:比较决策树与随机森林 | 第04课 | 江苏东华测试技术股份有限公司:设备状态监测中,单棵树可能因样本变化产生不同判断。企业岗位需要理解多模型投票… | 状态监测数据分析助理 | 集成学习等 | 机器学习资料/代码及数据/第四章/第4章.ipynb;机器学习资料/代码及数据/第四章/heart.csv(公开数据,用于方法验证) | 模型比较Notebook、参数试验表、岗位迁移说明 | 4 | L2 |
| 9 | 处理非线性关系:用支持向量回归预测环数 | 第05课 | 江苏东华测试技术股份有限公司:测试数据中,输入与输出未必是直线关系。课程使用公开鲍鱼数据训练支持向量回归,… | 测试算法应用助理 | 支持向量机直观思想等 | 机器学习资料/代码及数据/第五章/第5章.ipynb;第5章补充内容.ipynb(选学);机器学习资料/代码及数据/第五章/abalone_combined4.csv | SVR Notebook、预测对照表、迁移数据清单 | 4 | L2-L3 |
| 10 | 治理投诉工单:清洗并形成可分析数据 | 第06课 | 中国移动通信集团江苏有限公司泰州分公司:通信服务客户投诉处理要经历问题受理、分类、派单、处理和回访。若工单存在缺失、… | 客户服务工程师、数据分析助理 | 缺失值、重复值、文本清洗、字段异常等 | 2026.5.21 公开课材料/代码实现/企业客户投诉工单数据预处理_学生版.ipynb;2026.5.21 公开课材料/代码实现/complaint_text_cleaning_practice.csv | 学生版Notebook、清洗后投诉工单数据.csv、数据质量报告、整改建议 | 4 | L2 |
| 11 | 识别风险类别:应用朴素贝叶斯分类 | 第06课 | 泰州市数据产业集团有限公司:数据服务项目常需对大量类别字段进行快速分类。课程使用公开蘑菇数据练习Mult… | 数据分析师助理 | 条件概率直观含义等 | 机器学习资料/代码及数据/第六章/第6章.ipynb;机器学习资料/代码及数据/第六章/mushroom.csv;买房但会负债.csv(演示) | 分类Notebook、编码说明表、模型评价卡 | 4 | L2 |
| 12 | 按相似样本判断状态:K近邻分类 | 第07课 | 江苏东华测试技术股份有限公司:状态监测人员常参考历史上“最相似”的样本判断新记录。课程用二维模拟数据训练K… | 设备状态监测助理 | 距离与邻居等 | 机器学习资料/代码及数据/第七章/第7章1.ipynb;Notebook生成的二维分类数据(教学模拟) | KNN分类Notebook、k值比较表、状态判断说明 | 4 | L2 |
| 13 | 预测录取机会:K近邻回归与数据缩放 | 第07课 | 泰州市姜高新人工智能科技有限公司:教育数字化项目可用历史公开数据演示机会值预测,但模型不得作为唯一录取依据。不… | 教育数据应用开发助理 | K近邻回归等 | 机器学习资料/代码及数据/第七章/第7章2.ipynb;机器学习资料/代码及数据/第七章/Admission_Predict.csv 或 Admission_Predict_Ver1.1.csv | KNN回归Notebook、缩放对比表、模型使用边界说明 | 4 | L2-L3 |
| 14 | 调试小型神经网络:完成鸢尾花分类 | 第08课 | 泰州市姜高新人工智能科技有限公司:算法助理需要先用小数据验证网络结构和训练流程,再投入更大数据。课程用鸢尾花数… | 机器学习算法助理 | 输入层、隐藏层、输出层等 | 机器学习资料/代码及数据/第八章/第8章1.ipynb;sklearn.datasets.load_iris 内置数据 | MLP Notebook、参数实验表、模型选择说明 | 4 | L2-L3 |
| 15 | 识别服饰图像:训练Fashion-MNIST分类器 | 第08课 | 蓝思精密(泰州)有限公司:蓝思精密公开业务包含AOI自动外观检测与缺陷分类。课程使用Fashion-M… | AOI算法与检测助理 | 28×28像素与784维特征等 | 机器学习资料/代码及数据/第八章/第8章2.ipynb;机器学习资料/代码及数据/第八章/train.csv、test.csv、kuzi.jpg及Fashion-MNIST压缩文件 | 图像分类Notebook、预测展示图、误分类分析卡、AOI迁移清单 | 4 | L3 |
| 16 | 细分客户群体:KMeans聚类与结果解释 | 第09课 | 中国移动通信集团江苏有限公司泰州分公司:客户运营岗位需要从大量客户中识别不同群体,支持差异化服务。课程使用公开商场客… | 客户运营数据分析助理 | 无监督学习等 | 机器学习资料/代码及数据/第九章/第9章1.ipynb;第9章2.ipynb(DBSCAN拓展);机器学习资料/代码及数据/第九章/Mall_Customers.csv | 聚类Notebook、肘部图、聚类散点图、客户群体说明与服务建议 | 4 | L3 |
# 二、模块与课时
| 模块 | 任务 | 课时 | 能力重点 |
|---|---|---|---|
| 模块一 认识岗位与准备工具 | 1—2 | 8 | 需求判断、环境验收 |
| 模块二 获取并理解业务数据 | 3—4 | 8 | 数据读取、基础可视化、模型闭环 |
| 模块三 建立可解释的基础模型 | 5—6 | 8 | 回归、正则化、模型比较 |
| 模块四 分类模型与质量判断 | 7—9 | 12 | 决策树、随机森林、SVM |
| 模块五 业务数据治理与概率分类 | 10—11 | 8 | 数据清洗、朴素贝叶斯 |
| 模块六 距离模型与参数优化 | 12—13 | 8 | KNN分类/回归、缩放 |
| 模块七 神经网络与视觉识别 | 14—15 | 8 | MLP、图像分类、误差分析 |
| 模块八 无监督学习与综合交付 | 16 | 4 | 聚类、解释、综合汇报 |
| 合计 | 16个任务 | 64 |
# 三、难度与支架递进
- 任务1—4:L1—L2,提供完整流程卡、明确挖空和教师检查点。
- 任务5—11:L2为主,保留代码骨架,要求学生作一项参数或规则决策。
- 任务12—16:L2—L3,减少直接答案,要求比较、解释、伦理判断和迁移说明。
- 所有任务只把“基础任务”计入必达成果;进阶、挑战用于差异化学习。
# 附录N 课程资料盘点与对应关系
# 《机器学习》课程资料盘点与对应关系
# 一、盘点结论
本课程现有资料能够支撑64课时、16个工单任务。第00—09课覆盖课程导入、环境与工作流、线性模型、决策树与随机森林、支持向量机、朴素贝叶斯、K近邻、神经网络和聚类。代码与数据主要位于“第二章—第九章”,第06课另有较成熟的客户投诉工单公开课材料。
资料使用遵循三项原则:
- 优先复用现有PPT、Notebook与数据,不虚构文件。
- 企业报告用于建立岗位和业务锚点;公开或教学数据不冒充企业真实数据。
- 课程标准用于确定定位、能力和考核;PPT与可运行代码用于确定课堂内容和工作量。
# 二、PPT内容盘点
| 课次 | 核心内容 | 可转化任务 |
|---|---|---|
| 第00课 | 课程定位、学习内容、工具、职业方向、28理论+36实践 | 课程与岗位认知 |
| 第01课 | 机器学习定义、发展、应用、监督/无监督、分类/回归 | 企业需求与任务类型判断 |
| 第02课 | Anaconda、Jupyter、pandas、可视化、sklearn流程、模型保存 | 环境验收、客户数据画像、首个模型闭环 |
| 第03课 | 线性回归、岭回归、Lasso、逻辑回归、LinearSVC | 一元回归、正则化比较 |
| 第04课 | 决策树、max_depth、过拟合、随机森林、投票 | 可解释分类、集成模型比较 |
| 第05课 | SVM、核函数、C、gamma、分类与SVR | 非线性支持向量回归 |
| 第06课 | BernoulliNB、GaussianNB、MultinomialNB、类别编码 | 投诉工单治理、朴素贝叶斯分类 |
| 第07课 | KNN分类/回归、邻居数、距离权重、缩放 | KNN分类、KNN回归与缩放 |
| 第08课 | 神经网络结构、ReLU/tanh、MLP、Fashion-MNIST | 小型MLP调试、图像分类 |
| 第09课 | KMeans、肘部法、DBSCAN、客户聚类 | 客户细分与聚类解释 |
# 三、代码与数据盘点
| 章节目录 | Notebook | 数据 | 对应任务 | 说明 |
|---|---|---|---|---|
| 第二章 | 第2章-x.ipynb | bank.csv;digits内置数据 | 3、4 | bank.csv使用分号分隔;原代码中的绝对路径应改为相对路径 |
| 第三章 | 第3章-x.ipynb | 教学模拟数据;diabetes内置数据 | 5、6 | 包含LinearRegression、Ridge、Lasso等 |
| 第四章 | 第4章.ipynb | heart.csv | 7、8 | 决策树和随机森林共用数据,便于公平比较 |
| 第五章 | 第5章.ipynb;第5章补充内容.ipynb | abalone_combined4.csv | 9 | Sex字段需编码;SVR适合做非线性回归练习 |
| 第六章 | 第6章.ipynb | mushroom.csv;买房但会负债.csv | 11 | 类别特征需编码;公开数据不得用于现实安全决策 |
| 第七章 | 第7章1.ipynb;第7章2.ipynb | Admission_Predict.csv;Admission_Predict_Ver1.1.csv | 12、13 | 回归任务需注意字段空格、序号列和缩放 |
| 第八章 | 第8章1.ipynb;第8章2.ipynb | train.csv、test.csv、kuzi.jpg、Fashion-MNIST压缩文件 | 14、15 | 为4课时课堂限制样本量和网络规模 |
| 第九章 | 第9章1.ipynb;第9章2.ipynb | Mall_Customers.csv | 16 | KMeans为基础,DBSCAN为选做拓展 |
| 2026.6.2公开课材料 | 机器学习公开课上课任务指导书.docx等 | complaint_text_sample.csv等 | 10 | 用于企业情境、课堂流程、评价和业务分析设计 |
| 2026.5.21公开课材料 | 代码实现/企业客户投诉工单数据预处理_学生版.ipynb | complaint_text_cleaning_practice.csv等 | 10及全部代码任务 | 任务10直接使用;全书统一借鉴“挖空编号+上方提示+单元小步执行” |
# 四、课程文件盘点与整合
| 文件 | 采用内容 | 调整说明 |
|---|---|---|
| 机器学习课程标准.docx | 专业核心课;64课时;4学分;数据获取—预处理—训练—评价—优化—应用;过程60%+期末40% | 作为课程定位和考核主要依据 |
| 机器学习-授课计划.docx | 教学进度和章节重点 | 学分信息与课程标准不一致时,采用课程标准4学分 |
| 工单式教学指导书(第1版)(1).md | GPCT、七步法、角色轮换、动态支架、COMET K1-K8、PDCA | 转化为学生可填写的任务结构,不复制指导书说明性内容 |
| 机器学习公开课上课任务指导书.docx | 客户投诉情境、数据治理步骤、课堂组织、评价与支架 | 主要用于任务10,并统一到全书结构 |
# 五、企业情境来源
| 企业 | 报告中的岗位/业务依据 | 本教材使用任务 |
|---|---|---|
| 泰州市数据产业集团有限公司 | 数据治理、数据分析、数据挖掘、报告编写 | 1、11 |
| 泰州浪潮信息科技有限公司 | 云计算、大数据与人工智能项目实施 | 2 |
| 中国移动泰州分公司 | 客户服务、问题与投诉处理、数据分析、服务优化 | 3、10、16 |
| 泰州市姜高新人工智能科技有限公司 | 人工智能应用、模型训练与优化、智慧教育等 | 4、13、14 |
| 华芯半导体科技有限公司 | 测试、质量和数据分析相关场景 | 5 |
| 泰州讯飞医疗人工智能研究院有限公司 | 医疗人工智能项目和医疗数据分析 | 6、7 |
| 江苏东华测试技术股份有限公司 | 测试、状态监测、故障分析 | 8、9、12 |
| 蓝思精密(泰州)有限公司 | AOI视觉检测、缺陷分类、检测数据分析 | 15 |
企业报告用于情境锚定。课程中的heart、abalone、mushroom、Admission、Fashion-MNIST、Mall_Customers等均为公开或教学数据,不代表上述企业实际数据。
# 六、指导书关键规范落实表
| 规范 | 教材落实方式 |
|---|---|
| GPCT四层穿透 | 每任务给出G→P→C→T链和成果证据 |
| 完整行动七步法 | 每任务均设置资讯、计划、决策、展示、执行、检查、评价 |
| 学生行动中心 | 正文以工作委托、填写表、代码骨架和成果验收为主 |
| 分组与角色轮换 | 固定六类角色,要求每1—2任务轮换并保留个人证据 |
| 动态渐隐支架 | 1—5任务提示充分;6—11减少直接答案;12—16强调自主决策 |
| 元认知支架 | 每任务设置故障记录、可信度判断和迁移反思 |
| COMET评价 | 每任务选择3—6个K维度并提供四级可观察描述 |
| PDCA改进 | 任务评价形成下一任务的个人改进点;课程末形成成长记录 |
# 七、资料缺口与处理
- 企业报告不能证明课程公开数据为企业真实数据,因此教材统一写明“企业情境锚点+公开/模拟/脱敏教学数据”。
- 部分原Notebook使用绝对路径或较旧写法,学生任务统一改用相对路径、固定random_state和显式参数。
- 第00—09课未系统展开复杂指标与工程部署,教材不额外引入大规模调参、深度学习框架或云部署,避免超出学生基础和4课时边界。
# 附录O 教材一致性检查记录
# 《机器学习》教材一致性检查报告
# 一、检查结论
本次修订后的教材满足16个任务、每任务4课时、总计64课时的基本要求,覆盖第00课至第09课核心内容。每个任务均按指导书规定设置任务呈现区、任务定位栏、分组与角色分配、知识准备区、计划区、决策区、展示区、执行区、成果提交区和评价反思区十个栏目。
# 二、量化检查
| 检查项 | 结果 | 状态 |
|---|---|---|
| 任务总数 | 16 | 通过 |
| 总课时 | 64 | 通过 |
| 第00—09课覆盖 | [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | 通过 |
| 含企业/行业情境的任务 | 16/16 | 通过 |
| 含GPCT能力穿透的任务 | 16/16 | 通过 |
| 含七步行动过程的任务 | 16/16 | 通过 |
| 符合十部分工单结构的任务 | 16/16 | 通过 |
| 企业情境不少于150字的任务 | 16/16 | 通过 |
| 含六类角色与个人证据的任务 | 16/16 | 通过 |
| 评价维度不少于3项的任务 | 16/16 | 通过 |
# 三、内容对应检查
| 项目 | 检查结果 |
|---|---|
| PPT与任务 | 第00—01课对应任务1;第02课对应2—4;第03课对应5—6;第04课对应7—8;第05课对应9;第06课对应10—11;第07课对应12—13;第08课对应14—15;第09课对应16 |
| 代码与数据 | 第二章至第九章现有Notebook和数据均有明确去向;任务10使用公开课现有学生版Notebook与CSV |
| 课程标准 | 采用64课时、4学分、过程60%+期末40%;授课计划仅作教学进度参考 |
| 企业情境 | 16个情境均明确真实企业名称、岗位流程、业务问题和学生委托;企业与岗位可追溯至企业分析报告 |
| 数学难度 | 仅保留够用概念和参数直观解释,不包含大段公式推导 |
| 课堂工作量 | 每任务基础成果控制在4课时;进阶和挑战不影响基础主线 |
| 代码支架 | 有代码任务均使用小步骨架、编号挖空、前置提示和预期结果 |
| 正文与附录 | 学生正文只保留教学任务;资料盘点、总体设计、检查记录和教师建议均收入附录 |
# 四、风险检查与已采取修正
- 绝对路径风险:原Notebook可能含个人路径。教材统一要求相对路径,并列入提交检查。
- 数据冒充企业数据风险:企业名称、业务和岗位均来自企业分析报告;公开、教学或脱敏数据的用途直接写入具体情境与任务要求。
- 医疗、录取、安全等高风险误用:任务6、7、11、13明确禁止将教学模型用于现实诊断、录取或食用判断。
- 学生基础薄弱风险:基础任务只比较少量参数,不进行网格搜索;DBSCAN、SVM补充图和kuzi.jpg均列为选做。
- 小组“搭便车”风险:每任务要求个人证据、组内确认和个人反思,并计入20%个人贡献。
- Notebook不可复现风险:统一要求固定random_state、相对路径、重启内核并从头运行。
# 五、尚需教师开课前复核
- 在实际机房抽测任务9、14、15的运行时间,并按设备性能调整样本量或max_iter。
- 检查各CSV在课程发放目录中的相对路径,必要时统一复制到每个任务资料包。
- 根据实际班级人数确定角色兼任方案。
- 若课程标准或学校考核办法更新,应同步调整课程综合考核权重。
# 六、可运行性抽检
2026年6月8日使用当前项目数据与本机scikit-learn环境,对任务2—16的关键步骤进行了抽检,包括数据读取、字段选择、类别编码、训练测试划分、线性/树/森林/SVM/贝叶斯/KNN/MLP/KMeans模型调用。抽检结果通过。
抽检中的小型MLP为节省验证时间只设置20次迭代,出现预期的ConvergenceWarning;教材正式任务14使用更高max_iter,并在故障排查表中给出处理方法。运行环境出现的物理核心数提示不影响模型结果。
# 七、最终文件
- 《机器学习》课程资料盘点与对应关系.md
- 《机器学习》16个任务总体设计表.md
- 《机器学习》工单式教学教材.md
- 《机器学习》教材一致性检查报告.md