Menu
CoddyTech

回顾:鸟鸣声

本课属于 Coddy Machine Learning 学习旅程的“无监督学习”单元。第 28 课,共 51 课。

challenge icon

挑战

中等

一位观鸟者记录了 4 个物种的 160 首歌曲,每首歌测量了 7 个指标。把它们压缩到一张图上,就像本章开头的葡萄酒数据一样。

  1. 缩放这些测量值,并拟合一个保留所有成分的 PCA();将其 fit_transform 的输出保存在 points 中。
  2. 打印前两个成分保留的离散程度占比,保留 3 位小数,并打印达到 90% 所需的成分数量。
  3. 用前两个成分绘制散点图,每个物种作为一个组,并用物种名称标记,添加图例。显示图表。

另一位观鸟者得到的结果:

First two keep: 0.818
Components for 90%: 4

标题为二维鸟鸣的图表,横轴为第一个成分,纵轴为第二个成分:鸟鸣分成四组,分别是乌鸫、苍头燕雀、知更鸟和鹪鹩,每组使用不同的颜色,并带有图例

Coddy 会描述你的图。哪两个物种的歌声最相似?

亲手试试

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 在线编译器