mango:机器学习超参数优化利器

mango:机器学习超参数优化利器

mango Parallel Hyperparameter Tuning in Python mango 项目地址: https://gitcode.com/gh_mirrors/mango38/mango

项目介绍

Mango 是一个 Python 库,旨在帮助用户找到机器学习分类器的最优超参数。它通过并行优化连续、离散和分类值的复杂搜索空间,使得超参数调优过程更加高效。Mango 不仅易于定义与 scikit-learn 兼容的复杂搜索空间,还拥有一种新颖的、无需梯度的优化器,支持多种计算基础设施上的任务调度。

项目技术分析

Mango 的技术架构充分考虑了机器学习超参数调优的需求。它的核心功能包括:

  • 并行优化:Mango 能够在本地、集群或云基础设施上并行执行任务,大大提高了搜索效率。
  • 搜索空间定义:兼容 scikit-learn 的参数空间定义,支持整数、分类和分布等类型的搜索空间。
  • 无需梯度优化器:Mango 拥有一种新颖的梯度-free 优化器,适用于连续、离散和分类值。

项目技术应用场景

Mango 适用于多种机器学习应用场景,包括但不限于:

  • 机器学习模型训练:通过自动调优超参数,提高模型准确率。
  • 特征选择:在特征选择过程中,寻找最优的特征组合。
  • 模型性能提升:通过优化超参数,提升现有模型的性能。

项目特点

Mango 项目的特点如下:

  1. 易用性:Mango 的设计让用户能够轻松定义复杂的搜索空间,并与 scikit-learn 无缝集成。
  2. 高效性:通过并行计算,Mango 能够在短时间内找到最优超参数。
  3. 可扩展性:Mango 支持多种计算基础设施,包括本地、集群和云环境。
  4. 鲁棒性:内置的应用层故障检测机制,确保了在通用硬件上的可扩展性。
  5. 持续更新:由于在生产环境中的测试和使用,Mango 不断添加新功能,以满足用户需求。

下面,我们将通过具体的代码示例,来展示 Mango 的强大功能。

搜索空间定义

Mango 支持多种类型的搜索空间定义,包括整数、分类和分布等。

# 整数搜索空间示例
param_space = dict(x=range(-10, 11))

# 分类搜索空间示例
param_space = dict(color=['red', 'blue', 'green'])

# 分布搜索空间示例
from scipy.stats import uniform
param_space = dict(a=uniform(-1, 2))

超参数调优示例

以下是一个使用 Mango 对 KNN 分类器超参数进行调优的示例:

from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import cross_val_score
from mango import Tuner, scheduler

# 定义 KNN 分类器的搜索空间
param_space = dict(n_neighbors=range(1, 50),
                   algorithm=['auto', 'ball_tree', 'kd_tree', 'brute'])

# 定义目标函数
@scheduler.serial
def objective(**params):
    X, y = datasets.load_breast_cancer(return_X_y=True)
    clf = KNeighborsClassifier(**params)
    score = cross_val_score(clf, X, y, scoring='accuracy').mean()
    return score

# 初始化和运行调优器
tuner = Tuner(param_space, objective)
results = tuner.maximize()

print('best parameters:', results['best_params'])
print('best accuracy:', results['best_objective'])

以上代码将输出最佳的参数组合和对应的准确率。

总结而言,Mango 是一个功能强大、易于使用的机器学习超参数优化库。它通过并行计算和高效搜索算法,帮助用户快速找到最优超参数,提升机器学习模型的性能。无论是学术研究还是工业应用,Mango 都是一个值得推荐的开源项目。

mango Parallel Hyperparameter Tuning in Python mango 项目地址: https://gitcode.com/gh_mirrors/mango38/mango

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平钰垚Zebediah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值