我有一个关于随机森林的问题。想象一下,我有关于用户与项目交互的数据。项目的数量很大,大约 10 000 个。我的随机森林输出应该是用户可能与之交互的项目(如推荐系统)。对于任何用户,我都想使用一个功能来描述用户过去与之交互的项目。但是,将分类产品特征映射为 one-hot 编码似乎非常低效,因为用户最多与不超过几百个项目交互,有时只有 5 个。
当输入特征之一是具有约 10 000 个可能值的分类变量并且输出是具有约 10 000 个可能值的分类变量时,您将如何构建随机森林?我应该使用具有分类功能的 CatBoost 吗?或者我应该使用 one-hot 编码,如果是这样,你认为 XGBoost 或 CatBoost 做得更好吗?