当前位置:网站首页>pycaret在钻石数据集上的使用 - 回归问题
pycaret在钻石数据集上的使用 - 回归问题
2022-07-29 15:58:00 【人工智能曾小健】
from pycaret.datasets import get_data
dataset = get_data('diamond')
#check the shape of data
dataset.shape
data = dataset.sample(frac=0.9, random_state=786)
data_unseen = dataset.drop(data.index)
data.reset_index(drop=True, inplace=True)
data_unseen.reset_index(drop=True, inplace=True)
print('Data for Modeling: ' + str(data.shape))
print('Unseen Data For Predictions: ' + str(data_unseen.shape))
from pycaret.regression import *
exp_reg101 = setup(data = data, target = 'Price', session_id=123)
session_id :一个伪随机数,作为种子分布在所有函数中,以供以后重现。如果没有传递 session_id,则会自动生成一个随机数,分发给所有函数。在本实验中,将 session_id 设置为 123 以便以后重现。
成功执行设置后,它会打印包含几条重要信息的信息网格。大多数信息与执行 setup() 时构建的预处理管道有关。这些功能中的大部分都超出了本教程的范围。但是,在此阶段需要注意的一些重要事项包括:
原始数据:显示数据集的原始形状。在这个实验中 (5400, 8) 表示 5400 个样本和 8 个特征,包括目标列。
缺失值:当原始数据中存在缺失值时,这将显示为 True。对于这个实验,数据集中没有缺失值。
数字特征:推断为数字的特征数量。在这个数据集中,8 个特征中有 1 个被推断为数字。
分类特征:推断为分类的特征数量。在这个数据集中,8 个特征中有 6 个被推断为分类特征。
变换训练集:显示变换训练集的形状。请注意,对于变换后的训练集, (5400, 8) 的原始形状已转换为 (3779, 28)。由于分类编码,特征数量从 28 个增加到 8 个
转换的测试集:显示转换的测试/保留集的形状。测试/保留集中有 1621 个样本。此拆分基于默认值 70/30,可以使用 setup 中的 train_size 参数进行更改。
注意一些必须执行建模的任务是如何自动处理的,例如缺失值插补(在这种情况下,训练数据中没有缺失值,但我们仍然需要对看不见的数据进行插补)、分类编码等。 setup() 中的参数是可选的,用于自定义预处理管道。这些参数超出了本教程的范围,但随着您进入中级和专家级别,我们将更详细地介绍它们。
7.0 比较所有模型
比较所有模型以评估性能是建议在设置完成后建模的起点(除非您确切知道需要哪种模型,但通常情况并非如此)。此函数训练模型库中的所有模型,并使用 k 折交叉验证对它们进行评分以进行度量评估。输出打印一个分数网格,显示平均 MAE、MSE、RMSE、R2、RMSLE 和 MAPE(默认为 10)以及训练时间。
best = compare_models(exclude = ['ransac'])
两个简单的代码词(甚至不是一行)已经使用交叉验证训练和评估了 20 多个模型。上面打印的分数网格突出显示了性能最高的指标,仅用于比较目的。默认情况下,网格使用 R2(从最高到最低)排序,可以通过传递排序参数来更改。例如 compare_models(sort = 'RMSLE') 将按 RMSLE 对网格进行排序(从低到高,因为越低越好)。如果要将 fold 参数从默认值 10 更改为不同的值,则可以使用 fold 参数。例如 compare_models(fold = 5) 将在 5 折交叉验证上比较所有模型。减少折叠次数将改善训练时间。默认情况下, compare_models 根据默认排序顺序返回性能最佳的模型,但可用于通过使用 n_select 参数返回前 N 个模型的列表。 /br
请注意,排除参数如何用于阻止某些模型(在本例中为 RANSAC)。
8.0 创建模型
create_model 是 PyCaret 中最细粒度的函数,通常是大多数 PyCaret 功能的基础。顾名思义,此函数使用可以使用折叠参数设置的交叉验证来训练和评估模型。输出打印一个分数网格,按折叠显示 MAE、MSE、RMSE、R2、RMSLE 和 MAPE。
对于本教程的剩余部分,我们将使用以下模型作为我们的候选模型。这些选择仅用于说明目的,并不一定意味着它们是此类数据的最佳表现或理想选择。
AdaBoost 回归器('ada')
光梯度提升机('lightgbm')
决策树 ('dt')
PyCaret 的模型库中有 25 个回归量可用。要查看所有回归器的列表,请检查文档字符串或使用模型函数查看库。
边栏推荐
- 支持百亿请求的微博广告运维技术实践
- Jenkins 如何玩转接口自动化测试?
- This article penetrates the architecture design and cluster construction of the distributed storage system Ceph (hands-on)
- R语言中给数据框增加分组/根据样本名称添加分组的代码
- 设置工作模式与环境
- 6月阿里遭拒,90天深造357页微服务手册,获京东offer
- 【小程序项目开发--京东商城】uni-app之自定义搜索组件(上)-- 组件UI
- 干货!如何使用仪表构造SRv6-TE性能测试环境
- Dry goods!How to Construct SRv6-TE Performance Test Environment Using Instrumentation
- Jenkins持续集成与自动化部署系统安装配置
猜你喜欢
随机推荐
如何破坏单例?我说了好几种方式,面试官:没想到你真会
HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
店铺信息管理系统
718. 最长重复子数组
[极客大挑战 2019]BabySQL 1
参加Ultimate Harvest Moon活动,立即赢取终极版月光女神NFT
【上传文件】
Impala时间函数总结
兆易创新2021年将从长鑫存储采购3亿美元DRAM产品
显微镜LED补光可调光源
【C语言刷题】Leetcode268丢失的数字
Turbine Aggregation Monitoring
特殊的类——集合与泛型(C#)
Twin all things digital visual | join the real world and the digital space
SAP ABAP OData 服务诊断工具 /IWFND/ERROR_LOG 的使用方法试读版
CAS原理以及ABA问题解决Demo-代码
Qt笔记-利用QAxObject将文件夹内的所有docx转pdf
MySQL数据库安装配置保姆级教程(以8.0.29为例)有手就行
蚂蚁三面滑铁卢!遭分布式截胡,靠这些笔记潜修 30 天,挺进京东
官宣,又一上市公司杀入数据库市场