gpt4 book ai didi

scala - Spark 中的 XGBoost 模型 --> 缺失值处理

转载 作者:行者123 更新时间:2023-11-30 09:14:57 25 4
gpt4 key购买 nike

与Python不同的是,缺失值由XGBoost算法在内部处理,在SPARK中构建XGBoost模型时,缺失值会隐式转换为0.0(浮点?!)。这个可以吗 ?有些实际值可能是 0.0。我们如何确定这不会干扰模型的预测能力?

最佳答案

您在这里假设 xgboost 将缺失值归咎于 0 是错误的。实际上,在缺失值的情况下,它会在生长树时记录 NA 朝向更高增益分割方向。

例如,如果在不考虑缺失值的情况下进行分割,则将变量 var1 的(范围 [0,1])值 0.5 确定为 0.5,则计算增益时考虑 var1 缺失值 < 0.5且 > 0.5。对于任何分割方向,它都会获得更多增益,它会归因于缺失值以具有该分割方向。因此,缺失值现在具有范围 [0,0.5] 或 [0.5,1],但没有分配给它的实际值(即估算)。

有关此主题的更多详细信息,请参阅论文 https://arxiv.org/pdf/1603.02754v3.pdf

关于scala - Spark 中的 XGBoost 模型 --> 缺失值处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58397077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com