Sklearn 实践挑战

本课程包含大量 Sklearn 挑战,每个挑战都是一个小的 Sklearn 项目,配有详细的说明和解决方案。通过解决这些挑战,你可以练习 Sklearn 技能,提高问题解决能力,并学习如何编写简洁高效的代码。

Python数据科学

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

通过 7 个中级代码补全挑战,强化使用 scikit-learn 解决问题的能力。每个挑战都提供起始文件和明确的 TODO 要求,并让你实现用于模型训练、评估、调优、解释或可视化的函数。

20 个任务步骤横跨监督学习与无监督学习,包括分类和回归指标、朴素贝叶斯、K 近邻、验证曲线、决策树、线性与正则化回归,以及三种聚类方法。每个任务都配有自动检查和参考解答。

你将学到什么

  • 使用准确率、精确率、召回率和 F1 评估分类,并使用 MSE、MAE、RMSE 和 R² 评估回归
  • 构建自定义评分器,并通过网格搜索调优带标准化的 SVR Pipeline
  • 在 Iris 数据上训练高斯朴素贝叶斯,缩放特征,比较 Gaussian、Multinomial 和 Bernoulli 变体,并输出混淆矩阵
  • 划分 Iris 数据,训练 K 近邻模型,评估预测,并搜索更合适的 k 值
  • 为决策树 max_depth 生成验证曲线,从交叉验证得分中选择深度,重新训练并测试模型
  • 在 pandas 中准备 Iris 数据,拟合 DecisionTreeClassifier,并汇总精确率、召回率和 F1
  • 在提供的 CSV 数据上拟合线性回归,计算回归指标,并通过交叉验证比较 Ridge 与 Lasso
  • 在 Iris 数据上应用 K-means、凝聚层次聚类和 DBSCAN,比较轮廓系数,并可视化聚类分配

本课程适合谁

本课程适合已经完成入门模型构建练习,并希望进行更独立实现实践的 Python 与 scikit-learn 学习者。你应能够阅读起始代码、补全函数体、理解要求并调试未通过的检查。

前置要求: 建议掌握 Python、NumPy 或 pandas 数据结构、训练/测试集划分、估计器的 fit 与 predict,以及基础分类和回归概念。这些挑战不会从零教授 Python 语法。

学习环境: 全部 7 个挑战都在 Ubuntu 22.04 WebIDE 中运行,共有 20 个中级任务步骤,每个步骤都带自动检查和参考解答。6 个环境固定使用 scikit-learn 1.2.2;指标挑战为兼容旧版 Boston Housing 练习,固定使用 scikit-learn 1.1.3 和低于 2 的 NumPy。

常见问题

这些挑战适合作为 scikit-learn 的第一次入门吗?

不太适合。虽然课程级别标为入门,但其中 7 个挑战都单独标为中级,并从面向 TODO 的起始代码开始。如果你还不熟悉 fit、predict、指标和训练/测试集划分,请先学习引导式 scikit-learn 基础课程。

课程提供多少指导和反馈?

每个任务会说明需要实现的函数或输出,并提供起始项目文件,但缺失逻辑需要你自己编写。20 个任务步骤各有一个自动检查和一个参考解答。

课程使用哪些数据集?

多个挑战重复使用 Iris 数据集。指标挑战还使用 Breast Cancer 数据集和旧版 Boston Housing 数据集,线性回归挑战则提供自己的 CSV 文件。这是聚焦算法的练习,而非大型生产数据集综述。

代码能在最新版 scikit-learn 中不经修改地运行吗?

不能保证。指标挑战特意安装 scikit-learn 1.1.3,因为它导入了后来被移除的 Boston Housing 加载器;其他挑战固定使用 1.2.2。应将该实验视为特定版本练习,在现代项目中改用当前受支持的数据集。

教师

labby
Labby
Labby is the LabEx teacher.