Python 模擬試験

Pythonデータ分析 模擬試験 第5回 問40・4章4節 scikit-learn(モデルの評価)

層化 k 分割

次のコードを実行したときの出力として、正しいものを1つ選べ。

import numpy as np
from sklearn.model_selection import StratifiedKFold
X = np.zeros((6, 1))
y = np.array([0, 0, 0, 0, 1, 1])
print([int(y[te].sum()) for _, te in StratifiedKFold(2).split(X, y)])
  1. A

    [2, 0]

  2. B

    [0, 2]

  3. C

    [1, 1]

  4. D

    [2, 2]

正解と解説を見る

正解:C

StratifiedKFold は、各分割でクラスの比率が全体と同じになるようにする。クラスの偏りがあるデータの交差検証で使う。

順実行する行実行後の変数
1`import numpy as np`—
2`from sklearn.model_selection import Stratifie…`—
3`X = np.zeros((6, 1))`X = [[0.0], [0.0], [0.0], [0.0], [0.0], [0.…
4`y = np.array([0, 0, 0, 0, 1, 1])`y = [0, 0, 0, 0, 1, 1]
5`print([int(y[te].sum()) for _, te in Stratifi…`y = [0, 0, 0, 0, 1, 1], X = [[0.0], [0.0], [0.0], [0.0], [0.0], [0.…
結果実際の出力[1, 1]

学習のポイント:分類では、通常の KFold より StratifiedKFold が適する。

この問題を演習で解く →

問題一覧へ

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