Python 模擬試験

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

負の平均二乗誤差

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

import numpy as np
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LinearRegression
X = np.arange(10).reshape(10, 1)
y = 2 * np.arange(10) + 1
s = cross_val_score(LinearRegression(), X, y, cv=2, scoring="neg_mean_squared_error")
print(bool(s.max() <= 0))
  1. A

    True

  2. B

    False

  3. C

    None

  4. D

    ValueError が発生する。

正解と解説を見る

正解:A

scikit-learn の scoring は「大きいほど良い」の規則に合わせるため、誤差の指標には neg_ が付き、負の値になる。

順実行する行実行後の変数
1`import numpy as np`—
2`from sklearn.model_selection import cross_val…`—
3`from sklearn.linear_model import LinearRegres…`—
4`X = np.arange(10).reshape(10, 1)`X = [[0], [1], [2], [3], [4], [5], [6], [7]…
5`y = 2 * np.arange(10) + 1`y = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
6`s = cross_val_score(LinearRegression(), X, y,…`s = [-0.0, -0.0], X = [[0], [1], [2], [3], [4], [5], [6], [7]…, y = […
7`print(bool(s.max() <= 0))`s = [-0.0, -0.0]
結果実際の出力True

学習のポイント:GridSearchCV で、スコアの大小を揃えて比べるため。

この問題を演習で解く →

問題一覧へ

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