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