PyCaret是用于机器学习的Python编程语言中最有用和最流行的库之一。这种流行背后的原因是,它由简单而高效的分类、回归、聚类、降维、模型选择等工具组成。2022年1月12日,PyCaret的新版本PyCaret 2.3.6发布,具有新的令人兴奋的功能。在这篇文章中,我们已经涵盖了PyCaret新版本中包含的所有有用和重要的更新和错误修复。本文要讨论的主要内容列举如下。
目录
- 什么是PyCaret?
- 新增功能
- 错误修复
让我们先来简单讨论一下PyCaret。
什么是PyCaret?
PyCaret是一个Python开源机器学习库,目的是在机器学习实验和开发的周期内使用低代码和低数量的假设来获得洞察力。 使用这个库,我们可以有效地执行端到端的机器学习实验,而不需要消耗这么多时间。正如我们所讨论的,使用这个库的一个最重要的优势是,我们只需要很少的代码就可以执行任何机器学习实验。PyCaret的这一优势使我们能够以一种非常灵活的方式进行高度复杂的机器学习实验。
PyCaret的另一个优势是它使用起来非常简单,使用这个库进行的操作会自动存储在PyCaret管道中,该管道是为模型的发展而完全协调的。这个库提供的设施可以让我们在很短的时间内完成从数据分析到模型开发和部署。PyCaret还可以帮助实现许多任务的自动化,如添加缺失值或转换分类数据,设计当前的特征,或优化当前数据中的超参数。
在谈到集成时,我们可以将这个库与许多支持Python的环境集成,如Microsoft Power BI、Tableau、Alteryx和KNIME。在下面的列表中,有一些可以使用这个库进行的任务的例子:
- 数据准备
- 训练一个模型
- 在模型中进行超参数调优
- 创建分析和推导可解释性
- 模型选择
- 实验记录
我们可以使用下面这行代码来安装这个库:
!pip install pycaret[full]
在这篇文章中,我们将讨论PyCaret的新版本2.3.6所带来的新的更新(新功能或错误修复)。因此,任何预装的PyCaret版本都可以使用下面这行命令进行升级:
pip install --upgrade PyCaret
要知道PyCaret的版本,我们可以使用以下几行代码:
from PyCaret.utils import version
version()
现在,有了新版本的PyCaret,我们就可以使用PyCaret的以下新更新(新功能,错误修复):

(来源)
在文章的下一节,我们将讨论在新的更新中加入的新特性和功能。
新增功能
在PyCaret的新版本中,加入了以下新功能:
- create_app创建Gradio应用程序的基本版本:在我们之前的一篇文章中,我们已经看到了如何为机器学习创建一个基于Web的GUI应用程序,其中我们使用了sklearn库来制作机器学习模型。利用PyCaret的这一特性,我们现在可以为使用PyCaret库开发的回归和分类模型创建基于网络的应用程序。下面给出的代码可以用来实现这个新功能。
from pycaret.datasets import get_data
data = get_data('diamond')
from pycaret.regression import *
s = setup(data, target = 'Price', silent=True)
dt = create_model('dt')
create_app(dt)
输出:

- create_docker用于生成requirements.txt和Dockerfile文件。在 与机器学习模型相关的任何项目的开发和部署中,如果使用GitHub,requirements.txt;如果使用docker,docker文件是项目的骨干部分。这些文件可以使用PyCaret的这个新功能轻松生成。下面给出的代码可以用来可以用来实现上述创建的模型的这个新功能:
# create API
create_api(dt, 'my_api')
# create Docker
create_docker('my_api')
输出:

- create_api用于制作回归和分类模型的API。使 用这个新功能,PyCaret库使我们能够为使用PyCaret库构建的回归和分类模型快速生成API。这里可以找到一个实现的例子。下面给出的代码可用于实现上述创建的模型的这个新功能:
create_api(dt, 'my_api')
!python my_api.py
输出:

- check_fairness。 公平性指的是纠正算法偏差的各种尝试。使用PyCaret的这个新功能,我们可以检查使用PyCaret建立的回归和分类模型上的变量是否公平。 下面给出的代码可以用来实现这个新功能。
from pycaret.datasets import get_data
data = get_data('income')
from pycaret.classification import *
s = setup(data, target = 'income >50K', session_id = 123)
lightgbm = create_model('lightgbm')
check_fairness(lightgbm, ['sex', 'race'])
输出:

- 仪表板 :大多数时候,我们发现机器学习模型是黑箱技术,为了开发,需要关于模型的每个小细节,而提取这些细节是机器学习的复杂部分之一。PyCaret中的这一更新允许我们获得关于模型的细节,如特征的重要性。 下面给出的代码可以用来实现这个新功能。
dashboard(lightgbm, display_format='inline')
输出:

- grid_interval: 这是一个新功能,可以帮助阈值优化,控制模型的迭代次数。下面给出的代码可以用来实现这个新功能。
optimize_threshold(lightgbm)
输出:

在这一节中,我们介绍了PyCaret库的一些新增功能,这无疑使该库更加方便用户。库中有一些小的错误,在新的更新中也得到了修复。在下一节中,我们将看到一些重要的错误,这些错误现在已经被修复。
错误修复
下面是新版本中一些重要的错误修复:
- 自定义日志级别 :在这个修复中,他们在PyCaret.internal.logging模块中增加了CUSTOM_LOGGING_LEVEL变量。现在,利用这个修复,我们可以设置一个系统环境变量来处理日志级别。
- 认证字典中的可选路径:这 个修正现在允许我们在AWS中加载具有特定路径的模型。如果在开发过程中不考虑任何路径,用于建模的代码的行为将与之前的行为相同。
- PCA中的t-SNE图: 在这次修复之前,当我们试图使用PCA设置在聚类中制作t-SNE图时,有一些关键错误。现在这个问题已经解决了,当设置中PCA=True时,我们可以在聚类中制作at-SNE图。
- display_format(streamlit)中与非黄色砖块图的渲染有关的问题已被修复。
- 在所有的问题中,有一些关于PyCaret相关的教程文档的抱怨,现在已经得到了修复,现在我们可以找到所有的教程,并有很好的解释。
在这一节中,我们讨论了之前有哪些重要的问题,随着新的更新,库的贡献者已经尝试并解决了这些问题。
最后的话
在这篇文章中,我们已经看到了PyCaret是什么。他们在这里宣布PyCaret 2.3.6是他们的新版本,他们在上面承诺了许多额外的功能,也对一些重要问题进行了修复。使用这些功能和更新,该库变得比以前更有用。
参考文献