我使用xgboost进行二进制分类。我的数据中有infs和-infs,这是因为我正在计算来自一个和另一个(例如df[col1]/df[col2] )的比率。因为我在这些列中有零和nans,所以我得到了infs、-infs和nans。
我知道xgboost可以处理nan值,但是如果我用一个非常大的数字(例如,-inf的99999或-99999 )替换infs,这是xgboost的问题吗?我的理解是,基于树的分类方法不受“异常值”/inf值的影响。
处理这些问题的最佳方法是什么?
发布于 2020-06-08 15:04:22
由于(大多数)基于树的方法只关心每个特性中值的排序,所以用非常大的值(大于特性的任何有限值)来替换无限值是很好的。当然,当df[col1]/df[col2]为零时,您将不得不考虑是否应该将col2作为\pm#qcStackCode#inf来处理,而nans则可以直接加入xgboost。
https://datascience.stackexchange.com/questions/74938
复制相似问题