按类别探索
本课属于 Coddy Machine Learning 学习旅程的“数据与图表”单元。第 54 课,共 60 课。
哪种测量值能区分物种?按花瓣长度把每朵花排成一行,每个物种一行:
对标签使用 groupby 可以计算这些均值:
df = iris.frame
means = df.groupby("target")["petal length (cm)"].mean()
print(means)这会打印:
target
0 1.462
1 4.260
2 5.552
Name: petal length (cm), dtype: float64类别表示彼此相距较远,因此花瓣长度区分这些类别:模型会依赖它。
比值表示差距有多大:means[2] / means[1] 约为 1.3。这个比值离 1 越远,说明该特征越能区分这两个类。
挑战
中等哪个细胞测量值能表明样本是恶性的?在 load_breast_cancer 中,类 0 表示恶性,类 1 表示良性。起始代码会将一些特征名称读入 features。
- 对于每个特征,输出其恶性样本均值除以良性样本均值的结果,并用
round四舍五入到小数点后 2 位。 - 循环结束后,指出比值最大的特征。
对于特征 worst radius 和 worst texture:
worst radius: malignant is 1.58 times benign
worst texture: malignant is 1.25 times benign
Best separator: worst radius亲手试试
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer(as_frame=True)
# 要比较的特征
n = int(input())
features = []
for i in range(n):
features.append(input())
# 在下方编写你的代码
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
数据与图表中的所有课
自己练习: Python 在线编译器