查看原文
其他

PyCaret,一个超强的 python 库

程序员小寒 程序员学长 2023-09-17

大家好,我是小寒。

今天给大家分享一个超强的 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


最后



今天的分享就到这里。如果觉得不错,点赞,转发安排起来吧。接下来我们会分享更多的 「深度学习案例以及python相关的技术」,欢迎大家关注。最后,最近新建了一个 python 学习交流群,会经常分享 「python相关学习资料,也可以问问题,非常棒的一个群」

「进群方式:加我微信,备注 “python”」



往期回顾


Fashion-MNIST 服装图片分类-Pytorch实现

python 探索性数据分析(EDA)案例分享

深度学习案例分享 | 房价预测 - PyTorch 实现

万字长文 |  面试高频算法题之动态规划系列

面试高频算法题之回溯算法(全文六千字)  

    



如果对本文有疑问可以加作者微信直接交流。进技术交流群的可以加微信拉你进群。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存