在进行机器学习过程中,使用xgboost模型,报错输入的数据有inf和nan,但已经处理过缺失值了
Check failed: valid: Input data contains `inf` or 'nan'
Check failed: valid: Input data contains `inf` or 'nan'
XGBoost 默认是不能处理包含 inf 和 nan 的数据的,你需要先检测并处理掉数据中的无穷大或非数字值。
如果数据确实包含过大的浮点数导致了此类问题,你可以考虑对数据进行对数处理来减小数值的范围,例如:log1p(x) 可以将 x 转换为 log(1 + x),或者对数据进行归一化处理。
请注意,在处理缺失值时,可以使用一些方法如平均值,众数或者中位数来填补数据中的缺失值,但请根据具体数据特征来决定使用哪种方法。