一个热编码使我的 df 太大,考虑到它是一个 ML 回归问题,我有什么选择?

问题描述 投票:0回答:2

我需要对数据进行编码以训练 XGBRegressor 模型。我收到了一个包含大量行的 df,它有很多分类特征,其中之一是 box_id,其 ID 代码为“AAA9A8A”。

ids 为预测提供了有意义的数据并且是唯一的,如果我对数据进行热编码,数据集会变得太大,因为其中有几个分类列和唯一数据。

我读到不建议将标签编码器用于回归问题,因为它可能会在不存在的类别之间引入意想不到的关系。

我该如何进行?

python machine-learning xgboost
2个回答
0
投票

我该如何进行?

您应该升级到 XGBoost 1.6 或更新版本。较新的 XGBoost 版本可以原生处理分类特征,它们不需要任何外部单热编码(这会导致这里出现问题):

regressor = XGBRegressor(tree_method = "hist", enable_categorical = True)

0
投票

您可以尝试其他方式对数据集进行编码,例如标签编码。或者您可以创建给定数据的箱子,因为这将有助于减少数据大小,然后选择一种热编码。

© www.soinside.com 2019 - 2024. All rights reserved.