pyCaret效率倍增开源低代码的python机器学习工具
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()
# plot the data data.plot()
这个时间序列是从 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)
统计测试
check_stats()
探索性数据分析
# functional api plot_model(plot = 'ts') # object-oriented api exp.plot_model(plot = 'ts')
# cross-validation plot plot_model(plot = 'cv')
# acf plot plot_model(plot = 'acf')
# diagnostics plot plot_model(plot = 'diagnostics')
# decomposition plot plot_model(plot = 'decomp_stl')
模型训练和选择
# functional api best = compare_models() # object-oriented api best = exp.compare_models()
时间序列模块中的 create_model 就像在其他模块中一样。
# create fbprophet model prophet = create_model('prophet') print(prophet)
tune_model 也没有太大不同。
tuned_prophet = tune_model(prophet) print(tuned_prophet)
plot_model(best, plot = 'forecast')
# forecast in unknown future plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 30})
# in-sample plot plot_model(best, plot = 'insample')
# residuals plot plot_model(best, plot = 'residuals')
# diagnostics plot plot_model(best, plot = 'diagnostics')
保存模型
# finalize model final_best = finalize_model(best) # generate predictions predict_model(final_best, fh = 90)
# save the model save_model(final_best, 'my_best_model')
以上就是pycaret效率倍增开源低代码的python机器学习工具的详细内容,更多关于python机器学习工具pycaret的资料请关注其它相关文章!