pyCaret效率倍增开源低代码的python机器学习工具

作者:Python学习与数据挖掘 时间:2021-01-09 10:30:26 

PyCaret 是一个开源、低代码的 Python 机器学习库,可自动执行机器学习工作流。它是一种端到端的机器学习和模型管理工具,可以以指数方式加快实验周期并提高您的工作效率。欢迎收藏学习,喜欢点赞支持,文末提供技术交流群。

与其他开源机器学习库相比,PyCaret 是一个替代的低代码库,可用于仅用几行代码替换数百行代码。 这使得实验速度和效率呈指数级增长。 PyCaret 本质上是围绕多个机器学习库和框架(例如 scikit-learn、XGBoost、LightGBM、CatBoost、spaCy、Optuna、Hyperopt、Ray 等)的 Python 包装器。

PyCaret 的设计和简单性受到数据科学家这一新兴角色的启发,可以执行以前需要更多技术专长的简单和中等复杂的分析任务。

PyCaret 时间序列模块

PyCaret 的新时间序列模块现已提供测试版。 秉承 PyCaret 的简单性,它与现有的 API 保持一致,并带有很多功能。 统计测试、模型训练和选择(30 多种算法)、模型分析、自动超参数调优、实验记录、云部署等, 所有这一切只需要几行代码(就像 pycaret 的其他模块一样)。 如果您想尝试一下,请查看官方的快速入门笔记本。

您可以使用 pip 安装此库。 如果你在同一个环境中安装了 PyCaret,由于依赖冲突,你必须为 pycaret-ts-alpha 创建一个单独的环境。


pip install pycaret-ts-alpha

接下来安排如下

PyCaret 的时间序列模块中的工作流程非常简单。 它从设置功能开始,您可以在其中定义预测范围 fh 和折叠次数。 您还可以将 fold_strategy 定义为扩展或滑动。

设置后,著名的 compare_models 函数训练和评估从 ARIMA 到 XGboost(TBATS、FBProphet、ETS 等)的 30 多种算法。

plot_model 函数可以在训练之前或之后使用。 在训练前使用时,它使用 plotly 界面收集了大量时间序列 EDA 图。 与模型一起使用时,plot_model 处理模型残差,并可用于访问模型拟合。

最后,predict_model 用于生成预测。

加载数据


import pandas as pd
from pycaret.datasets import get_data
data = get_data('pycaret_downloads')
data['Date'] = pd.to_datetime(data['Date'])
data = data.groupby('Date').sum()
data = data.asfreq('D')
data.head()

pyCaret效率倍增开源低代码的python机器学习工具


# plot the data
data.plot()

pyCaret效率倍增开源低代码的python机器学习工具

这个时间序列是从 pip 每天下载 PyCaret 库的次数。

初始化设置


# with functional API
from pycaret.time_series import *
setup(data, fh = 7, fold = 3, session_id = 123)
# with new object-oriented API
from pycaret.internal.pycaret_experiment import TimeSeriesExperiment
exp = TimeSeriesExperiment()
exp.setup(data, fh = 7, fold = 3, session_id = 123)

pyCaret效率倍增开源低代码的python机器学习工具

统计测试


check_stats()

pyCaret效率倍增开源低代码的python机器学习工具

探索性数据分析


# functional API
plot_model(plot = 'ts')
# object-oriented API
exp.plot_model(plot = 'ts')

pyCaret效率倍增开源低代码的python机器学习工具


# cross-validation plot
plot_model(plot = 'cv')

pyCaret效率倍增开源低代码的python机器学习工具


# ACF plot
plot_model(plot = 'acf')

pyCaret效率倍增开源低代码的python机器学习工具


# Diagnostics plot
plot_model(plot = 'diagnostics')

pyCaret效率倍增开源低代码的python机器学习工具


# Decomposition plot
plot_model(plot = 'decomp_stl')

pyCaret效率倍增开源低代码的python机器学习工具

模型训练和选择


# functional API
best = compare_models()
# object-oriented API
best = exp.compare_models()

pyCaret效率倍增开源低代码的python机器学习工具

时间序列模块中的 create_model 就像在其他模块中一样。


# create fbprophet model
prophet = create_model('prophet')
print(prophet)

pyCaret效率倍增开源低代码的python机器学习工具

pyCaret效率倍增开源低代码的python机器学习工具

tune_model 也没有太大不同。


tuned_prophet = tune_model(prophet)
print(tuned_prophet)

pyCaret效率倍增开源低代码的python机器学习工具


plot_model(best, plot = 'forecast')

pyCaret效率倍增开源低代码的python机器学习工具


# forecast in unknown future
plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 30})

pyCaret效率倍增开源低代码的python机器学习工具


# in-sample plot
plot_model(best, plot = 'insample')

pyCaret效率倍增开源低代码的python机器学习工具


# residuals plot
plot_model(best, plot = 'residuals')

pyCaret效率倍增开源低代码的python机器学习工具


# diagnostics plot
plot_model(best, plot = 'diagnostics')

pyCaret效率倍增开源低代码的python机器学习工具

保存模型


# finalize model
final_best = finalize_model(best)
# generate predictions
predict_model(final_best, fh = 90)

pyCaret效率倍增开源低代码的python机器学习工具


# save the model
save_model(final_best, 'my_best_model')

pyCaret效率倍增开源低代码的python机器学习工具

来源:https://blog.csdn.net/weixin_38037405/article/details/121441488

标签:机器学习,工具,pycaret
0
投稿

猜你喜欢

  • 升级和卸载Oracle数据库软件的命令整理

    2024-01-16 18:15:37
  • django表单实现下拉框的示例讲解

    2022-03-24 09:18:25
  • Python实现猜拳与猜数字游戏的方法详解

    2022-06-17 18:32:25
  • Python中利用xpath解析HTML的方法

    2023-10-02 06:55:02
  • Python控制windows系统音量实现实例

    2022-07-29 12:09:46
  • python安装sklearn模块的方法详解

    2023-08-01 17:23:48
  • Python利用pandas处理Excel数据的应用详解

    2022-02-08 16:25:02
  • ext3下删除mysql数据库的数据恢复案例

    2009-05-13 14:39:00
  • javascript中的后退和刷新实现方法

    2023-08-23 09:36:45
  • Pandas实现批量拆分与合并Excel的示例代码

    2022-06-07 22:36:28
  • MySQL的常见存储引擎介绍与参数设置调优

    2024-01-16 15:08:07
  • Python3网络爬虫中的requests高级用法详解

    2023-02-05 16:54:52
  • ubuntu 18.04搭建python环境(pycharm+anaconda)

    2023-09-23 20:01:56
  • Python操作PDF实现制作数据报告

    2022-05-09 21:41:51
  • Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例

    2024-01-21 07:55:04
  • MYSQL建立外键失败几种情况记录Can't create table不能创建表

    2024-01-22 19:57:22
  • 使用Python实现一个栈判断括号是否平衡

    2022-01-04 02:20:29
  • python之列表推导式的用法

    2021-04-22 18:54:59
  • Python虚拟环境的创建和使用详解

    2022-09-14 18:05:26
  • python+matplotlib绘制旋转椭圆实例代码

    2022-05-28 04:51:44
  • asp之家 网络编程 m.aspxhome.com