课程
九年级人工智能:Python 与机器学习
用 Python、NumPy 和 pandas 训练并评估经典的机器学习模型。
按顺序学完各课。学完后,你能用数据结构和可重复使用的函数写 Python。你能做向量加法,计算概率,并求出平均数和标准差。你能用 NumPy 和 pandas 加载、清洗表格并画图表。你能给数据拟合一条直线,训练逻辑回归、决策树和 k近邻分类器,并用 k均值给数据分组。你能计算准确率、精确率和召回率,发现过拟合,把模型和简单基准比较,并展示环境数据集上的预测。
这些课怎么用
- 从标着做这个的课开始。标题下面那一行你自己会了,再往下。
- 先玩游戏。再做测验。10题里对8题就通过。练习纸在纸上。答案在最下面。
- 每一课都接上一课。每次实验都记下:改了什么,发生了什么,为什么。
- 编程课用免费的在线笔记本写 Python。只用老师允许的 AI 工具。AI 帮你写的代码要能讲清楚。分享的数据集里不要放个人数据。
每一课都有游戏、测验和练习纸。
0/36
Python 编程
- 1语法复习用变量、条件和循环写 Python。
- 使用变量、类型和 f-strings。
- 写出 if、for 和 while 代码块。
- 读 traceback,并改掉错误。
- 2数据结构在列表、元组、集合和字典这些数据结构里做选择。
- 让每种数据结构做它最合适的事。
- 写列表推导式和字典推导式。
- 把结构嵌套起来,用来存放记录。
- 3函数和模块编写并测试可重复使用的函数。
- 使用默认参数和关键字参数。
- 用 assert 写测试。
- 从模块导入你的函数。
- 4数据脚本写一个脚本来清洗文本文件。
- 一行一行地读文件。
- 改掉坏行,跳过空行。
- 把清洗后的数据写进新文件。
机器学习要用的数学
- 5向量做向量加法,并求出点与点的距离。
- 把一个数据点写成向量。
- 把向量相加,并乘上一个数。
- 计算欧氏距离和点积。
- 6概率计算简单概率和条件概率。
- 计算一个事件的概率。
- 根据表格计算条件概率。
- 用抛硬币的模拟来核对答案。
- 7统计求出平均数、方差和标准差。
- 用手算和代码各算一遍。
- 说明标准差告诉你什么。
- 按分散程度比较两个数据集。
- 8数学实验画出数据,并描述它的分散程度。
- 画直方图。
- 画散点图。
- 描述中心、分散程度和离群点。
数据科学
- 9NumPy用 NumPy 对整个数组做运算。
- 创建数组,并改变形状。
- 用向量化运算,不用循环。
- 用索引和切片取数组里的数。
- 10pandas用 pandas 加载、筛选并分组表格。
- 把 CSV 读进 DataFrame。
- 筛选行,选择列。
- 分组并汇总数据。
- 11清洗数据清洗数据里的缺失值和错误类型。
- 找出缺失值。
- 填上或删掉,并说明你为什么这样选。
- 改掉错误的类型和重复的行。
- 12可视化做出能回答问题的图表。
- 按问题选对图表。
- 标上坐标轴,并加上标题。
- 找出一张误导人的图表并改掉。
机器学习基础
- 13什么是机器学习说明模型怎样从数据里学会一个规律。
- 比较写规则和从数据里学习。
- 说明模型、参数和训练是什么。
- 说出机器学习的三个真实用途。
- 14监督学习和无监督学习分辨监督学习任务和无监督学习任务。
- 说出监督学习要用标签。
- 说出无监督学习不用标签也能找到结构。
- 把 10 个任务分到这两组里。
- 15机器学习流程列出从数据到可用模型的步骤。
- 把步骤排好序:问题、数据、特征、训练、评估、部署。
- 说出每一步可能出什么错。
- 说出这些步骤为什么要重复。
- 16比较机器学习任务把问题对应到回归、分类或聚类。
- 说出每种任务预测什么。
- 把 10 个问题对应到一种任务。
- 把一个问题改写成另一种任务。
回归
- 17线性回归给数据拟合一条直线。
- 说明斜率和截距。
- 用 scikit-learn 拟合一条直线。
- 把这条直线画在数据上。
- 18特征选择特征并做缩放。
- 使用不止一个特征。
- 把特征缩放到同一个范围。
- 给类别特征做编码。
- 19误差用均方误差度量误差。
- 计算残差。
- 计算均方误差和平均绝对误差。
- 画出残差,找出规律。
- 20预测数值训练回归模型,并预测新的数值。
- 用一部分数据来训练。
- 预测剩下的部分。
- 用真实的单位报告误差。
分类
- 21逻辑回归训练一个逻辑回归分类器。
- 说明它怎样把一个分数变成概率。
- 训练它,并预测概率。
- 改动阈值,再做比较。
- 22决策树训练决策树,并读懂它的划分。
- 训练一棵树。
- 画出它的划分,并读懂。
- 限制树的深度,并比较分数。
- 23k近邻用 k近邻分类,并选出 k。
- 说明 k近邻怎样投票。
- 试几个不同的 k。
- 说明为什么缩放对 k近邻很重要。
- 24训练分类器在同一个数据集上比较三个分类器。
- 在同一次划分上训练全部三个。
- 比较它们的分数。
- 选一个,并说明为什么。
无监督学习
- 25相似度度量两个样本有多相似。
- 使用欧氏距离。
- 使用余弦相似度。
- 在数据集里找出最相似的项。
- 26k均值用 k均值聚类给数据分组。
- 用手算走一遍 k均值。
- 在 scikit-learn 里运行它。
- 画出各个聚类。
- 27选择 k用肘部法选出聚类的个数。
- 用几个不同的 k 运行 k均值。
- 画出肘部曲线。
- 检查这些聚类是否说得通。
- 28给样本分组给数据集做聚类,并描述每一组。
- 给一个真实数据集做聚类。
- 汇总每一个聚类。
- 给每一个聚类起名字。
模型评估
- 29划分训练集和测试集划分训练集和测试集,并说明为什么。
- 用 train_test_split 来划分。
- 用验证集来调整。
- 使用交叉验证。
- 30准确率、精确率和召回率计算准确率、精确率和召回率。
- 做出混淆矩阵。
- 用它算出每一项指标。
- 选出适合这个问题的指标。
- 31过拟合比较训练分数和测试分数,发现过拟合。
- 训练一个会过拟合的模型。
- 画出训练分数和测试分数。
- 减轻过拟合,再做比较。
- 32简单基准把模型和简单基准比较。
- 做一个简单基准:它总是猜最常见的答案。
- 把你的模型和它比较。
- 说明什么时候一个模型不值得用。
机器学习项目
- 33选一个数据集选一个开放的环境数据集和一个问题。
- 找一个开放的天气或空气质量数据集。
- 写一个它能回答的问题。
- 选择回归或分类。
- 34准备和探索清洗数据,并画出主要规律。
- 清洗数据。
- 画出三个规律的图表。
- 选择特征。
- 35训练和比较训练两个模型,并把它们和简单基准比较。
- 训练两个模型。
- 把它们和简单基准比较。
- 检查有没有过拟合。
- 36预测环境状况展示结果、局限和下一步。
- 展示你的结果和图表。
- 说明模型的局限。
- 提出下一步。