pycaret在钻石数据集上的使用 – 回归问题

from pycaret.datasets import get_data
dataset = get_data('diamond')

pycaret在钻石数据集上的使用 - 回归问题
#check the shape of data
dataset.shape

pycaret在钻石数据集上的使用 - 回归问题
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))

pycaret在钻石数据集上的使用 - 回归问题
from pycaret.regression import *
exp_reg101 = setup(data = data, target = 'Price', session_id=123)

pycaret在钻石数据集上的使用 - 回归问题

pycaret在钻石数据集上的使用 - 回归问题

pycaret在钻石数据集上的使用 - 回归问题

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'])

pycaret在钻石数据集上的使用 - 回归问题

两个简单的代码词(甚至不是一行)已经使用交叉验证训练和评估了 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 个回归量可用。要查看所有回归器的列表,请检查文档字符串或使用模型函数查看库。

Original: https://blog.csdn.net/sinat_37574187/article/details/125830793
Author: 人工智能曾小健
Title: pycaret在钻石数据集上的使用 – 回归问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/635710/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球