如何使用 scikit-learn 的 XGBRegressor 缺少的参数

Sar*_*dak 1 python scikit-learn xgboost

我正在处理一个数据集,其中某些列中包含缺失值。我正在尝试将 Scikit-Learn 包装器接口的 XGBRegressor 用于 XGBoost。它提供了一个名为“missing”的参数,您可以在其中输入浮点值,否则它将采用 python 的 NaN 作为默认值。因此,我需要帮助,例如如何使用此参数来填充数据集中列的缺失值。如果有人也能为我提供一个简单的例子,那将会很有帮助。

Sar*_*dak 5

缺失值参数的工作方式与您为“缺失”参数提供的任何值一样,它会将其视为缺失值。例如,如果您提供 0.5 作为缺失值,那么无论它在数据中找到 0.5,它都会将其视为缺失值。默认为 NaN。因此,XGBoost 所做的就是基于数据,它将路径之一定义为默认路径。例如,基于一个参数,它可以向左或向右两个方向移动,因此将根据数据将其中之一设置为默认值。因此,只要其中一个缺失值作为参数的输入出现,假设您将 0.5 定义为缺失,那么每当数据中出现 0.5 时,它就会采用默认路径。最初我认为它会估算缺失值,但事实并非如此。它只是将其中一个路径定义为默认路径,每当出现任何缺失值时,它都会采用该默认路径。这是在论文XGBoost: A Scalable Tree Boosting System中定义的