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 模型提供比 GridSearchCV 和 RandomizedSearchCV 更智慧的替代方案。解決在搜尋大量超參數時產生的「組合爆炸」問題,同時解決單一參數逐一搜尋常忽略的最優參數交互關係(例如學習率與估計器數量之間的聯合關係)。
工作原理
該工具包使用遺傳演算法來進化參數配置的族群。與檢查固定網格或隨機點不同,它評估完整的配置,並使用自適應的交叉與變異排程,從探索階段平滑過渡到利用階段。它包含 GASearchCV 用於超參數調校,以及 GAFeatureSelectionCV 用於基於包裝器的特徵選擇,兩者均設計為標準 scikit-learn API 的即插即用替代品。
適用對象
適用於訓練成本高昂的模型、搜尋空間中包含五個或更多相互作用的超參數(如梯度提升或 SVM)的機器學習實務者,或需要將特徵選擇與調校結合成可重現工作流程的使用者。
主要亮點
- scikit-learn 兼容:使用與
GridSearchCV相同的fit/predict接口,便於整合。 - 混合搜尋空間:可同時支援整數、連續型(均勻或對數均勻)和分類類型。
- 智能初始化:使用拉丁超立方體播種和熱啟動配置,提升初始族群品質。
- 早期停止:支援
ConsecutiveStopping和TimerStopping等回呼,可在收斂或達到時間限制時終止搜尋。 - 實驗追蹤:內建 MLflow 集成與視覺化工具,用於繪製適應度曲線與參數交互關係。
相關
- 專案
- 專案
- 專案
- 專案
- 專案