더북(TheBook)
>>> hs = hs.fit(X_train, y_train)
>>> print(hs.best_score_)
0.9617647058823529
>>> print(hs.best_params_)
{'svc__C': 4.934834261073341, 'svc__kernel': 'linear'}
>>> clf = hs.best_estimator_
>>> print(f'테스트 정확도: {hs.score(X_test, y_test):.3f}')
테스트 정확도: 0.982

HalvingRandomSearchCV 모델과 이전 절의 GridSearchCV, RandomizedSearchCV와 비교하면 테스트 세트에서 조금 더 성능이 낫습니다(98.2% vs 97.4%).

Note ≡ hyperopt를 사용한 하이퍼파라미터 튜닝


인기 있는 하이퍼파라미터 최적화 라이브러리 중 하나는 hyperopt(https://github.com/hyperopt/hyperopt)입니다. 랜덤 서치와 TPE(Tree-structured Parzen Estimators) 메서드를 포함하여 여러 종류의 하이퍼파라미터 최적화 방법을 제공합니다. TPE는 하이퍼파라미터 평가를 독립적인 이벤트로 간주하지 않고 이전의 하이퍼파라미터 평가와 성능 점수를 기반으로 지속적으로 업데이트하는 확률 모델 기반의 베이즈 최적화 방법입니다. TPE에 대한 자세한 내용은 논문11을 참고하세요.

hyperopt는 하이퍼파라미터 최적화를 위한 범용적인 인터페이스를 제공합니다. 이에 반해 사이킷런에 특화된 패키지인 hyperopt-sklearn(https://github.com/hyperopt/hyperopt-sklearn)도 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.