目次
1. 定義
GridSearchCV は、特定のパラメーター グリッド内で相互検証を実行して、最適なパラメーターの組み合わせを決定するハイパーパラメーター調整用のツールです。徹底的な検索を通じて最適なパラメーターを見つけます。つまり、考えられるすべてのパラメーターの組み合わせを試し、相互検証を使用して各パラメーターの組み合わせのパフォーマンスを評価します。
2. ワークフロー
1) モデルタイプと初期パラメータを含む、調整するモデルを定義します。
2) 検索するパラメータ グリッド、つまり各パラメータの可能な値の辞書またはリストを定義します。
3) GridSearchCV オブジェクトを作成し、モデル、パラメーター グリッド、評価インジケーターをパラメーターとして渡します。
5) fit メソッドを呼び出します。GridSearchCV は相互検証を実行し、パラメーター グリッド内のすべての組み合わせを走査し、各組み合わせでのモデルのパフォーマンスを評価します。
6) 相互検証の結果に基づいて、最高のパフォーマンスを持つパラメーターの組み合わせを返します。
3. サンプルコード
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
# 定义要调优的模型
model = SVC()
# 定义参数网格
param_grid = {
'C': [0.1, 1, 10],
'kernel': ['linear', 'rbf'],
'gamma': [0.1, 1, 10]
}
# 创建GridSearchCV对象
grid_search = GridSearchCV(model, param_grid, cv=5)
# 执行超参数搜索
grid_search.fit(X, y)
# 输出最佳参数组合和最佳得分
print("Best parameters:", grid_search.best_params_)
print("Best score:", grid_search.best_score_)
上の例では、GridSearchCV を使用してサポート ベクター マシン モデル (SVC) を調整します。3 つのパラメーター (C、カーネル、ガンマ) の異なる値を含むパラメーター グリッドを定義します。cv パラメーターは、相互検証の分割数を指定します。Fit メソッドを呼び出すことにより、GridSearchCV は相互検証とパラメータ検索を実行します。検索が完了すると、best_params_ 属性を通じて最適なパラメーターの組み合わせを取得でき、best_score_ 属性を通じて最高のスコアを取得できます。
4. まとめ
GridSearchCV は、最適なパラメーターの組み合わせの検索を自動化し、手動によるチューニング作業を軽減し、モデルのパフォーマンスの信頼できる評価を提供します。ただし、パラメータ空間が大きい場合は、考えられるすべてのパラメータの組み合わせを試す必要があるため、計算負荷が高くなる可能性があります。したがって、GridSearchCV を使用する場合は、パラメーター グリッドのサイズとコンピューティング リソースの制限に注意する必要があります。