PCA 特徵的變異數
這個魚類資料集有 6 維。不過它的「內在維度」是多少?請繪製 PCA 特徵的變異數圖來找出答案。和之前一樣,samples 是一個 2D 陣列,每一列代表一條魚。你需要先對特徵做標準化。
本練習屬於課程
Unsupervised Learning in Python
練習說明
- 建立
StandardScaler的實例,命名為scaler。 - 建立
PCA的實例,命名為pca。 - 使用
make_pipeline()建立一個將scaler與pca串接起來的 pipeline。 - 使用
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()