R:将dgCMatrix拆分为训练和测试矩阵,用于XGBoost训练

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

首先,我是XGBoost的新手。所以请原谅我的愚蠢。

这是一个问题:

如何将dgCMatrix分成两个矩阵(比如火车和测试)?我的目标是使用这些矩阵进行XGBoost训练。当我使用单热编码将所有分类变量转换为数值变量时,我得到了dgCMatrix。我可以在训练数据集和测试数据集上单独进行单热编码吗?

我已经尝试过dummyVars(来自包的插入符号)进行单热编码,但我的R会话由于某种原因而被中止,我不知道。

r machine-learning categorical-data xgboost
1个回答
0
投票

在这里添加DexGroves的评论作为答案,因为它回答了这个问题。

即使您将数据集拆分为两个(例如,A和B),即使某些级别在A或B中不存在,有关因子的所有级别的信息也将存储在A和B中。所以当您对子集进行一次热编码,它编码所有级别,而不管子级中是否存在级别。它在下一个子集上使用相同的编码。

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