早期打ち切り

次のコードで空欄になっている行を埋め、SGD モデルを早期打ち切りによって最適化してください.

# Q1:train_test_split クラスをインポートしてください.
from ########## import train_test_split
# Q2:Pipeline クラスをインポートしてください.
from ########## import Pipeline
# Q3:StandardScalerクラスをインポートしてください.
from ########## import StandardScaler
# Q4:mean_squared_error クラスをインポートしてください.
from ########## import mean_squared_error
# Q5:clone クラスをインポートしてください.
from ########## import clone

[Q1– 5 の選択肢]
1. sklearn.pipeline
2. sklearn.metrics
3. sklearn.base
4. sklearn.preprocessing
5. sklearn.model_selection

np.random.seed(0)
m = 100
X = 6 * np.random.rand(m, 1) – 3
y = 2 + X + 0.5 * X**2 + np.random.randn(m, 1)

X_train, X_test, y_train, y_test = train_test_split(X[:50], y[:50].ravel(),
test_size=0.5, random_state=0)

poly_scaler = Pipeline([
(“poly_features”, PolynomialFeatures(degree=90, include_bias=False)),
(“std_scaler”, StandardScaler()),
])

X_train_poly_scaled = poly_scaler.fit_transform(X_train)
X_test_poly_scaled = poly_scaler.transform(X_test)

sgd_reg = SGDRegressor(max_iter=1, tol=-np.infty, warm_start=True, penalty=None,
learning_rate=”constant”, eta0=0.0005, random_state=0)

minimum_test_error = float(“inf”)
best_epoch = None
best_model = None
for epoch in range(1000):
sgd_reg.fit(X_train_poly_scaled, y_train)
y_test_predict = sgd_reg.predict(X_test_poly_scaled)
test_error = mean_squared_error(y_test, y_test_predict)

# Q6:現状の最良モデルを cloen するための if 文を定義してください.
if ########## :
minimum_test_error = test_error
best_epoch = epoch
best_model = clone(sgd_reg)

print(“best_epoch : “, best_epoch)
print(“best_model : “, best_model)

[Q1の選択肢]
1. test_error == minimum_test_error
2. test_error < minimum_test_error 3. test_error > minimum_test_error

Elastic Net とは

Lasso 回帰の説明として正しいものを選択肢から選んでください.

[Q1の選択肢]
1. 正則化項として、パラメータの絶対値の和である L1 ペナルティを用いる.
  L1 ペナルティを用いると、説明変数の数を出来るだけ減らすようにモデルは訓練される.

2. 正則化項として、パラメータの二乗和である L2 ペナルティを用いる.
 L2 ペナルティを用いると、モデルは重みを出来るだけ小さくするように訓練される.
 しかし、入力特徴量のスケールの影響を受けるため、訓練セットをスケーリングするなどの対策が必要である.

3. 正則化項として、L1 ペナルティと L2 ペナルティの重み和を用いる.
 訓練セットの性質が読みづらいときには、とりあえず、このモデルを使用すると良い.

早期打ち切り

次のコードで空欄になっている行を埋め、SGD モデルを早期打ち切りによって最適化してください.

# Q1:train_test_split クラスをインポートしてください.
from ########## import train_test_split
# Q2:Pipeline クラスをインポートしてください.
from ########## import Pipeline
# Q3:StandardScalerクラスをインポートしてください.
from ########## import StandardScaler
# Q4:mean_squared_error クラスをインポートしてください.
from ########## import mean_squared_error
# Q5:clone クラスをインポートしてください.
from ########## import clone

[Q1 — 5 の選択肢]
1. sklearn.base
2. sklearn.model_selection
3. sklearn.preprocessing
4. sklearn.pipeline
5. sklearn.metrics

np.random.seed(0)
m = 100
X = 6 * np.random.rand(m, 1) – 3
y = 2 + X + 0.5 * X**2 + np.random.randn(m, 1)

X_train, X_test, y_train, y_test = train_test_split(X[:50], y[:50].ravel(),
test_size=0.5, random_state=0)

poly_scaler = Pipeline([
(“poly_features”, PolynomialFeatures(degree=90, include_bias=False)),
(“std_scaler”, StandardScaler()),
])

X_train_poly_scaled = poly_scaler.fit_transform(X_train)
X_test_poly_scaled = poly_scaler.transform(X_test)

sgd_reg = SGDRegressor(max_iter=1, tol=-np.infty, warm_start=True, penalty=None,
learning_rate=”constant”, eta0=0.0005, random_state=0)

minimum_test_error = float(“inf”)
best_epoch = None
best_model = None
for epoch in range(1000):
sgd_reg.fit(X_train_poly_scaled, y_train)
y_test_predict = sgd_reg.predict(X_test_poly_scaled)
test_error = mean_squared_error(y_test, y_test_predict)

# Q6:現状の最良モデルを cloen するための if 文を定義してください.
if ########## :
minimum_test_error = test_error
best_epoch = epoch
best_model = clone(sgd_reg)

print(“best_epoch : “, best_epoch)
print(“best_model : “, best_model)

[Q1の選択肢]
1. test_error == minimum_test_error
2. test_error < minimum_test_error 3. test_error > minimum_test_error

ロジスティック関数(シグモイド関数)

ロジスティック回帰の説明として正しいものを選択肢から選んでください.

[選択肢]
1. ロジスティック回帰モデルは、その名の通り回帰問題にのみ用いられる.
2. ロジスティック回帰モデルは、一般化線形モデルには当てはまらない.
3. ロジスティック回帰モデルは、シグモイド関数を用いて入力データがどのクラスに属すのかを予測できる.
4. ロジスティック回帰モデルのコスト関数には勾配降下法を適用できない.

ロジスティック関数(シグモイド関数)

ロジスティック回帰の説明として正しいものを選択肢から選んでください.

[選択肢]
1. ロジスティック回帰モデルは、ReLU 活性化関数を用いて入力データがどのクラスに属すのかを予測できる.
2. ロジスティック回帰モデルは、コスト関数に交差エントロピーを用いる.
3. ロジスティック回帰モデルは、その名の通り回帰問題にのみ用いられる.
4. ロジスティック回帰モデルのコスト関数には勾配降下法を適用できない.

Lasso 回帰 とは

Lasso 回帰の説明として正しいものを選択肢から選んでください.

[Q1の選択肢]
1. 正則化項として、パラメータの絶対値の和である L1 ペナルティを用いる.
  L1 ペナルティを用いると、説明変数の数を出来るだけ減らすようにモデルは訓練される.

2. 正則化項として、パラメータの二乗和である L2 ペナルティを用いる.
 L2 ペナルティを用いると、モデルは重みを出来るだけ小さくするように訓練される.
 しかし、入力特徴量のスケールの影響を受けるため、訓練セットをスケーリングするなどの対策が必要である.

3. 正則化項として、L1 ペナルティと L2 ペナルティの重み和を用いる.
 訓練セットの性質が読みづらいときには、とりあえず、このモデルを使用すると良い.