程序员学长 | PyCaret,一个超强的 python 库

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。

原文链接:PyCaret,一个超强的 python 库

今天给大家分享一个超强的 python 库,PyCaret。

https://github.com/pycaret/pycaret

简介

PyCaret 是一个开源的、低代码的 Python 机器学习库,可自动化机器学习工作流程。

它是一种端到端的机器学习和模型管理工具,可以成倍地加快实验周期并提高你的工作效率。

与其他开源机器学习库相比,PyCaret 是一个替代的低代码库,可以用几行代码替换数百行代码。这使得实验的速度和效率呈指数级增长。

PyCaret 本质上是多个机器学习库和框架的 Python 包装器,例如 scikit-learn、XGBoost、LightGBM、CatBoost、Optuna、Hyperopt、Ray 等。

PyCaret 的设计和简单性受到了公民数据科学家这一新兴角色的启发,该术语由 Gartner 首次使用。

公民数据科学家是高级用户,他们可以执行简单和中等复杂的分析任务,而这些任务以前需要更多的技术专业知识。

初体验

安装

你可以使用 Python 的 pip 包管理器安装 PyCaret。

pip install pycaret
快速入门

PyCaret 具有 「函数式API和面向对象的API」两种形式。

函数式API
# Classification Functional API Example

# loading sample dataset
from pycaret.datasets import get_data
data = get_data('juice')

# init setup
from pycaret.classification import *
s = setup(data, target = 'Purchase', session_id = 123)

# model training and selection
best = compare_models()

# evaluate trained model
evaluate_model(best)

# predict on hold-out/test set
pred_holdout = predict_model(best)

# predict on new data
new_data = data.copy().drop('Purchase', axis = 1)
predictions = predict_model(best, data = new_data)

# save model
save_model(best, 'best_pipeline')
面向对象的API
# Classification OOP API Example

# loading sample dataset
from pycaret.datasets import get_data
data = get_data('juice')

# init setup
from pycaret.classification import ClassificationExperiment
s = ClassificationExperiment()
s.setup(data, target = 'Purchase', session_id = 123)

# model training and selection
best = s.compare_models()

# evaluate trained model
s.evaluate_model(best)

# predict on hold-out/test set
pred_holdout = s.predict_model(best)

# predict on new data
new_data = data.copy().drop('Purchase', axis = 1)
predictions = s.predict_model(best, data = new_data)

# save model
s.save_model(best, 'best_pipeline')
使用面向对象API实现时间序列分析

这里使用的数据集是 pycaret 自带的数据集 airline

# load dataset
from pycaret.datasets import get_data
data = get_data('airline')
data

 接着看:

# init setup
from pycaret.time_series import TSForecastingExperiment
s = TSForecastingExperiment()
s.setup(data,fh = 3,session_id = 123,n_jobs=1)
best=s.compare_models()

如下图所示,可以看到 STLF 模型的效果最好,下面我们来看一下预测的效果。

s.plot_model(best,plot = 'forecast')

# forecast plot 36 days out in future
s.plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 36})

在 GPU 上训练

要想在 GPU 上训练模型,只需在 setup 函数中传递 use_gpu = True 即可。

API 的使用没有发生变化;但是,在某些情况下,必须安装额外的库。

你可以在 GPU 上训练以下模型:

  • Extreme Gradient Boosting

  • CatBoost

  • Logistic 回归、岭分类器、随机森林、K 邻域分类器、K 邻域回归器、支持向量机、线性回归、岭回归、套索回归。

  • Light Gradient Boosting Machine

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值