グリッドサーチ

次のコードで空欄になっている行に入る適切な選択肢を 1 ~ 3 から選び、
グリッドサーチによって SVM の最適なハイパーパラメータを探索してください.

import scipy.stats
from sklearn.datasets import load_digits
from sklearn.svm import SVC
# Q1:GridSearchCV クラスをインポートしてください.
from ########## import GridSearchCV

[Q1選択肢]
1. sklearn.ensemble
2. skleran.model_selection
3. sklearn.decomposition

from sklearn.model_selection import train_test_split
from sklearn.metrics import f1_score

data = load_digits()
train_X, test_X, train_y, test_y = train_test_split(data.data,
data.target, random_state=42)

model_param_set_grid = {SVC(): {
“kernel” : [“linear”, “poly”, “rbf”, “sigmoid”],
“C” : [10 ** i for i in range(-5, 5)],
“decision_function_shape” : [“ovr”, “ovo”],
“random_state” : [42]}}

max_score = 0
best_param = None

for model, param in model_param_set_grid.items():
# Q2:GridSearch でモデルのパラメータをサーチしてください.
clf = ##########
clf.fit(train_X, train_y)
pred_y = clf.predict(test_y)
score = f1_score(test_y, pred_y, average=”micro”)

if max_score < score: max_score = score [Q2の選択肢] 1. GridSearchCV(param) 2. GridSearchCV(model) 3. GridSearchCV(model, param) # Q3:最適なパラメータを変数 best_param に代入してください. best_param = ########## print("パラメータ : {}".format(best_param)) print("ベストスコア : ", max_score) svm = SVC() svm.fit(train_X, train_y) print() print('調整なし') print(svm.score(test_X, test_y)) [Q3の選択肢] 1. clf.best_params_ 2. clf.coef_ 3. clf.intercept_

Leave a comment

Your email address will not be published. Required fields are marked *