Python 模擬試験

Pythonデータ分析 模擬試験 第5回 問38・4章4節 scikit-learn(次元削減)

主成分得点の平均

次のコードを実行したときの出力として、正しいものを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]])
Z = PCA(n_components=2).fit_transform(X)
print(bool(np.abs(Z.mean(axis=0)).max() < 1e-9))
  1. A

    False

  2. B

    None

  3. C

    True

  4. D

    2

正解と解説を見る

正解:C

PCA は、特徴量ごとに平均を引いて(中心化)から、分散の大きい方向を求める。主成分得点の平均は 0 になる。

順実行する行実行後の変数
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`Z = PCA(n_components=2).fit_transform(X)`Z = [[-1.4140290483128322, -0.9016772429908…, X = [[1.0, 2.0], [2.0, …
5`print(bool(np.abs(Z.mean(axis=0)).max() < 1e-…`Z = [[-1.4140290483128322, -0.9016772429908…
結果実際の出力True

学習のポイント:標準化もするかどうかは、特徴量のスケールによる。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。