回顾:鸟鸣声
本课属于 Coddy Machine Learning 学习旅程的“无监督学习”单元。第 28 课,共 51 课。
挑战
中等一位观鸟者记录了 4 个物种的 160 首歌曲,每首歌测量了 7 个指标。把它们压缩到一张图上,就像本章开头的葡萄酒数据一样。
- 缩放这些测量值,并拟合一个保留所有成分的
PCA();将其fit_transform的输出保存在points中。 - 打印前两个成分保留的离散程度占比,保留 3 位小数,并打印达到 90% 所需的成分数量。
- 用前两个成分绘制散点图,每个物种作为一个组,并用物种名称标记,添加图例。显示图表。
另一位观鸟者得到的结果:
First two keep: 0.818
Components for 90%: 4Coddy 会描述你的图。哪两个物种的歌声最相似?
亲手试试
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
# 观鸟者的记录:160 首鸟鸣中,每首有 7 项测量数据,以及鸣叫鸟类的物种
songs = pd.read_csv("songs.csv")
X = songs.drop(columns="species")
fig, ax = plt.subplots()
ax.set_title("Bird Songs in 2D")
ax.set_xlabel("First component")
ax.set_ylabel("Second component")
# 在下方编写你的代码
无监督学习中的所有课
自己练习: Python 在线编译器