机器之心:几行代码搞定ML模型,低代码机器学习Python库正式开源( 二 )



get_data 的输出 。
PyCaret 可以直接处理 Pandas 数据帧 。
环境配置
在 PyCaret 中执行任意机器学习实验的第一步都是 , 通过导入所需模块并初始化 setup() 来设置环境 。 如下示例中使用的模块是 pycaret.classification 。
模块导入后 , 将通过定义数据结构「糖尿病」和目标变量「类变量」来初始化 setup() 。
from *pycaret.classification* import ***exp1 = *setup*(diabetes, target = 'Class variable')
机器之心:几行代码搞定ML模型,低代码机器学习Python库正式开源
本文插图

所有预处理的步骤都会应用至 setup() 中 , PyCaret 拥有 20 余项功能可运用于 ML 相关的数据准备 , 例如根据 setup 函数中定义的参数来创建 Transformation pipeline , 同时也会自动协调 Pipeline 中所有的相关性及依赖关系 。 这样面对测试或者未见过的数据集 , 用户无需再手动管理或是调整执行的顺序 。
PyCaret 的 Pipeline 可轻松地在各环境之间相互迁移 , 比如大规模运行或是轻松部署到生产环境中 。 下图展示了 PyCaret 首次发布时可用的预处理功能:
机器之心:几行代码搞定ML模型,低代码机器学习Python库正式开源
本文插图

PyCaret 的预处理功能 。
数据预处理是机器学习的必要步骤 , 比如当初始化 setup() 时 , 缺失值填充、分类变量编码、标签编码(将 yes or no 转化为 1 or 0)以及 train-test-split 会自动执行 。
模型比较
这是监督机器学习实验(分类或回归模块)应该进行的第一步 。 compare_models 函数训练模型库中的所有模型 , 并使用 k 折交叉验证(默认 k=10)来比较常见的评估指标 。 所使用的评估指标如下所示:
分类模块:准确度、AUC、Recall、精度、F1 和 Kappa;
回归模块:MAE、MSE、RMSE、R2、RMSLE 和 MAPE 。
*compare_models*()
机器之心:几行代码搞定ML模型,低代码机器学习Python库正式开源
本文插图

compare_models() 函数的输出 。 Output from compare_models( ) function
默认使用 10 折交叉验证来评估指标 , 可以通过改变 fold 参数值来改变评估结果 。 默认使用精度值(由高到低)来分类 table , 同样可以通过改变 sort 参数值来改变分类结果 。
模型创建
在 PyCaret 的任何模块中 , 创建模型就像编写 create_model 一样简单 , 它只需要一个参数 , 即作为字符串输入来传递的模型名称 。 此函数返回具有 k 折交叉验证分数和训练好的模型对象的表格 。
adaboost = *create_model*('adaboost')
机器之心:几行代码搞定ML模型,低代码机器学习Python库正式开源
本文插图

变量「adaboost」存储一个由*create_model*函数返回的训练模型对象 , 该对象是 scikit 学习估计器 。 可以通过在变量后使用标点(.)来访问训练对象的原始属性 。 参见下面的示例:
机器之心:几行代码搞定ML模型,低代码机器学习Python库正式开源
本文插图

训练好的模型对象的属性 。
PyCaret 有 60 多个开源即用型算法 。
模型调优
tune_model 函数用于自动调优机器学习模型的超参数 。 PyCaret 在预定义的搜索空间上使用随机网格搜索 。 此函数返回具有 k 折交叉验证分数和训练好的模型对象的表格 。
tuned_adaboost = tune_model('ada')
机器之心:几行代码搞定ML模型,低代码机器学习Python库正式开源
本文插图
【机器之心:几行代码搞定ML模型,低代码机器学习Python库正式开源】


推荐阅读