【发布时间】:2020-09-10 12:20:27
【问题描述】:
我在 Python 中工作。我对分类变量 - “city” 有疑问。
我正在一个大型数据集(超过 100 万行)上构建预测模型。 我有超过 100 个功能。其中之一是“城市”,由 33 000 个不同的城市组成。
我使用例如XGBoost 我需要将分类变量转换为数字。虚拟化会导致特征数量大幅增加。 XGBoost(和我的 20 GB RAM)无法处理。
除了例如,还有其他方法可以处理这个变量吗?一个热编码,假人等? (例如,当使用 One Hot Encoding 时,我遇到了性能问题,我的模型中的特征太多并且内存不足。)
有什么办法可以解决吗?
【问题讨论】:
-
你能说得更具体点吗?显示一些代码?没有您使用的库的信息。
-
我使用 xgboost。我在预测公寓的价格。目前我正在跳过包含城市的专栏,所以我不对其进行任何操作。我想将它包含在功能集中,但我不知道如何处理这么多类别。我使用的唯一解决方案是例如LGBM,处理分类变量。
标签: python xgboost forecasting