Pycaret详细介绍该库用法及案例(分类方法案例胎儿状态分类指南)

Pycaret

基本流程一般包含:读取数据->建模/对比模型->模型预测->绘图分析->模型导出

安装pycaret见此篇博文——>安装pycaret遇到的问题
使用此命令:——pip --default-timeout=100 install pycaret -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

另附官方源码——>https://github.com/pycaret/pycaret

官方阅读——>https://pycaret.org/guide/

从PyCaret的存储库加载数据

#从pycaret中加载数据
from pycaret.datasets import get_data
data = get_data('juice') 

pycaret的资料存储库
在这里插入图片描述
核心代码方法:

anomaly.py 异常值检测(无监督)
arules.py 关联规则(无监督)
classification.py 分类(有监督)
clustering.py 聚类(无监督)
datasets.py 数据加载(辅助工具)
nlp.py 自然语言处理(无监督)
preprocess.py 预处理(辅助工具,被其它模块内部调用)
regression.py 回归(有监督)

导入模块

# Classification
from pycaret.classification import *
# Regression
from pycaret.regression import *
# Clustering
from pycaret.clustering import *
# Anomaly Detection
from pycaret.anomaly import *
# Natural Language Processing
from pycaret.nlp import *
# Association Rule Mining
from pycaret.arules import *

在这里插入图片描述
在这里插入图片描述

各个类实例

分类例

# Importing dataset
from pycaret.datasets import get_data
diabetes = get_data('diabetes')

# Importing module and initializing setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

在这里插入图片描述

回归实例

# Importing dataset
from pycaret.datasets import get_data
boston = get_data('boston')

# Importing module and initializing setup
from pycaret.regression import *
reg1 = setup(data = boston, target = 'medv')

在这里插入图片描述
聚类示例

# Importing dataset
from pycaret.datasets import get_data
jewellery = get_data('jewellery')

# Importing module and initializing setup
from pycaret.clustering import * 
clu1 = setup(data = jewellery)

在这里插入图片描述
异常检测示例

# Importing dataset
from pycaret.datasets import get_data
anomalies = get_data('anomaly')

# Importing module and initializing setup
from pycaret.anomaly import *
ano1 = setup(data = anomalies)

在这里插入图片描述
自然语言处理示例

# Importing dataset
from pycaret.datasets import get_data
kiva = get_data('kiva')

# Importing module and initializing setup
from pycaret.nlp import *
nlp1 = setup(data = kiva, target = 'en')

在这里插入图片描述
关联规则挖掘示例

# Importing dataset
from pycaret.datasets import get_data
france = get_data('france')

# Importing module and initializing setup
from pycaret.arules import *
arules1 = setup(data = france, transaction_id = 'InvoiceNo', item_id = 'Description')

在这里插入图片描述

常用的函数方法

get_data() 读数据,例程中多为读取示例数据,用户可以使用自己的数据代替。

setup() 预处理,各种建模方法(如分类/聚类)根据自己的特点实现了不同的setup,其中几乎都包含对预处理模块的调用。

models() 列出当前建模方法支持的所有模型。

compare_models() 训练多个模型,并对比其效果。

create_model() 训练模型。

predict_model() 使用模型预测。

plot_model() 显示模型相关的各种分析图,如AUC曲线,学习曲线,还包含词云图等。

tune_model() 模型调参。

assign_model() 查看无监督模型打标签的情况。

evaluate_model() 评价模型。

deploy_model() 云端部署。

ensemble_model() 集成模型。

finalize_model() 导出最终模型和参数。

案例(分类方法案例胎儿状态分类指南)

from pycaret.datasets import get_data

import pandas as pd   
import numpy as np
import warnings     

获取数据

from pycaret.datasets import get_data
df= get_data('CTG') 
#查看前五行
df.head()

在这里插入图片描述

## 删除不需要的列  名称 日期等
df=df.drop(["FileName","Date","SegFile","b","e"],axis=1)        
#查看列名称
df.columns

在这里插入图片描述

数据预处理

df.shape
#查看缺失值
df.isnull().sum()

在这里插入图片描述

#删除包含空值的行
df = df.dropna()
#查看列的数据类型
df.dtypes
#查看数据的前五行
df.head()

在这里插入图片描述
导入机器学习库pycaret

#此命令基本上将从pychret导入分类任务所需要的所有模块
from pycaret.classification import *

#设置分类器
#将完整的数据作为数据传递  并将要预测的特征作为目标
clf=setup(data=df,target='NSP')

在这里插入图片描述

#此模型将用于比较所有模型以及交叉验证
compare_models()

在这里插入图片描述
由此可见xgboost(分类器)模型表现比较好,因此,我们将继续进行极端梯度增强模型。

#创建极端梯度提升xgboot模型
xgboost_classifier = create_model('xgboost')  

在这里插入图片描述

#查看模型参数
xgboost_classifier

在这里插入图片描述
调整参数以获得更好的性能

#当我们比较不同的模型或建立模型时,都会使用deault
tuned_xgboost_classifile = tune_model(xgboost_classifier)#调整参数函数

在这里插入图片描述
绘制分类图

plot_model(tuned_xgboost_classifile,plot='class_report')

在这里插入图片描述

#绘制混淆矩阵
plot_model(tuned_xgboost_classifile,plot='confusion_matrix')

在这里插入图片描述
保存模型以供将来预测使用。

save_model(tuned_xgboost_classifile,"XGBOOT CLASSIFIER")

在这里插入图片描述
加载保存的模型。

save_model = load_model("XGBOOT CLASSIFIER")

在这里插入图片描述


版权声明:本文为sjjsaaaa原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。