ML-For-Beginners 实战指南:用 Python 与 Scikit-learn 搭建你的第一个线性回归模型

发布时间:2026/9/11 0:52:42
ML-For-Beginners 实战指南:用 Python 与 Scikit-learn 搭建你的第一个线性回归模型 ML-For-Beginners 实战指南用 Python 与 Scikit-learn 搭建你的第一个线性回归模型【免费下载链接】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 课程“2-Regression/1-Tools”一课系统讲解回归建模前的完整工具链准备从 Python 虚拟环境、Visual Studio Code、Scikit-learn 到 Jupyter Notebook 的安装与配置并带领你使用 Scikit-learn 内置的糖尿病数据集diabetes dataset完成第一个可运行的线性回归模型——从导入库、加载数据、划分训练/测试集到训练、预测与可视化全程配有可直接复制运行的代码。课程背景回归模型系列的第一课在 ML-For-Beginners 的回归章节中你将用四个课时学会如何构建回归模型本课2-Regression/1-Tools/README.md负责搭建工具环境并完成第一个线性回归实践后续课程分别讲解数据管理、线性与多项式回归、逻辑回归见 2-Regression/README.md。本课结束后你将掌握四项能力为本地机器学习任务配置电脑环境熟练使用 Jupyter Notebook 编写与运行代码安装并使用 Scikit-learn 完成机器学习任务通过动手练习初步理解线性回归。安装与环境配置开始任何机器学习工作之前先确保工具链完整。官方为每一步都提供了配套视频讲解建议按序完成。1. 安装 Python 并使用虚拟环境确保电脑已安装 Python。绝大多数系统自带 Python但不同项目可能依赖不同版本因此强烈建议在虚拟环境中工作。虚拟环境可以隔离项目依赖避免版本冲突——这是数据科学项目的最佳实践。若希望简化安装也可以使用 VS Code 提供的 Python Coding Packs 一键式安装包。2. 安装 Visual Studio CodeVS Code 是本课程的主力编辑器。安装完成后建议按官方指引将 VS Code 配置为 Python 开发环境熟悉 Python 扩展、解释器选择与终端集成。由于后续所有 notebook 都在 VS Code 中打开提前熟悉其界面会大幅提升效率。3. 安装 Scikit-learnScikit-learn 是核心机器学习库官方要求使用 Python 3。推荐在虚拟环境中安装pip install scikit-learn注意若在 Apple M1 芯片的 Mac 上安装请参考 Scikit-learn 官方安装页的特殊说明。4. 安装 JupyterJupyter 是运行 notebook 的基础包pip install jupyter你的 ML 写作环境Jupyter Notebook本课程使用notebook扩展名为.ipynb来编写 Python 代码、构建机器学习模型。notebook 是数据科学家的标配工具它是一个交互式环境允许你一边写代码一边在代码周围添加笔记与文档非常适合实验性、研究性项目。练习运行你的第一个 notebook在 2-Regression/1-Tools/notebook.ipynb 所在的文件夹中找到该文件按以下步骤操作在 Visual Studio Code 中打开notebook.ipynbJupyter 服务器会自动启动Python 3。每个代码块都可以通过“播放”按钮独立运行点击md图标添加一个 Markdown 单元格输入# Welcome to your notebook新建一个代码单元格输入print(hello notebook)点击运行箭头执行代码你将看到输出hello notebooknotebook 支持在代码中穿插注释Markdown 单元格或代码注释实现自我文档化。✅ 思考题Web 开发者的工作环境与数据科学家的工作环境有多大差异notebook 这种“代码 叙述”混排的形式对研究工作有什么帮助上手 Scikit-learnPython 与 notebook 就绪后我们来认识 Scikit-learn发音sci如science。Scikit-learn 是开源机器学习库支持监督学习与非监督学习并提供模型拟合、数据预处理、模型选择与评估等丰富工具。它提供了扩展的 API核心工作流非常简洁。本课程刻意避开神经网络与深度学习它们属于“AI for Beginners”课程范围专注于“传统机器学习”任务。Scikit-learn 主要面向数值数据内置多个可直接使用的数据集和预构建模型非常适合学习者快速上手。本课参考了官方线性回归示例下面进入第一个实践。练习你的第一个 Scikit-learn notebook打开本课关联的notebook.ipynb先点击“垃圾桶”图标清空所有单元格然后跟随以下步骤重建完整流程。完整的可运行版本可参考 2-Regression/1-Tools/solution/notebook.ipynb。业务场景假设你要为糖尿病患者测试一种新疗法。机器学习模型能基于多种变量的组合判断哪些患者对治疗反应更好。即使是最基础的回归模型可视化后也能揭示与变量相关的信息帮助你设计理论上的临床试验。✅ 关于回归方法的选择不同回归方法回答不同问题。预测给定年龄的人的“可能身高”你需要一个数值用线性回归判断某类菜品是否“素食”你在做类别划分应使用逻辑回归后续课程会深入讲解。步骤 1导入库新建代码单元格导入三个库import matplotlib.pyplot as plt import numpy as np from sklearn import datasets, linear_model, model_selectionmatplotlib绘图工具用于绘制线图numpyPython 数值数据处理的利器sklearnScikit-learn 库其中datasets提供内置数据集linear_model提供线性模型model_selection用于将数据划分为训练集与测试集。步骤 2加载糖尿病数据集Scikit-learn 内置的糖尿病数据集包含442 个样本、10 个特征变量部分特征包括特征含义age年龄岁bmi身体质量指数BMIbp平均血压s1 tcT 细胞一种白细胞✅ 该数据集将“性别”sex作为特征变量这对糖尿病研究很重要。许多医学数据集都包含这种二元分类。请思考类似这样的分类方式是否可能将部分人群排除在治疗之外这是监督学习必须有命名好的目标变量y。在代码单元格中调用load_diabetes()参数return_X_yTrue表示X为数据矩阵、y为回归目标X, y datasets.load_diabetes(return_X_yTrue) print(X.shape) print(X[0])load_diabetes()返回一个元组tuple上面的写法将元组的前两个值分别解包给X和y。输出显示该数据为 442 行、每行 10 个元素(442, 10) [ 0.03807591 0.05068012 0.06169621 0.02187235 -0.0442235 -0.03482076 -0.04340085 -0.00259226 0.01990842 -0.01764613]✅ 思考数据与回归目标的关系线性回归预测的是特征X与目标变量y之间的关系。结合数据集文档中的目标定义疾病进展的量化指标这个数据集要说明什么步骤 3选取特征并重塑为 2D 数组选取第 3 列索引 2即 bmi用于绘图。使用:选取所有行再用索引(2)选取第 3 列然后通过reshape(n_rows, n_columns)将数据重塑为绘图所需的 2D 数组——若某个维度传-1该维度会自动计算X X[:, 2] X X.reshape((-1,1)) 随时print(X.shape)检查数据形状。reshape(-1, 1)将一维数组442 个元素转为 442 行 1 列的二维矩阵。步骤 4划分训练集与测试集数据准备好后将特征X与目标y同时划分为测试集和训练集。Scikit-learn 提供了一行代码即可完成X_train, X_test, y_train, y_test model_selection.train_test_split(X, y, test_size0.33)test_size0.33表示 33% 的数据留作测试集其余 67% 用于训练——这是监督学习中评估模型泛化能力的标准做法。步骤 5训练线性回归模型加载线性回归模型并用训练集拟合model linear_model.LinearRegression() model.fit(X_train, y_train)model.fit()是几乎所有机器学习库如 TensorFlow共有的训练接口它学习数据中的规律并确定“最佳拟合线”的系数。步骤 6在测试集上预测用predict()基于测试数据生成预测值后续将用这些值在数据点之间绘制直线y_pred model.predict(X_test)步骤 7可视化结果使用 matplotlib 绘制散点图黑色圆点代表测试数据并用预测结果绘制蓝色拟合线plt.scatter(X_test, y_test, colorblack) plt.plot(X_test, y_pred, colorblue, linewidth3) plt.xlabel(Scaled BMIs) plt.ylabel(Disease Progression) plt.title(A Graph Plot Showing Diabetes Progression Against BMI) plt.show()✅ 思考一条直线穿过许多数据点它究竟在做什么你能看出如何用这条线预测一个未见过的数据点应落在 y 轴的什么位置吗试着用语言描述这个模型的实际用途。恭喜你已经构建了第一个线性回归模型完成训练、做出预测并绘制成图。整个流程导入库 → 加载数据 → 特征选择 → 训练/测试划分 → 拟合 → 预测 → 可视化正是后续所有回归课程的标准范式。挑战绘制其他特征尝试绘制该数据集中的其他变量。提示修改X X[:, 2]中的列索引例如换成X[:, 0]观察年龄、X[:, 1]观察性别等。结合该数据集的目标变量你能从糖尿病作为疾病的进展过程中发现什么复习与延伸学习本课使用的是简单线性回归仅一个特征而非单变量或多变量线性回归。建议进一步了解这些方法的差异并思考回归技术还能回答哪些类型的问题。课程配套的作业见 2-Regression/1-Tools/assignment.md查看 Scikit-learn 的 Linnerud 数据集——它包含 20 名健身俱乐部中年男性的 3 个运动变量数据和 3 个生理变量目标即多个目标变量。请用自己的话描述如何构建一个回归模型绘制“腰围waistline”与“仰卧起坐次数situps”之间的关系并对该数据集中的其他数据点做同样的分析。扩展参考R 与 Tidymodels 实现本课同样提供 R 语言版本见 2-Regression/1-Tools/solution/R/lesson_1.Rmd可渲染为 lesson_1.html。R 版使用tidymodels框架完成等价流程用tidyverse与tidymodels两个包集完成数据处理与建模pacman::p_load(tidyverse, tidymodels)用initial_split(prop 0.67)划分 67% 训练集与 33% 测试集通过“类型 引擎 模式”三要素构建模型规格linear_reg() %% set_engine(lm) %% set_mode(regression)以公式接口fit(y ~ ., data diabetes_train)训练用predict(new_data diabetes_test)预测最后用ggplot2绘制散点与拟合线。对照 Python 与 R 两种实现可以更深刻地理解“划分数据 → 训练 → 预测 → 绘图”这一回归建模流程是跨语言的通用方法论。【免费下载链接】ML-For-Beginners12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all项目地址: https://gitcode.com/GitHub_Trending/ml/ML-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询