グリッドサーチで桁の違う小数などを使いたい場合、np.logspace関数が便利です。
例
np.logspace(-3, 2, num=6)
10の-3乗から10の2乗の範囲を6等分した配列
[0.001, 0.01, 0.1, 1, 10, 100] を作成します。
np.logspace(-3, 2, num=6)
10の-3乗から10の2乗の範囲を6等分した配列
[0.001, 0.01, 0.1, 1, 10, 100] を作成します。
乳がんデータ良性、悪性判定での活用例
グリッドサーチを活用してSVCのハイパーパラメータ 「C」 の値を変更しています。
その際にnp.logspace()が活用されています。
from sklearn.model_selection import GridSearchCV from sklearn.svm import SVC # 乳がんのデータを読み込み cancer = load_breast_cancer() X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, stratify = cancer.target, random_state=0) # GridSearchCVクラスに与えるパラメータを準備 param_grid = { 'C': np.logspace(-3, 2, num=6) ,'gamma':np.logspace(-3, 2, num=6)} gs = GridSearchCV(estimator=SVC(), param_grid=param_grid, cv=5) gs.fit(X_train,y_train) print('Best cross validation score:{:.3f}'.format(gs.best_score_)) print('Best parameters:{}'.format(gs.best_params_)) print('Test score:{:.3f}'.format(gs.score(X_test,y_test)))