提供给模型的数据
Coddy 机器学习入门 课程的第 2 课,共 19 课。
在机器学习中,数据在训练和开发模型时起着至关重要的作用。要将数据输入模型,通常会将其整理成一种结构化格式,称为数据集(pandas 中的 DataFrame)。
数据集由两个主要部分组成:
- 特征 - 表示一组数据的若干列
- 目标变量 - 表示模型旨在预测或估算的输出或值。
例如,这是一个天气表
| id | degrees (C) | humidity (%) | wind (KM/H) | is_rain |
| 1 | 23 | 5 | 14 | True |
| 2 | 30 | 10 | 17 | False |
| 3 | 15 | 3 | 12 | False |
| 4 | 20 | 12 | 5 | False |
| 5 | 26 | 57 | 23 | True |
假设我们想知道是否会下雨,那么特征是 degrees、humidity 和 wind,目标变量是 is_rain。
特征记作 <strong>X</strong>,目标记作 <strong>y</strong>。
目标变量(<strong>y</strong>)可以包含任何类型的数据,例如数字、布尔值、字符串等。
在训练过程中,模型将特征用作输入,并将目标变量用作真实值或正确的输出。
如果没有目标变量,模型就无法判断自己的预测是否正确。
数据集的结构有许多不同形式:
- 多个特征,单个目标变量
- 单个特征,单个目标变量
- 多个特征,多个目标变量
- 少量特征,单个或多个目标变量
- 没有目标变量
- 时间序列数据
- 等等。
监督学习使用包含输入与输出配对的数据集,算法会学习将输入映射到对应的目标变量。
无监督学习不涉及目标变量,而是在没有带标签样本的情况下,从输入数据中寻找模式或结构。
确保目标变量与其他列相互独立至关重要,因为任何依赖关系都可能导致数据泄漏,并使训练期间的性能看起来虚高。真正具有预测能力的模型必须从与目标没有直接关系的特征中学习,从而保证模型预测的可靠性和泛化能力。
独立的目标变量不能直接通过数据集中的其他列计算或推导出来,它就是你要预测的内容。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
挑战
简单你会获得一个名为 galactic_zoo_no_target.csv 的 CSV 文件。这个数据集没有目标变量。
在这个挑战中,你将创建自己的目标变量。根据以下公式创建一个名为 ComplexityIndex 的列:WaterCoverage * HabitatDiversity / PlanetMass。然后,删除 WaterCoverage、HabitatDiversity 和 PlanetMass 列,因为它们现在由 ComplexityIndex 表示。
要通过这个挑战,不要打印任何内容,我们会在内部检查 df 变量。
亲手试试
# pandas 已作为 pd 导入
df = pd.read_csv("galactic_zoo_no_target.csv")
# 在下方编写你的代码
机器学习入门中的所有课
自己练习: Python 在线编译器