🚀分类
PyCaret的分类模块是一个监督机器学习模块,用于将元素分类到组中。
目标是预测离散和无序的类别标签。一些常见的用例包括预测客户违约(是或否)、预测客户流失(客户将离开或留下)、发现疾病(阳性或阴性)。
该模块可用于二进制或多类问题。
setup
此函数初始化训练环境并创建转换管道。执行任何其他函数之前必须调用设置函数。它需要两个必需的参数:数据和目标。所有其他参数都是可选的。
# load sample dataset
from pycaret.datasets import get_data
data = get_data('diabetes')
PyCaret 3.0有两个API。您可以根据自己的喜好选择其中之一。实验结果与功能测试结果一致。
Functional API
from pycaret.classification import *
s = setup(data, target = 'Class variable', session_id = 123)
OOP API
from pycaret.classification import ClassificationExperiment
s = ClassificationExperiment()
s.setup(data, target = 'Class variable', session_id = 123)
比较模型(Compare Models)
此函数使用交叉验证为模型库中可用的所有估计量定型并评估其性能。该函数的输出是一个评分网格,其中包含平均交叉验证分数。可以使用get_metrics函数访问CV期间评估的指标。可以使用add_metric和remove_metric函数添加或删除自定义指标。
# functional API
best = compare_models()
# OOP API
best = s.compare_models()
print(best)
分析模型(Analyze Model)
该函数分析训练模型在测试集上的性能。在某些情况下,可能需要重新训练模型。
# functional API
evaluate_model(best)
# OOP API
s.evaluate_model(best)
evaluate_model只能在Notebook中使用,因为它使用ipywidget。也可以使用plot_model函数单独生成图。
# functional API
plot_model(best, plot = 'auc')
# OOP API
s.plot_model(best, plot = 'auc')
# functional API
plot_model(best, plot = 'confusion_matrix')
# OOP API
s.plot_model(best, plot = 'confusion_matrix')
预测(Predictions)
此函数对数据进行评分,并返回预测类的prediction_label和prediction_score概率。当数据为“无”时,它预测测试集(在设置功能期间创建)上的标签和分数。
# functional API
predict_model(best)
# OOP API
s.predict_model(best)
在测试集上计算评估度量。第二个输出是pd.DataFrame,其中包含对测试集的预测(请参见最后两列)。要在看不见的(新的)数据集上生成标签,只需在predict_model函数下的data参数中传递数据集。
# functional API
predictions = predict_model(best, data=data)
predictions.head()
# OOP API
predictions = s.predict_model(best, data=data)
predictions.head()
注意: 分数意味着预测类的概率(不是正类)。如果prediction_label为0并且prediction_score为0.90,则这意味着类0的概率为90%。如果你想看到两个类的概率,只需在predict_model函数中传递raw_score=True。
# functional API
predictions = predict_model(best, data=data, raw_score=True)
predictions.head()
# OOP API
predictions = s.predict_model(best, data=data, raw_score=True)
predictions.head()
保存模型(Save the model)
# functional API
save_model(best, 'my_best_pipeline')
# OOP API
s.save_model(best, 'my_best_pipeline')
要将模型加载回环境中,请执行以下操作:
# functional API
loaded_model = load_model('my_best_pipeline')
print(loaded_model)
# OOP API
loaded_model = s.load_model('my_best_pipeline')
print(loaded_model)
🚀 回归
PyCaret的回归模块是一个有监督的机器学习模块,用于估计因变量(通常称为"结果变量"或"目标")与一个或多个自变量(通常称为"特征"、“预测因子"或"协变量”)之间的关系。
回归的目的是预测连续值,如预测销售额、预测数量、预测温度等。
Setup
# load sample dataset
from pycaret.datasets import get_data
data = get_data('insurance')
Functional API
from pycaret.regression import *
s = setup(data, target = 'charges', session_id = 123)
OOP API
from pycaret.regression import RegressionExperiment
s = RegressionExperiment()
s.setup(data, target = 'charges', session_id = 123)
比较模型(Compare Models)
# functional API
best = compare_models()
# OOP API
best = s.compare_models()
print(best)
分析模型(Analyze Model)
# functional API
evaluate_model(best)
# OOP API
s.evaluate_model(best)
# functional API
plot_model(best, plot = 'residuals')
# OOP API
s.plot_model(best, plot = 'residuals')
# functional API
plot_model(best, plot = 'feature')
# OOP API
s.plot_model(best, plot = 'feature')
预测(Predictions)
# functional API
predict_model(best)
# OOP API
s.predict_model(best)
# functional API
predictions = predict_model(best, data=data)
predictions.head()
# OOP API
predictions = s.predict_model(best, data=data)
predictions.head()
保存模型(Save the model)
# functional API
save_model(best, 'my_best_pipeline')
# OOP API
s.save_model(best, 'my_best_pipeline')
加载模型:
# functional API
loaded_model = load_model('my_best_pipeline')
print(loaded_model)
# OOP API
loaded_model = s.load_model('my_best_pipeline')
print(loaded_model)
🚀 聚类
PyCaret的聚类模块是一个无监督的机器学习模块,它执行对一组对象进行分组的任务,使得同一组(也称为集群)中的对象比其他组中的对象更相似。
Setup
此函数初始化训练环境并创建转换管道。执行任何其他函数之前必须调用设置函数。它只需要一个必需的参数:数据。所有其他参数都是可选的。
# load sample dataset
from pycaret.datasets import get_data
data = get_data('jewellery')
Functional API
from pycaret.clustering import *
s = setup(data, normalize = True)
OOP API
from pycaret.clustering import ClusteringExperiment
s = ClusteringExperiment()
s.setup(data, normalize = True)
创建模型(Create Model)
该函数训练和评估给定模型的性能。可以使用get_metrics函数访问评估的指标。可以使用add_metric和remove_metric函数添加或删除自定义指标。所有可用的模型都可以使用模型功能访问。
# functional API
kmeans = create_model('kmeans')
# OOP API
kmeans = s.create_model('kmeans')
print(kmeans)
分析模型(Analyze Model)
此函数分析训练模型的性能。
# functional API
evaluate_model(kmeans)
# OOP API
s.evaluate_model(kmeans)
# functional API
plot_model(kmeans, plot = 'elbow')
# OOP API
s.plot_model(kmeans, plot = 'elbow')
# functional API
plot_model(kmeans, plot = 'silhouette')
# OOP API
s.plot_model(kmeans, plot = 'silhouette')
指定模型(Assign Model)
该函数为给定训练模型的训练数据分配聚类标签。
# functional API
result = assign_model(kmeans)
result.head()
# OOP API
result = s.assign_model(kmeans)
result.head()
预测(Predictions)
该函数使用新的/未见过的数据集上的训练模型生成聚类标签。
# functional API
predictions = predict_model(kmeans, data = data)
predictions.head()
# OOP API
predictions = s.predict_model(kmeans, data = data)
predictions.head()
保存模型(Save the model)
# functional API
save_model(kmeans, 'kmeans_pipeline')
# OOP API
s.save_model(kmeans, 'kmeans_pipeline')
加载模型:
# functional API
loaded_model = load_model('kmeans_pipeline')
print(loaded_model)
# OOP API
loaded_model = s.load_model('kmeans_pipeline')
print(loaded_model)
🚀 异常检测
PyCaret的异常检测模块是一个无监督的机器学习模块,用于识别罕见的项目,事件或观察结果,这些项目,事件或观察结果与大多数数据明显不同,从而引起怀疑。
通常,异常项目将转化为某种问题,例如银行欺诈、结构缺陷、医疗问题或错误。
Setup
此函数初始化训练环境并创建转换管道。在执行任何其他函数之前,必须调用setup函数。它只需要一个必需的参数:数据。所有其他参数都是可选的。
# load sample dataset
from pycaret.datasets import get_data
data = get_data('anomaly')
Functional API
from pycaret.anomaly import *
s = setup(data, session_id = 123)
OOP API
from pycaret.anomaly import AnomalyExperiment
s = AnomalyExperiment()
s.setup(data, session_id = 123)
创建模型(Create Model)
该函数训练无监督异常检测模型。所有可用的模型都可以使用模型功能访问。
# functional API
iforest = create_model('iforest')
print(iforest)
# OOP API
iforest = s.create_model('iforest')
print(iforest)
# functional API
models()
# OOP API
s.models()
分析模型(Analyze Model)
# functional API
plot_model(iforest, plot = 'tsne')
# OOP API
s.plot_model(iforest, plot = 'tsne')
# functional API
plot_model(iforest, plot = 'umap')
# OOP API
s.plot_model(iforest, plot = 'umap')
指定模型(Assign Model)
该函数为给定模型的数据集分配异常标签。(1 =离群值,0 =内点)。
# functional API
result = assign_model(iforest)
result.head()
# OOP API
result = s.assign_model(iforest)
result.head()
预测(Predictions)
该函数使用新的/未见过的数据集上的训练模型生成异常标签。
# functional API
predictions = predict_model(iforest, data = data)
predictions.head()
# OOP API
predictions = s.predict_model(iforest, data = data)
predictions.head()
保存模型(Save the model)
# functional API
save_model(iforest, 'iforest_pipeline')
# OOP API
s.save_model(iforest, 'iforest_pipeline')
加载模型:
# functional API
loaded_model = load_model('iforest_pipeline')
print(loaded_model)
# OOP API
loaded_model = s.load_model('iforest_pipeline')
print(loaded_model)
🚀 时间序列
PyCaret时间序列模块是一个强大的工具,用于使用机器学习和经典统计技术分析和预测时间序列数据。该模块通过自动化从数据准备到模型部署的整个过程,使用户能够轻松执行复杂的时间序列预测任务。
PyCaret时间序列预测模块支持广泛的预测方法,如ARIMA,Prophet和LSTM。它还提供了各种功能来处理缺失值、时间序列分解和数据可视化。
Setup
# load sample dataset
from pycaret.datasets import get_data
data = get_data('airline')
Functional API
from pycaret.time_series import *
s = setup(data, fh = 3, fold = 5, session_id = 123)
OOP API
from pycaret.time_series import TSForecastingExperiment
s = TSForecastingExperiment()
比较模型(Compare Models)
此函数使用交叉验证为模型库中可用的所有估计量定型并评估其性能。该函数的输出是一个评分网格,其中包含平均交叉验证分数。可以使用get_metrics函数访问CV期间评估的指标。可以使用add_metric和remove_metric函数添加或删除自定义指标。
# functional API
best = compare_models()
# OOP API
best = s.compare_models()
分析模型(Analyze Model)
# functional API
plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 24})
# OOP API
s.plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 24})
# functional API
plot_model(best, plot = 'diagnostics')
# OOP API
s.plot_model(best, plot = 'diagnostics')
# functional API
plot_model(best, plot = 'insample')
# OOP API
s.plot_model(best, plot = 'insample')
预测(Predictions)
# functional API
final_best = finalize_model(best)
predict_model(best, fh = 24)
# OOP API
final_best = s.finalize_model(best)
s.predict_model(best, fh = 24)
保存模型(Save the model)
# functional API
save_model(final_best, 'my_final_best_model')
# OOP API
s.save_model(final_best, 'my_final_best_model')
加载模型:
# functional API
loaded_model = load_model('my_final_best_model')
print(loaded_model)
# OOP API
loaded_model = s.load_model('my_final_best_model')
print(loaded_model)