“ 我们激动的宣布,PyCaret第二版今天发布!”
官网链接:https://pycaret.org/
PyCaret是一个开源的,低代码的Python机器学习库,旨在自动化机器学习工作流。它是端到端的机器学习和模型管理工具。它可以加速机器学习的实验周期,提高你的效率。
和其他开源机器学习库相比,PyCaret是低代码的。它可以用几个单词取代上百行代码。这大大提高了实验的速度和效率。在版本说明release notes 中查看PyCaret 2.0的更多细节。
为什么要用PyCaret
PyCaret 2.0 功能
数据准备 模型训练 超参数调优(从左到右)
分析和截图 模型选择 实验日志记录(从左到右)
安装PyCaret 2.0
安装PyCaret非常简单,只需要几分钟时间。我们强烈建议使用虚拟环境,以避免和其他库的潜在冲突。以下示例代码创建了一个conda环境,并在该conda环境下安装pycaret
如果你使用Azure notebook或者Google Colab,运行下列代码安装PyCaret
所有的依赖项会在使用pip安装PyCaret时自动安装。点击Click here这里查看完整的依赖列表。
开始PyCaret 2.0
在PyCaret中,任何机器学习实验的第一步是配置环境。这需要导入相关模型并通过传递数据框(dataframe)和目标变量的名字来初始化配置函数。示例代码如下:
输出示例:
输出片段
所有的预处理变换在配置函数中被调用。PyCaret提供了超过20种不同的,可在配置函数内调用的预处理变换。点击这里 Click here 了解PyCaret更多的预处理能力。
- 样本和划分:训练/测试划分;采样
- 数据准备:缺失数据补全;独热编码;内在顺序编码;Cardinal编码;不平衡修正
- 缩放和转换:归一化;转换
- 特征工程:特征交互;多项式特征;组特征;二元数值特征
- 特征选择:特征重要性;共线性移除;PCA;忽略低方差
- 无监督:创建聚类;异常移除
https://www.pycaret.org/preprocessing
模型比较
这是所有监督学习模型任务中,我们推荐的第一步。该函数会使用模型的默认超参数来训练所有模型,并通过交叉检验来评估性能。它返回一个已训练的模型的对象类。可使用的评估测度包括:
- 分类:准确度,AUC,召回率,精确率,F1,Kappa,MCC
- 回归:MAE, MSE, RMSE, R2, RMSLE, MAPE
这里有几种使用 compare_models 函数的方法:
输出示例:
模型创建
模型创建函数使用默认超参数训练模型并使用交叉验证评估模型性能。该函数是几乎所有其他PyCaret函数的底。它返回训练模型对象类。以下是几种模型使用方法:
输出示例:
create_model函数的输出示例
要了解更多关于模型创建函数,点击这里 click here.
模型调优
模型调优函数以估计器的形式调优模型超参数。它在预设定的调优网格( 可完全定制化 )上进行随机网格搜索。以下是几种函数使用方法:
要了解更多模型调优函数,点击这里click here.
模型集成
有几种函数可用于集成底学习器。ensemble_model, blend_models 和stack_models是其中三种。以下是几种函数使用方法:
要了解更多模型集成函数,点击这里click here.
模型预测
和名字一样,该函数用于推理/预测。以下是使用方法:
模型作图
模型作图函数可用于评估训练已完成的机器学习模型的性能评估。示例如下:
plot_model函数的输出示例
另外,你可以在notebook的用户交互界面中使用 evaluate_model 函数来查看图
PyCaret中的 evaluate_model函数
Util函数
PyCaret 2.0包括了几种新的util函数。当你在PyCaret中管理机器学习实验时可以方便的使用。其中一些如下所示:
在发布说明 release notes. 中查看PyCaret 2.0中所有的新函数,
Experiment日志
PyCaret 2.0以后端API的形式嵌入了机器学习工作流的追踪组件,并提供UI在你运行机器学习代码时记录参数,代码版本,度量以及输出文件,以供之后的结果可视化。你可以如下记录你PyCaret中的实验:
输出(在 localhost:5000 )
整合——创建你自己的AutoML软件
通过使用这些函数,让我们创建一个简单的命令行软件来使用默认参数来训练多个模型,对最好的几个候选模型进行超参数调优,尝试不同的集成技术并返回/保存最优模型。以下是命令行脚本:
该脚本动态选择并保存最佳模型。只需要短短几行代码,你就开发好了自己的AutoML软件,还带有完整的日志系统和漂亮榜单的UI界面。
通过这个轻量级工作流自动化Python库,你可以完成无限可能。