次数の選択 – 屈曲点

次のコードで空欄になっている行に入る適切なものを 1 – 3 から選び、PCA で次元削減し、
mnist 訓練セットの分散が 90% を維持するために必要な次元を求めてください.
また、PCA クラスの n_components を設定して同様に次元を求めてください.

import numpy as np

from sklearn.decomposition import PCA
from six.moves import urllib
from sklearn.datasets import fetch_openml
from sklearn.model_selection import train_test_split

mnist = fetch_openml(‘mnist_784’, version=1)
mnist.target = mnist.target.astype(np.int64)

X = mnist[“data”]
y = mnist[“target”]

X_train, X_test, y_train, y_test = train_test_split(X, y)

pca = PCA()
pca.fit(X_train)

# Q1:因子寄与率を足し合わせてください.
##########

[Q1の選択肢]
1. cumsum = np.cumsum(pca.predict(X_test))
2. cumsum = np.cumsum(pca.explained_variance_ratio_)
3. cumsum = np.cumsum(y_test)

# Q2:訓練セットの分散が 90% を維持するために必要な次元を求めてください.
##########
print(d)

[Q2の選択肢]
1. d = np.argmax(cumsum >= 0.90) + 1
2. d = np.argmax(cumsum >= 0.90)
3. d = np.argmax(cumsum = 0.90)

#Q3:変数 X_train を PCA で次元圧縮してください.
##########
pca.fit_transform(X_train)

[Q3の選択肢]
1. pca = PCA(n_components = 0.90)
2. pca = PCA(n_components >= 0.90)
3. pca = PCA(n_components <= 0.90) #Q4:Q2 と同じ結果を出力してください. print(##########) [Q4の選択肢] 1. pca 2. pca_predict_components(X_test) 3. pca.n_components_

Leave a comment

Your email address will not be published. Required fields are marked *