PCA 特征的方差
该鱼类数据集是 6 维的。但它的"内在"维度是多少?请绘制 PCA 特征的方差图来找出答案。与之前一样,samples 是一个 2D 数组,每一行代表一条鱼。您需要先对特征做标准化。
本练习是课程的一部分
Python 中的无监督学习
练习说明
- 创建一个名为
scaler的StandardScaler实例。 - 创建一个名为
pca的PCA实例。 - 使用
make_pipeline()函数,将scaler与pca串联成一个管道。 - 使用
pipeline的.fit()方法,将其拟合到鱼类样本samples。 - 使用
pca的.n_components_属性提取所用成分数量。将其放入range()函数中,并将结果保存为features。 - 使用
plt.bar()函数绘制可解释方差,x 轴为features,y 轴为pca.explained_variance_。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Perform the necessary imports
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
import matplotlib.pyplot as plt
# Create scaler: scaler
scaler = ____
# Create a PCA instance: pca
pca = ____
# Create pipeline: pipeline
pipeline = ____
# Fit the pipeline to 'samples'
____
# Plot the explained variances
features = ____
plt.bar(____, ____)
plt.xlabel('PCA feature')
plt.ylabel('variance')
plt.xticks(features)
plt.show()