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 集成和可视化工具,用于绘制适应度曲线和参数交互关系。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目