PyCaret 2.1 特性总结
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
我们很高兴宣布 PyCaret 2.1 发布 — 这是 2020 年 8 月的更新。
PyCaret 是一个开源的低代码 Python 机器学习库,可自动化机器学习工作流程。它是一个端到端的机器学习和模型管理工具,可加快机器学习实验周期,并使您的工作效率提高 10 倍。
与其他开源机器学习库相比,PyCaret 是一个替代性的低代码库,只需少量代码即可替代数百行代码。这使得实验呈指数级地快速高效。
安装 PyCaret 非常简单,只需几分钟。我们强烈建议使用虚拟环境,以避免与其他库发生潜在冲突。请参见以下示例代码,了解如何创建 ***conda 环境***并在该 conda 环境中安装 pycaret
在 PyCaret 2.0 中,我们宣布了对某些算法(XGBoost、LightGBM 和 Catboost)的 GPU 加速训练支持。PyCaret 2.1 的新特性是您现在也可以在 GPU 上调优这些模型的超参数。
在 **tune_model** 函数中无需额外参数,因为它会自动从使用 **create_model** 函数创建的 xgboost 实例继承 tree_method。如果您对一些比较感兴趣,请看这里
在一个包含 8 个类别的多类别问题中,数据集包含 100,000 行和 88 个特征
自 PyCaret 于 2020 年 4 月首次发布以来,您只需在 Notebook 中使用 **deploy_model** 即可轻松将训练好的模型部署到 AWS。在最近的发布版本中,我们增加了支持部署到 GCP 和 Microsoft Azure 的功能。
要在 Microsoft Azure 上部署模型,必须设置连接字符串的环境变量。连接字符串可以从 Azure 存储账户的“访问密钥”中获取。
复制连接字符串后,可以将其设置为环境变量。请参见下面的示例
砰!就这么简单。只需一行代码,您的整个机器学习流程现在就已部署到 Microsoft Azure 的容器中。您可以使用load_model 函数访问它。
要在 Google Cloud Platform (GCP) 上部署模型,必须先使用命令行或 GCP 控制台创建一个项目。项目创建后,必须创建一个服务账户并将服务账户密钥下载为 JSON 文件,然后用于设置环境变量。
模型已上传。现在您可以使用 load_model 函数从 GCP 存储桶访问模型。
除了使用 PyCaret 的原生部署功能外,您现在还可以使用 MLFlow 的所有部署功能。要使用这些功能,您必须在 **setup** 函数中使用 log_experiment 参数记录您的实验。
您可以点击“Run Name” 左侧显示的“Start Time” 查看运行详情。您在里面看到的是训练模型的超参数和评估指标,如果您向下滚动一点,还会显示所有 artifact(参见下图)。
训练好的模型以及其他元数据文件存储在“/model”目录下。MLFlow 遵循一种标准格式来打包机器学习模型,这些模型可用于各种下游工具,例如通过 REST API 提供实时服务或在 Apache Spark 上进行批量推理。如果您想在本地提供此模型的服务,可以使用 MLFlow 命令行来完成。
然后您可以使用 CURL 向模型发送请求以获取预测结果。
(注意:MLFlow 的此功能暂不支持 Windows 操作系统)。
MLFlow 还提供与 AWS Sagemaker 和 Azure Machine Learning Service 的集成。您可以在 Docker 容器中以 SageMaker 兼容环境在本地训练模型,或远程在 SageMaker 上训练。要远程部署到 SageMaker,您需要设置您的环境和 AWS 用户账户。
使用 MLflow CLI 的示例工作流程
MLflow Model Registry 组件是一个集中的模型存储、API 集和用户界面,用于协作管理 MLflow 模型的完整生命周期。它提供模型沿袭(哪个 MLflow 实验和运行生成了模型)、模型版本控制、阶段转换(例如从暂存到生产)和注释。
这并非突破性进展,但对于将 PyCaret 用于研究和出版的人来说确实是一个非常有用的补充。plot_model 现在增加了一个名为“scale”的参数,通过它可以控制分辨率并生成高质量的图用于出版。
这是自第一个版本发布以来最受期待的功能之一。允许使用自定义/用户定义函数调优模型超参数为数据科学家提供了巨大的灵活性。现在可以在 **tune_model** 函数中使用 **custom_scorer** 参数来使用用户定义的自定义损失函数。
特征选择是机器学习中的一个基本步骤。你有大量特征,你想只选择相关的,并丢弃其他的。目的是通过移除无用特征来简化问题,这些特征会引入不必要的噪声。
在 PyCaret 2.1 中,我们引入了 Boruta 算法的 Python 实现(最初是用 R 实现的)。Boruta 是一种相当智能的算法,源于 2010 年,旨在自动对数据集进行特征选择。要使用它,只需在 setup 函数中传递 **feature_selection_method** 参数即可。
compare_models 函数中的 blacklist 和 whitelist 参数现已重命名为 exclude 和 include,功能不变。
为了在 compare_models 函数中设置训练时间的上限,新增了 budget_time 参数。
PyCaret 现在兼容 Pandas 的 categorical 数据类型。内部它们会被转换为 object 类型,并像 object 或 bool 一样处理。
数值填充 在 setup 函数的 numeric_imputation 中新增了 zero 方法。当 method 设置为 zero 时,缺失值将被常量 0 替换。
为了使输出更具可读性,predict_model 函数返回的 Label 列现在返回原始值而不是编码值。
点击以下链接查看文档和工作示例。
如果您以前没有听说或使用过 PyCaret,请参见我们的快速入门。
要了解如何创建服务账户,请阅读。创建服务账户并从 GCP 控制台下载 JSON 文件后,即可进行部署。
现在打开在您喜欢的浏览器中。
要了解 MLFlow 的所有部署功能,.
如果运行您自己的 MLflow 服务器,必须使用数据库支持的后端存储才能访问模型注册中心。了解更多信息。但是,如果您正在使用或任何托管的 Databricks 服务,例如,您无需担心任何设置问题。它自带您所需的所有功能。
要了解更多关于 Boruta 算法的信息,
要了解 PyCaret 2.1 的所有更新,请参见.
使用 Python 中的轻量级工作流程自动化库,您可以实现无限可能。如果您觉得这很有用,请不要忘记在我们的.
关注我们的和.