开发者社区> 问答> 正文

如果我在XGB模型中具有主导功能,该怎么办?

我最近在数据集中遇到了“奇怪”的观察。在对具有20个特征的XGB建模之后,我绘制了具有最高增益值的前10个特征。结果如下所示:

F1         140027.061202
F2          11242.470370
F3           9957.161039
F4           9677.070632
F5           7103.275865
F6           4691.814929
F7           4030.730915
F8           2775.235616
F9           2384.573760
F10          2328.680871

如您所见,与所有其他功能相比,F1以增益为主导(增益比F2高12倍)。我验证了测试集上的结果,该模型没有过拟合,并且给出了不错的结果(与我的成绩相比):

F1-score: 0.739812237993 
Accuracy: 0.839632893701 
Precision: 0.63759578607
Recall: 0.881059718486

根据这些结果,得出F1功能足以构建模型的结论是否正确?

为了证明这一点,我使用相同的参数重新运行了建模,但是现在将F1作为独立功能。结果仅比以前稍差(并且没有过度拟合):

F1-score: 0.710906846703 Accuracy: 0.819880412472 Precision: 0.607953806173 Recall: 0.85583736242 在两种情况下,我的XGB参数都非常简单:

alg = XGBRegressor( 
    n_estimators=200,
    max_depth=5,
    objective='binary:logistic', 
    seed=27,
)

# Fit the algorithm on the data
metric = 'map'
alg.fit(X_train, y_train, eval_metric=metric)

在排除特征F1并重新拟合模型后,我得到了相似的验证指标(稍差一些),但在那种情况下,特征F3成为“主导”,增益很高〜10000,而特征F2是下一个增益值为〜10000的模型。 。

是否有任何技术可以通过对F1进行某些转换来增强其他功能并提高准确性(或F1得分)? 有什么方法可以均衡特征增益并改善模型吗? 我是否应该尝试“收集”更多可以与F1相提并论的功能? 谢谢!

展开
收起
几许相思几点泪 2019-12-23 21:49:17 595 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
大模型驱动的自然语言开放生态 立即下载
AI·重构企业客户服务能力 立即下载
构建基因数据应用生态系统 立即下载