新闻详情

新闻详情

首页 / 资讯中心 / 详情

ML-For-Beginners 回归实战指南:用 Scikit-learn 对 Linnerud 数据集做单变量回归并绘图

发布时间:2026/9/6 19:10:17来源:尧图网络
ML-For-Beginners 回归实战指南:用 Scikit-learn 对 Linnerud 数据集做单变量回归并绘图
ML-For-Beginners 回归实战指南用 Scikit-learn 对 Linnerud 数据集做单变量回归并绘图【免费下载链接】ML-For-Beginners12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all项目地址: https://gitcode.com/GitHub_Trending/ml/ML-For-Beginners本篇技术指南围绕 ML-For-Beginners 课程「回归Regression」模块第 1 课的工具类作业 assignment.md 展开以 Scikit-learn 内置的 Linnerud 数据集为对象完整演示如何创建回归模型并绘制腰围 vs 仰卧起坐次数等特征与生理指标之间的关系图。读完后你可以独立复现课程作业的全部技术步骤掌握数据集加载、训练/测试集划分、线性回归拟合、预测与可视化的标准工作流并能将该流程推广到数据集中的所有特征-目标组合。作业原文与考核标准在动手之前先完整理解作业要求。该作业位于 2-Regression/1-Tools/assignment.md标题为 Regression with Scikit-learn原文要求如下查看 Scikit-learn 中的 Linnerud 数据集。该数据集包含多个 target目标变量It consists of three exercise (data) and three physiological (target) variables collected from twenty middle-aged men in a fitness club它由 20 名健身俱乐部中年男性的 3 个运动类数据变量和 3 个生理类目标变量组成。用你自己的语言描述如何创建一个回归模型绘制腰围waistline与完成的仰卧起坐数量situps之间的关系。对该数据集中的其他数据点做同样的事情。作业的评分标准Rubric原文为CriteriaExemplary优秀Adequate合格Needs Improvement待改进Submit a descriptive paragraph提交一段描述Well-written paragraph is submitted提交了撰写良好的段落A few sentences are submitted只提交了几句话No description is supplied未提供描述由此可见作业考核的核心产出是一段你自己撰写的描述性文字说明如何为每一组运动量-生理指标关系建立回归模型并绘图。下面从数据、代码两个层面把这段话写出来、跑出来。课程背景本作业在回归模块中的位置该作业是 2-Regression/1-Tools/README.md 所授工具与上手一课的课后练习。这一课的目标是配置本地机器学习开发环境Python、虚拟环境、Visual Studio Code使用 Jupyter Notebook.ipynb文件进行交互式建模安装并上手 Scikit-learn通过动手练习完成第一个线性回归实验课程以内置 diabetes 数据集为例完成了 BMI 与疾病进展指标的回归绘图。课程提供的练习骨架是 2-Regression/1-Tools/notebook.ipynb空白笔记本参考答案见 solution/notebook.ipynb。本作业则把同样的工作流迁移到另一个更小的内置数据集 Linnerud 上——样本更少、目标变量有多个因此对多目标回归的表述要求更高。上图是课程主实验diabetes 数据集BMI 对疾病进展的运行结果截图出自 README 中 your first Scikit-learn notebook 练习黑色散点为测试集数据蓝色粗线为LinearRegression模型对测试集输入的预测值连线。Linnerud 作业的绘图逻辑与此完全一致只是数据换成 20 名受试者的运动与生理指标。Linnerud 数据集结构与 Scikit-learn 加载方式Scikit-learn 提供sklearn.datasets.load_linnerud()加载该数据集。根据作业引用与 Scikit-learn 官方文档的说明其结构为样本量20 个样本20 名健身俱乐部的中年男性特征data3 列3 个运动类变量——仰卧起坐次数situps、纵跳/跳跃jumps、折返跑quests目标target3 列3 个生理类变量——腰围waist英寸、脉搏pulses次/分钟、胆固醇cholesterolmg/dl。加载代码import matplotlib.pyplot as plt from sklearn import datasets, linear_model, model_selection linnerud datasets.load_linnerud() X linnerud.data # 形状 (20, 3)situps, quests, jumps y linnerud.target # 形状 (20, 3)waist, pulses, cholesterol print(X.shape) # (20, 3) print(y.shape) # (20, 3)与课程主实验中load_diabetes(return_X_yTrue)返回二维数值矩阵不同Linnerud 的target本身就是一组并列的 3 个回归目标。这正是作业要求描述如何对每一个数据点组合建模的原因你需要为 3 个运动特征 × 3 个生理目标组成的多组关系分别建立单变量回归模型。核心实操绘制腰围 vs 仰卧起坐的回归关系下面按照课程 solution 笔记本 中演示的标准五步加载 → 拆分 → 拟合 → 预测 → 绘图实现作业要求的主图。1. 选出腰围与仰卧起坐两列腰围是 target 的第 0 列仰卧起坐是 data 的第 0 列。注意 Scikit-learn 的回归器要求输入 X 为二维数组因此需要用reshape(-1, 1)把一维向量还原为列向量课程 README 中对 diabetes 数据集选取第 3 列时使用了同样的技巧X X[:, 2]加X.reshape((-1,1))X_situps linnerud.data[:, 0].reshape(-1, 1) # (20, 1) y_waist linnerud.target[:, 0] # (20,)2. 划分训练集与测试集沿用课程中的model_selection.train_test_split参考 solution 笔记本中的调用train_test_split(X, y, test_size0.33)X_train, X_test, y_train, y_test model_selection.train_test_split( X_situps, y_waist, test_size0.33)从源码用法看test_size0.33表示约三分之一样本划入测试集。Linnerud 只有 20 个样本划出 33% 后测试集约 7 个样本、训练集约 13 个样本——样本极少这直接决定了该模型只能用于教学演示层面的关系观察而非严谨的统计推断这一点建议在作业描述中如实写出。3. 拟合线性回归模型model linear_model.LinearRegression() model.fit(X_train, y_train)model.fit()是 Scikit-learn以及 TensorFlow 等库通用的训练入口solution 笔记本中执行该调用后返回的估计器表示即为LinearRegression()。4. 对测试集做预测y_pred model.predict(X_test)5. 散点 预测线绘图完全复用课程 diabetes 实验的绘图模式plt.scatter(X_test, y_test, colorblack) plt.plot(X_test, y_pred, colorblue, linewidth3) plt.xlabel(Sit-ups (number)) plt.ylabel(Waist (inches)) plt.title(Linnerud: Waist vs. Sit-ups) plt.show()黑色散点是测试集真实数据蓝色直线是模型对同一批 X 的预测值连成的拟合线。作业要求你用自己的语言解释这张图例如直线穿过了散点云给定一个新样本的仰卧起坐次数把它的横坐标代入这条直线就能读出模型预测的腰围数值。推广到其余数据点覆盖全部 3 × 3 组合作业的后半句是对该数据集中的其他数据点做同样的事情即还要覆盖 quests、jumps 与 pulses、cholesterol 等组合。可以用双重循环把上述流程推广到全部组合feature_names [situps, quests, jumps] target_names [waist, pulses, cholesterol] for fi, fname in enumerate(feature_names): for ti, tname in enumerate(target_names): X_f linnerud.data[:, fi].reshape(-1, 1) y_t linnerud.target[:, ti] X_train, X_test, y_train, y_test model_selection.train_test_split( X_f, y_t, test_size0.33) model linear_model.LinearRegression() model.fit(X_train, y_train) y_pred model.predict(X_test) plt.figure() plt.scatter(X_test, y_test, colorblack) plt.plot(X_test, y_pred, colorblue, linewidth3) plt.xlabel(fname) plt.ylabel(tname) plt.title(fLinnerud: {tname} vs. {fname}) plt.show()对每一组作业描述段落中应说明三件事选列方式data[:, i]取第 i 个运动特征、target[:, j]取第 j 个生理目标并用reshape(-1, 1)保证二维输入建模流程train_test_splittest_size0.33→LinearRegression().fit(X_train, y_train)→predict(X_test)→plt.scatterplt.plot结果解读直线斜率方向正相关/负相关反映该运动量与生理指标的直观关系但 20 个样本、约 7 个测试点意味着拟合线对单点波动敏感结论只宜作定性观察。如果你愿意多走一步LinearRegression拟合后还可以读取model.coef_与model.intercept_属性把每组关系的斜率与截距写进描述段落让用自己的语言描述有具体数字支撑注意不要在作业中虚构未运行的数值以实际运行为准。环境要求与运行前提需要 Python 3并已安装 Scikit-learn、matplotlib课程 README 建议在虚拟环境中安装M1 Mac 有专门的安装说明指引作业在本课程文件夹的 notebook.ipynb 中完成用 Visual Studio Code 打开后 Jupyter 内核会自动启动代码块点播放图标即可执行md图标可添加 markdown 说明课程同时提供 R 语言的对照版本见 solution/R/lesson_1.html可作为跨语言对照阅读。自检清单提交作业前的核对是否用一句话说明了 Linnerud 数据集的来源与结构20 名中年男性、3 运动特征、3 生理目标是否完整给出选列 → 拆分test_size0.33→fit→predict→ 散点直线绘图的代码流程并至少展示了 waist vs situps 一张图是否用循环或分步说明覆盖了其余特征-目标组合而不是只画了一张图描述段落是否达到 Rubric 中 Exemplary 档一段撰写良好的完整描述而非零散几句话并如实注明小样本下的解释边界对照课程 diabetes 实验 与 solution 笔记本 确认fit、predict、train_test_split的调用方式与课程一致。完成以上步骤即同时满足了作业的两层要求可运行的回归建模代码以及一段能讲清如何为 Linnerud 数据集每一组关系创建回归模型并绘图的描述性文字。【免费下载链接】ML-For-Beginners12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all项目地址: https://gitcode.com/GitHub_Trending/ml/ML-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Bulletproof React Next.js App 应用本地运行指南:环境配置、Mock Server 与开发工作流 2026/9/6 19:37:22

Bulletproof React Next.js App 应用本地运行指南:环境配置、Mock Server 与开发工作流

Bulletproof React Next.js App 应用本地运行指南:环境配置、Mock Server 与开发工作流 【免费下载链接】bulletproof-react 🛡️ ⚛️ A simple, scalable, and powerful architecture for building production ready React applications. 项目地址:…

阅读更多 →
价值流图实战指南:从现状绘制到浪费识别与改善落地 2026/9/6 19:37:22

价值流图实战指南:从现状绘制到浪费识别与改善落地

简介:这份75页PPT聚焦价值流图分析(VSM),适合精益生产推进者、工业工程师和生产管理者学习,重点帮助读者建立从宏观流程识别浪费的能力,并学会绘制现状价值流图与未来改善图。包体为1个pptx文件&#xff0c…

阅读更多 →
Orca Mobile 开发实战:双进程联调、配对调试与版本化协议兼容性设计 2026/9/6 19:37:22

Orca Mobile 开发实战:双进程联调、配对调试与版本化协议兼容性设计

Orca Mobile 开发实战:双进程联调、配对调试与版本化协议兼容性设计 【免费下载链接】orca Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and VPS. 项目地址: …

阅读更多 →
WeChatMsg 本地导出微信聊天记录:一次配置,十分钟生成第一份存档与年度报告 2026/9/6 19:37:22

WeChatMsg 本地导出微信聊天记录:一次配置,十分钟生成第一份存档与年度报告

WeChatMsg 本地导出微信聊天记录:一次配置,十分钟生成第一份存档与年度报告 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitco…

阅读更多 →
MAA 明日方舟助手:零基础 3 步配置,一键长草全日常跑通 2026/9/6 19:37:22

MAA 明日方舟助手:零基础 3 步配置,一键长草全日常跑通

MAA 明日方舟助手:零基础 3 步配置,一键长草全日常跑通 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址:…

阅读更多 →
FPGA+STM32数据采集系统设计:从双芯架构到FMC链路调试 2026/9/6 19:34:21

FPGA+STM32数据采集系统设计:从双芯架构到FMC链路调试

简介:基于FPGA与STM32的虚拟数据采集系统设计毕业设计论文,面向电子工程、自动化、测控技术等专业本科生,也适合正在准备毕业设计或电子竞赛的嵌入式学习者。全文围绕虚拟示波器展开,从虚拟仪器背景与发展现状切入,明确…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞