pycaret的具体使用流程

PyCaret是一个开源的低代码机器学习库,简化了从数据预处理到模型部署的过程。它支持创建虚拟环境安装,提供一站式数据处理功能,包括数据划分、预处理、特征工程等。PyCaret通过setup()函数自动编排转换管道,支持多种数据处理方法,如缺失值处理、编码转换、特征衍生等。此外,它提供了模型训练、比较、调参、融合等功能,以及丰富的模型评估和可视化工具,方便模型解释和校准。
摘要由CSDN通过智能技术生成

PyCaret的具体使用流程

PyCaret是Python中的一个开源、低代码机器学习库,旨在减少从数据处理到模型部署的周期时间。PyCaret库只需几行代码就可以完成从准备数据到部署模型,其中包括有数据处理,模型训练,参数搜索,模型可解释性,模型选择,实验日志查询。

一、PyCaret安装
在使用pycaret库进行机器学习处理时,pycaret2.3要求scikit-learn在是0.22版,然而,在python3.7下没有找到相应匹配的版本。为避免安装不兼容,我首先尝试了将pycaret降级为2.0版本,具体地址参考:https://github.com/pycaret/pycaret/releases/tag/2.0
后来发现还是报错不断,因此采用了第二种办法搭建虚拟环境,这样能在另外一个独立的环境中进行测试,下面介绍下python搭建虚拟环境及pycaret安装的流程:
1、确保自己电脑中已安装好python2和python3;
2、然后安装virtualenv

pip install virtualenv
pip install virtualenvwrapper # 这是对virtualenv的封装版本,一定要在virtualenv后安装

3、使用virtualenv新建一个虚拟环境的文件夹
选择一个用来存放虚拟环境的文件,如E:/python3

cd E:python3 # 进入该文件
virtualenv envname  # 创建一个名字为envname的虚拟环境
dir   # 查看当前目录可以知道一个envname的文件已经被创建
 
virtualenv -p python2 envname # 如果安装了多个python版本,如py2和py3,需要指定使用哪个创建虚拟环境

启动虚拟环境

# 进入虚拟环境文件
cd envname
# 进入相关的启动文件夹
cd Scripts
 
activate # 启动虚拟环境
#在此目录下可以安装各类包
pip install pycaret
python -m pip list #指令可查看安装的包
deactivate # 退出虚拟环境

注意:每次需要启动虚拟环境的时候都需要进入虚拟环境的文件夹的Scripy的目录下,非常不方便,可以将Scripy的路径添加到系统环境变量中;在安装pycaret后如果发现版本还是之前的版本,这时需要卸载pycaret后重新安装,包括scikit-learn。

二、PyCaret的实际应用
打开jupyter lab 后,可以在右上角上选择刚创建的“new-kernel”环境,
在这里插入图片描述
2.1 加载数据

import pandas as pd
import numpy as np
df5 = pd.read_excel(r'D:\test.xlsx')

2.2 数据初始化
PyCaret通过setup()函数可将原始数据进行一站式数据采样与划分、数据预处理、转换、特征工程等操作,它会根据setup函数中定义的参数创建转换管道(transformation pipeline)。它会自动编排管道(pipeline)中的所有依赖项,因此不必手动管理对测试数据集或未知的数据集进行转换的顺序执行。其中,分类和回归setup()函数参数相差无异,聚类、异常检测、NLP和关联规则挖掘模块的参数相对更少一些。以分类为例,
在这里插入图片描述
对上图中具体参数的选择,可以在对应的/pycaret/preprocess.py中进行调整。
在这里插入图片描述

1.设置数据集、标注目标值
data: pandas.DataFrame

target: str

2.训练集/测试集划分与采样

  • 训练集/测试集

在有监督的机器学习实验中,数据集被分为训练数据集和测试数据集。测试数据集充当新数据的代理。训练后的机器学习模型的评估和PyCaret中超参数的优化仅在训练数据集上使用k-fold交叉验证。测试数据集(也称为保持集)不用于模型的训练,因此可以在 predict_model 函数下用于评估度量和确定模型是否过度拟合数据。默认情况下,PyCaret使用70%的数据集进行训练,可以在设置中使用 train_size 参数更改。
train_size: float, default = 0.7 #用于训练和验证的数据集的比例。应介于0.0和1.0之间。

test_data:pandas.DataFrame, default = None # 如果手动传入测试数据集,则train_size的参数失效

  • 采样

当数据集包含超过25000个样本时,PyCaret默认启用数据集的采样。它通过在不同的样本水平上训练一个初步的线性模型来实现这一目的,并打印出一个视觉效果图,显示了训练模型作为样本水平函数的性能,如x轴所示。然后,此图可用于评估用于训练模型的样本大小。有时,您可能希望选择较小的样本大小,以便更快地训练模型。为了改变线性模型的估计量,可以在setup中使用 sample_estimator 参数。要关闭采样,可以将采样参数设置为False。此功能仅在pycaret.classification和pycaret.regression模块中可用。
sampling: bool, default = True
sample_estimator: object, default = None ,如果 None, 则默认使用线性模型.
当输入的 sample_size 小于1时,只有在调用 finalize_model() 时,才会使用剩余的数据集(1–sample)拟合模型。

3.数据预处理
是否进行数据处理,默认true

preprocess: bool, default = True

  • 指定特征数据类型

categorical_features: list of str, default = None(如果推断的数据类型不正确,则可以使用分类特征覆盖推断的类型。如果在运行安装程序时“column1”的类型被推断为数值而不是类别,则可以使用此参数通过传递 categorical_features=[‘column1’] 覆盖该类型。)

numeric_features: list of str, default = None(如果推断的数据类型不正确,则可以使用数值特征覆盖推断的类型。如果在运行安装程序时,“column1”的类型被推断为类别而不是数字,则可以使用此参数通过传递 numeric_features=[‘column1’] 来覆盖。)

date_features: list of str, default = None(如果数据有一个在运行安装程序时未自动检测到的DateTime列,则可以通过传递 date_features=‘date_column_name’ 来使用此参数。它可以处理多个日期列。建模中不使用日期列。相反,将执行特征提取,并从数据集中删除日期列。如果日期列包含时间戳,则还将提取与时间相关的特征。)

ignore_features: list of str, default = None #删除指定特征。如果建模时应忽略任何特征,则可以将其传递给参数 ignore_features。
当推断出ID和DateTime列时,将自动设置为忽略以进行建模。

  • 缺失值处理

当imputation_type: str, default = 'simple’时

categorical_imputation: str, default = ‘constant’#默认填充“not_available”值,或设为’mode’,填充众数(

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值