rodrigo-arenas/Sklearn-genetic-opt

Hyperparameter optimization and feature selection for scikit-learn using evolutionary algorithms. A modern alternative to GridSearchCV and RandomizedSearchCV.

해결하는 문제

scikit-learn 모델에 대한 GridSearchCVRandomizedSearchCV의 더 스마트한 대안을 제공합니다. 여러 하이퍼파라미터를 탐색할 경우 발생하는 '조합 폭발' 문제를 해결하며, 단일 파라미터씩 탐색할 때 자주 간과되는 최적의 파라미터 상호작용(예: 학습률과 추정기 수의 상관관계)을 해결합니다.

작동 방식

이 툴킷은 유전 알고리즘을 사용하여 파라미터 구성 집단을 진화시킵니다. 고정된 그리드나 무작위 점을 검사하는 대신, 완전한 구성들을 평가하고 교차 및 변이에 대한 적응형 스케줄을 사용하여 탐색에서 활용으로 전환합니다. GASearchCV는 하이퍼파라미터 튜닝용, GAFeatureSelectionCV는 래퍼 기반 특징 선택용으로 설계되었으며, 모두 표준 scikit-learn API와 호환되는 즉시 교체 가능한 대안입니다.

대상 사용자

비용이 많이 드는 모델을 사용하는 머신러닝 실무자, 5개 이상의 상호작용하는 하이퍼파라미터(예: 그레디언트 부스팅 또는 SVM)를 가진 탐색 공간을 가진 사용자, 또는 특징 선택과 튜닝을 재현 가능한 워크플로우로 결합하고자 하는 사용자에게 적합합니다.

주요 기능

  • scikit-learn 호환성: GridSearchCV와 동일한 fit/predict 인터페이스를 사용하여 쉽게 통합 가능.
  • 혼합 탐색 공간: 정수, 연속형(균일 또는 로그균일), 범주형 타입을 동시에 지원.
  • 스마트 초기화: 라틴 하이퍼큐브 초기화 및 웜스타트 구성으로 초기 집단 품질 향상.
  • 조기 중단: ConsecutiveStoppingTimerStopping과 같은 콜백을 통해 수렴 또는 시간 제한 시 탐색 종료.
  • 실험 추적: 내장된 MLflow 통합 및 피트니스 곡선, 파라미터 상호작용 시각화 도구 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트