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 的即插即用替代品。

適用對象

適用於訓練成本高昂的模型、搜尋空間中包含五個或更多相互作用的超參數(如梯度提升或 SVM)的機器學習實務者,或需要將特徵選擇與調校結合成可重現工作流程的使用者。

主要亮點

  • scikit-learn 兼容:使用與 GridSearchCV 相同的 fit/predict 接口,便於整合。
  • 混合搜尋空間:可同時支援整數、連續型(均勻或對數均勻)和分類類型。
  • 智能初始化:使用拉丁超立方體播種和熱啟動配置,提升初始族群品質。
  • 早期停止:支援 ConsecutiveStoppingTimerStopping 等回呼,可在收斂或達到時間限制時終止搜尋。
  • 實驗追蹤:內建 MLflow 集成與視覺化工具,用於繪製適應度曲線與參數交互關係。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案