Python 模擬試験

Pythonデータ分析 模擬試験 第2回 問40・4章4節 scikit-learn(回帰)

パイプライン

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

import numpy as np
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
X = np.array([[0], [1], [2], [3]])
y = 2 * X.ravel() + 1
m = make_pipeline(StandardScaler(), LinearRegression()).fit(X, y)
print(round(float(m.predict([[4]])[0]), 3))
  1. A

    8.0

  2. B

    9.0

  3. C

    5.0

  4. D

    4.0

正解と解説を見る

正解:B

Pipeline は、前処理とモデルを1つのオブジェクトにまとめる。交差検証の中でも前処理が訓練データだけで fit されるので、データリーケージを防げる。

順実行する行実行後の変数
1`import numpy as np`—
2`from sklearn.pipeline import make_pipeline`—
3`from sklearn.preprocessing import StandardSca…`—
4`from sklearn.linear_model import LinearRegres…`—
5`X = np.array([[0], [1], [2], [3]])`X = [[0], [1], [2], [3]]
6`y = 2 * X.ravel() + 1`y = [1, 3, 5, 7], X = [[0], [1], [2], [3]]
7`m = make_pipeline(StandardScaler(), LinearReg…`X = [[0], [1], [2], [3]], y = [1, 3, 5, 7]
8`print(round(float(m.predict([[4]])[0]), 3))`—
結果実際の出力9.0

学習のポイント:make_pipeline は、ステップの名前を自動で付ける。

この問題を演習で解く →

問題一覧へ

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