我在工作中使用的 xgboost 有这个问题。我的任务是将当前在 R 中运行的一段代码移植到 python。
代码的作用: 我的目标是使用 XGBoost 来确定增益最大的特征。我确保 XGBoost 的输入在 R 和 python 中是相同的。XGBoost 运行大约 100 次(在不同的数据上),每次我通过增益提取 30 个最佳特征。
我的问题是:R 和 python 中的输入是相同的。然而,python 和 R 输出了截然不同的特征(无论是每轮的特征总数,还是选择了哪些特征)。它们只共享大约 50% 的功能。我的参数是一样的,我没有使用任何样本,所以没有随机性。
另外,我注意到的另一件事 - 与具有相同参数的 R 相比,XGBoost 在 python 中速度较慢。这是一个已知问题吗?
我一直试图环顾四周,但没有发现任何人有类似的问题。我不能分享数据或代码,因为它是机密的。有人知道为什么功能差异如此之大吗?
R 版本:3.4.3
XGBoost R 版本:0.6.4.1
蟒蛇版本:3.6.5
XGBoost python 版本:0.71
在 Windows 上运行。
| 归档时间: |
|
| 查看次数: |
1422 次 |
| 最近记录: |