🚀 快速开始
PyCaret 3.0-rc 现已推出。运行 pip install --pre pycaret
进行尝试。查看这个示例 Notebook。
简介
选择您的用例:
分类
PyCaret的分类模块是一个监督式机器学习模块,用于将元素分类到不同的组中。其目标是预测分类的类别标签,这些标签是离散且无序的。一些常见的用例包括预测客户违约(是或否)、预测客户流失(客户会离开还是留下)、检测到的疾病(阳性或阴性)。该模块可用于二元或多类问题。它提供了多种预处理功能,通过setup函数为建模准备数据。它拥有超过18种现成的算法和多个图表来分析训练模型的性能。
设置
此函数初始化训练环境并创建转换流水线。在执行任何其他函数之前,必须先调用设置函数。它有两个必填参数:data
和 target
。所有其他参数都是可选的。
from pycaret.datasets import get_data
data = get_data('diabetes')
from pycaret.classification import *
s = setup(data, target = 'Class variable')
当执行setup
时,PyCaret的推理算法将根据某些属性自动推断所有特征的数据类型。数据类型应该被正确推断,但这并不总是情况。为了处理这个问题,PyCaret会显示一个提示,询问数据类型是否正确,一旦您执行了setup
。如果所有数据类型都正确,您可以按回车键,或者输入quit
退出设置。
在PyCaret中确保数据类型正确非常重要,因为它会自动执行多个特定于类型的预处理任务,这对机器学习模型至关重要。
或者,您也可以在setup
中使用numeric_features
和categorical_features
参数预定义数据类型。
比较模型
此函数使用交叉验证训练和评估模型库中所有可用的估计器的性能。此函数的输出是一个带有平均交叉验证分数的评分表。可以使用get_metrics
函数访问CV期间评估的指标。可以使用add_metric
和remove_metric
函数添加或删除自定义指标。
best = compare_models()
print(best)
分析模型
此函数分析在测试集上训练模型的性能。在某些情况下,可能需要重新训练模型。
evaluate_model(best)
evaluate_model
只能在Notebook中使用,因为它使用了ipywidget
。您也可以使用plot_model
函数单独生成图表。
plot_model(best, plot = 'auc')
plot_model(best, plot = 'confusion_matrix')
预测
此函数使用训练好的模型预测Label
和Score
(预测类别的概率)。当data
为None时,它会在测试集上(在setup
函数中创建)预测标签和分数。
predict_model(best)
评估指标是在测试集上计算的。第二个输出是包含测试集上预测的pd.DataFrame
(请参阅最后两列)。要在未见过的(新的)数据集上生成标签,只需将数据集传递给predict_model
函数
predictions = predict_model(best, data=data)
predictions.head()
Score
表示预测类别的概率(而不是正类)。如果标签为0且分数为0.90,则表示类别0的概率为90%。如果要查看两个类别的概率,只需在predict_model
函数中传递raw_score=True
。
predictions = predict_model(best, data=data, raw_score=True)
predictions.head()
保存模型
save_model(best, 'my_best_pipeline')
将模型加载回环境:
loaded_model = load_model('my_best_pipeline')
print(loaded_model)
回归
PyCaret的回归模块是一个监督式机器学习模块,用于估计因变量(通常称为“结果变量”或“目标”)与一个或多个自变量(通常称为“特征”、“预测变量”或“协变量”)之间的关系。回归的目标是预测连续值,比如预测销售额、预测数量、预测温度等。它提供了几种预处理功能,通过setup函数为建模准备数据。它拥有超过25种可供使用的算法和多个图表来分析训练模型的性能。
设置
此函数初始化训练环境并创建转换流水线。在执行任何其他函数之前,必须调用设置函数。它有两个必填参数:data
和 target
。所有其他参数都是可选的。
from pycaret.datasets import get_data
data = get_data('insurance')
from pycaret.regression import *
s = setup(data, target = 'charges')
当执行setup
时,PyCaret的推断算法将根据某些属性自动推断所有特征的数据类型。数据类型应该被正确推断,但这并不总是如此。为了处理这个问题,PyCaret会显示一个提示,询问数据类型是否正确,一旦您执行setup
。如果所有数据类型都正确,您可以按回车键,或者输入quit
退出设置。
在PyCaret中确保数据类型正确非常重要,因为它会自动执行多个特定于类型的预处理任务,这对于机器学习模型至关重要。
或者,您也可以在setup
中使用numeric_features
和categorical_features
参数预定义数据类型。
比较模型
此函数使用交叉验证训练和评估模型库中所有可用估计器的性能。此函数的输出是一个带有平均交叉验证分数的得分表。可以使用get_metrics
函数访问CV期间评估的指标。可以使用add_metric
和remove_metric
函数添加或删除自定义指标。
best = compare_models()
print(best)
分析模型
此函数分析训练模型在测试集上的性能。在某些情况下,可能需要重新训练模型。
evaluate_model(best)
evaluate_model
只能在笔记本中使用,因为它使用ipywidget
。您也可以使用plot_model
函数单独生成图表。
plot_model(best, plot = 'residuals')
plot_model(best, plot = 'feature')
预测
此函数使用训练好的模型预测Label
。当data
为None时,它会在测试集上(在setup
函数期间创建)预测标签和分数。
predict_model(best)
评估指标是在测试集上计算的。第二个输出是带有测试集上预测的pd.DataFrame
(请参阅最后两列)。要在未见过的(新的)数据集上生成标签,只需将数据集传递给predict_model
函数。
predictions = predict_model(best, data=data)
predictions.head()