初步了解
本课属于 Coddy Machine Learning 学习旅程的“机器学习统计学”单元。第 56 课,共 64 课。
每个模型都从有人仔细查看它的数据开始。本章以这样一幅图收尾:用两个测量值按类别划分肿瘤。
先检查四项:大小、缺失值、范围和类别。对于葡萄酒数据集:
wine = load_wine(as_frame=True)
df = wine.frame
print(df.shape)
print(df.isna().sum().sum())输出如下:
(178, 14)
013 个特征,加上 target,而且 .sum().sum() 检查后发现没有任何缺失值。df.describe() 可以显示每个特征的取值范围。
最后,来看各个类别。normalize=True 会将计数转换为占比:
shares = df["target"].value_counts(normalize=True)始终回答 class_1,正确率为 40%:这是实际模型必须超越的基准。
挑战
中等先检查 load_breast_cancer,不要让任何模型先从中学习。起始代码会将它加载到 df 中,并读取一个特征的名称。打印以下内容:
- 数据集大小和缺失单元格数量。
- 使用
describe()得到该特征的最小值、最大值和中位数。 - 按类别顺序打印每个类别所占的百分比,取整为整数。
- 基线:占比最高的类别及其占比。
对于鸢尾花数据集和输入 petal length (cm),输出如下:
Size: 150 samples, 4 features
Missing cells: 0
petal length (cm): 1.0 to 6.9, median 4.35
setosa: 33%
versicolor: 33%
virginica: 33%
Baseline: 33% by always answering setosa鸢尾花数据集的类别分布完全均衡。组织数据也是这样吗?
亲手试试
from sklearn.datasets import load_breast_cancer
feature = input()
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame
# 在下方编写你的代码
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
机器学习统计学中的所有课
自己练习: Python 在线编译器