主成分の寄与率の合計
次のコードを実行したときの出力として、正しいものを1つ選べ。
import numpy as np
from sklearn.decomposition import PCA
X = np.array([[1.0, 2.0], [2.0, 1.0], [3.0, 5.0], [4.0, 3.0]])
print(round(float(PCA().fit(X).explained_variance_ratio_.sum()), 3))
- A
1.0 - B
0.5 - C
2.0 - D
0.0
正解と解説を見る
正解:A
n_components を指定しない PCA は、すべての主成分を求め、寄与率の合計は 1。累積寄与率で、必要な主成分の数を決める。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import numpy as np` | — |
| 2 | `from sklearn.decomposition import PCA` | — |
| 3 | `X = np.array([[1.0, 2.0], [2.0, 1.0], [3.0, 5…` | X = [[1.0, 2.0], [2.0, 1.0], [3.0, 5.0], [4… |
| 4 | `print(round(float(PCA().fit(X).explained_vari…` | X = [[1.0, 2.0], [2.0, 1.0], [3.0, 5.0], [4… |
| 結果 | 実際の出力 | 1.0 |
- A
正しい。すべての主成分を使えば、分散の 100%を説明できる。
- B
誤り。全部を使えば 1。
- C
誤り。寄与率は割合なので 1 を超えない。
- D
誤り。分散を説明している。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。