
장점:
단점:
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestClassifier
# 하이퍼파라미터 그리드 정의
param_grid = {
'n_estimators': [50, 100, 200],
'max_depth': [10, 20, 30],
'min_samples_split': [2, 5, 10]
}
# GridSearchCV를 사용하여 최적의 하이퍼파라미터 탐색
grid_search = GridSearchCV(estimator=RandomForestClassifier(), param_grid=param_grid, cv=5)
grid_search.fit(X_train, y_train)
# 최적의 파라미터 출력
print(grid_search.best_params_)
장점:
단점:
from sklearn.model_selection import RandomizedSearchCV
from sklearn.ensemble import RandomForestClassifier
# 하이퍼파라미터 범위 정의
param_dist = {
'n_estimators': [50, 100, 200],
'max_depth': [10, 20, 30],
'min_samples_split': [2, 5, 10]
}
# RandomizedSearchCV를 사용하여 최적의 하이퍼파라미터 탐색
random_search = RandomizedSearchCV(estimator=RandomForestClassifier(), param_distributions=param_dist, n_iter=10, cv=5)
random_search.fit(X_train, y_train)
# 최적의 파라미터 출력
print(random_search.best_params_)
장점:
단점:
장점:
단점:
| 방법 | 장점 | 단점 |
|---|---|---|
| Grid Search | 모든 조합을 시도하여 최적의 조합을 찾을 확률이 높음 | 계산 비용이 매우 큼, 비효율적일 수 있음 |
| Random Search | 계산 비용이 낮고 효율적 | 최적의 조합을 찾지 못할 수 있음 |
| Bayesian Optimization | 적은 탐색으로 효율적인 결과를 얻을 수 있음 | 구현이 복잡하고 초기 탐색 과정이 필요함 |
| Genetic Algorithm | 매우 큰 하이퍼파라미터 공간에서 유용 | 탐색에 시간이 오래 걸릴 수 있음 |