交差検証とグリッドサーチやランダムサーチなどの手法を組み合わせる

2024年6月17日

ハイパーパラメータの調整には、交差検証とグリッドサーチやランダムサーチなどの手法を組み合わせて行うことが一般的です。以下は、ランダムフォレストのハイパーパラメータを調整する手順です。

python
from sklearn.model_selection import GridSearchCV

# ハイパーパラメータの範囲を指定
param_grid = {
    'n_estimators': [50, 100, 150],  # 決定木の数
    'max_depth': [None, 10, 20],  # 木の最大深さ
    'min_samples_split': [2, 5, 10],  # 分岐のための最小サンプル数
    'min_samples_leaf': [1, 2, 4]  # 葉ノードの最小サンプル数
}

# ランダムフォレストモデル
rf_model = RandomForestRegressor(random_state=42)

# グリッドサーチでハイパーパラメータの最適値を探索
grid_search = GridSearchCV(estimator=rf_model, param_grid=param_grid, cv=5, scoring='neg_mean_squared_error', n_jobs=-1)
grid_search.fit(X, y)

# 最適なハイパーパラメータとそのスコアを取得
best_params = grid_search.best_params_
best_score = -grid_search.best_score_

print("Best Hyperparameters:", best_params)
print("Best Cross-Validation Mean Squared Error:", best_score)

このコードでは、GridSearchCVを使用してランダムフォレストのハイパーパラメータを調整しています。param_gridで探索するハイパーパラメータの範囲を指定し、交差検証を使用して最適なハイパーパラメータを探索します。最適なハイパーパラメータとそのスコアが出力されます。

未分類

Posted by ぼっち