PCA の寄与率
次のコードを実行したときの出力として、正しいものを1つ選べ。
import numpy as np
from sklearn.decomposition import PCA
X = np.array([[1, 2], [2, 4], [3, 6], [4, 8]], dtype=float)
p = PCA(n_components=1).fit(X)
print(round(float(p.explained_variance_ratio_[0]), 3))
- A
0.5 - B
1.0 - C
0.0 - D
2.0
正解と解説を見る
正解:B
explained_variance_ratio_ は、各主成分が全体の分散のどれだけを説明するかを表す。合計は 1 以下。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import numpy as np` | — |
| 2 | `from sklearn.decomposition import PCA` | — |
| 3 | `X = np.array([[1, 2], [2, 4], [3, 6], [4, 8]]…` | X = [[1.0, 2.0], [2.0, 4.0], [3.0, 6.0], [4… |
| 4 | `p = PCA(n_components=1).fit(X)` | X = [[1.0, 2.0], [2.0, 4.0], [3.0, 6.0], [4… |
| 5 | `print(round(float(p.explained_variance_ratio_…` | — |
| 結果 | 実際の出力 | 1.0 |
- A
誤り。2 つの特徴量が独立なら 0.5 に近づくが、この例は比例関係。
- B
正しい。2 つの特徴量が完全な比例関係にあるので、1 つの主成分で分散の全部を説明できる。
- C
誤り。第 1 主成分が分散を説明する。
- D
誤り。寄与率は 0〜1 の値。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。