【发布时间】:2020-04-23 14:56:29
【问题描述】:
我正在尝试使用 xgboost 包在 Python 中训练 XGBoost 分类器。我对分类器的所有参数使用默认值,我的训练集有大约 16,000 个元素和每个元素的 180,000 个特征。我没有使用 gpu 来训练模型,但训练过程仍然花费了五个多小时,并且仍在继续。我有 32GB 的 RAM 和 6 核 Intel I7。我想知道现在是否是用我拥有的数据量训练这个分类器的正常时间,因为我听说有人在几分钟内训练模型。
【问题讨论】:
-
似乎库提供了一些必须启用的并行编程功能,你这样做了吗?
-
@AMC 。感谢您的答复。我已将 nthread 参数设置为 -1,以便在训练期间使用所有可用内核。我不确定这是否是您的意思,但即使使用了所有内核,它也非常慢。我不知道这是否有帮助,但我在训练期间的内存使用率为 99%。
-
我不熟悉这个库,有什么方法可以尝试在一小部分数据上运行程序吗?这样你就可以判断程序是慢还是有问题/挂起。
-
@AMC 。当然。我尝试用 50 和 100 个样本的子集训练模型。每个分别需要大约 40 和 80 秒。我算了一下,整个训练集最多只需要 4 个小时,但是即使过了 5 个小时也没有结束
-
我已经算过了什么算术?不过这很好,至少我们可以确定程序没有损坏。
标签: python machine-learning xgboost training-data