【发布时间】:2020-01-06 23:47:14
【问题描述】:
我正在使用带有 python 包的 lightgbm 进行预测。我有一个训练数据集和一个预测数据集。在预测数据集中,我有一些特征的 nan 值。结果,当我有 nan 值时,预测是完全错误的。有没有办法处理预测数据集中的缺失值?
我已尝试使用参数 use_missing 和 zero_as_missing 与所有可能性 ((true, false),...) 但没有成功。我正在使用主版本。
params = {
'boosting_type': 'gbdt',
'objective': 'regression',
'num_leaves': 31,
'learning_rate': 0.03,
'max_bin': 255,
'subsample_for_bin': 50000,
'min_split_gain': 0.0,
'min_child_weight': 5,
'min_child_samples': 10,
'subsample': 0.5,
'subsample_freq': 1,
'colsample_bytree': 0.6,
'reg_alpha': 0.1,
'reg_lambda': 1.1,
'verbose': 0,
'n_jobs': -1,
'max_depth': -1,
'use_missing': False,
'zero_as_missing': True,
}
gbm = lgb.train(params,
lgb_train,
num_boost_round=2000)
y_pred = gbm.predict(predictdata.iloc[:,1:], num_iteration=gbm.best_iteration)
我希望预测给出一致的结果,但当存在缺失值时,实际结果给出的预测过高。
【问题讨论】:
标签: python python-3.x lightgbm