PerpetualBooster 使用教程
1. 项目介绍
PerpetualBooster 是一个无需超参数优化的梯度提升机(GBM)算法。它类似于 AutoML 库,拥有一个 budget
参数。增加 budget
参数可以提升算法的预测能力,并在未见数据上获得更好的结果。从较小的预算(如 0.5)开始,并在对特征有信心后逐渐增加(如 1.0)。如果进一步增加 budget
后没有看到改进,意味着您已经从数据中提取了最大的预测能力。
2. 项目快速启动
以下是如何使用 PerpetualBooster 的基本示例。确保您已经通过 pip install perpetual
安装了 Python 包。
from perpetual import PerpetualBooster
# 初始化模型
model = PerpetualBooster(objective="SquaredLoss", budget=0.5)
# 拟合模型
model.fit(X, y)
在上述代码中,X
是特征矩阵,y
是目标向量。
3. 应用案例和最佳实践
3.1 回归任务案例
以加利福尼亚住房数据集为例,以下是 PerpetualBooster 与 Optuna + LightGBM 的性能对比:
| Perpetual budget | LightGBM n_estimators | Perpetual mse | LightGBM mse | Speed-up wall time | Speed-up cpu time | |------------------|-----------------------|---------------|--------------|--------------------|-------------------| | 1.0 | 100 | 0.192 | 0.192 | 54x | 56x | | 1.5 | 300 | 0.188 | 0.188 | 59x | 58x | | 2.1 | 1000 | 0.185 | 0.186 | 42x | 41x |
3.2 分类任务案例
以下是以 Cover Types 数据集为例,PerpetualBooster 与 AutoGluon 的性能对比:
| OpenML Task | Perpetual Training Duration | Perpetual Inference Duration | Perpetual AUC | AutoGluon Training Duration | AutoGluon Inference Duration | AutoGluon AUC | |------------------|-----------------------------|----------------------------|---------------|-----------------------------|----------------------------|---------------| | BNG(spambase) | 70.1 | 2.1 | 0.671 | 73.1 | 3.7 | 0.669 | | BNG(trains) | 89.5 | 1.7 | 0.996 | 106.4 | 2.4 | 0.994 | | ... | ... | ... | ... | ... | ... | ... |
4. 典型生态项目
目前,PerpetualBooster 项目主要使用 Rust 和 Python 两种语言开发,其中 Rust 占比 71.6%,Python 占比 18.5%。该项目欢迎贡献者加入,详细信息可以在项目的 CONTRIBUTING.md
文件中找到。
以上就是 PerpetualBooster 的使用教程,希望对您有所帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考