rodrigo-arenas/Sklearn-genetic-opt

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

解决的问题

sklearn-genetic-opt 为标准 scikit-learn 搜索工具(如 GridSearchCV 和 RandomizedSearchCV)提供了一种进化替代方案。它解决了在大型、混合搜索空间中找到最优超参数和特征子集的问题,在这些空间中参数可能相互作用,使得穷举网格搜索不切实际,随机搜索效率低下。

工作原理

该工具包使用遗传算法来优化 scikit-learn 模型。它评估完整的参数配置(个体),并通过重组和变异,利用最有希望的候选者来指导后续世代的进化。

关键机制包括:

  • GASearchCV:一个兼容 scikit-learn 的超参数调优搜索工具。
  • GAFeatureSelectionCV:一种基于包装器的选择器,通过交叉验证评估特征子集。
  • 自适应搜索:交叉和变异率随世代调整,从探索转向利用。
  • 智能初始化:使用拉丁超立方体播种和估计器默认值来多样化初始种群。

适用人群

需要可复现工作流进行联合特征选择和超参数调优的机器学习从业者,尤其是在处理混合参数类型(整数、连续、分类)和疑似参数交互时。

亮点

  • Scikit-learn API:完全兼容 fit、predict 和 best_params_。
  • 混合搜索空间:同时支持整数、连续和分类类型。
  • 早停:包括 ConsecutiveStopping 和 TimerStopping 等回调,自动结束搜索。
  • 实验跟踪:内置与 MLflow 的集成,将候选者记录为子运行。
  • 可视化:提供内置的适应度进化、参数交互和搜索概览仪表板图。
  • 并行执行:通过 n_jobs 支持并行评估候选者或折叠。

相关

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