首先应该做什么:自动 xgboost 模型参数调整 (Hyperopt) 或特征选择 (boruta)

What should go first: automated xgboost model params tuning (Hyperopt) or features selection (boruta)

我通过从数据集的不同部分创建的许多小 xgboost 模型对客户端进行分类。 由于很难手动支持许多模型,我决定通过 Hyperopt 自动调整超参数并通过 Boruta 自动选择特征。

你能告诉我,应该先做什么:超参数调整还是特征选择?另一方面,没关系。 特征选择后,特征数量从 2500 减少到 100(实际上,我有 50 个真实特征和 5 个分类特征通过 OneHotEncoding 变成 2 400)。

如果需要一些代码,请告诉我。非常感谢。

特征选择(FS)可以被认为是一种预处理activity,其中,目的是识别具有低偏差和低方差的特征[1]。

同时,超参数优化 (HPO) 的主要目标是自动化 hyper-parameter 调整过程,使用户能够有效地将机器学习 (ML) 模型应用于实际问题 [2]。将 HPO 技术应用于 ML 模型的一些重要原因如下 [3]:

  1. 它减少了所需的人力,因为许多 ML 开发人员花费大量时间来调整 hyper-parameters,特别是对于大型数据集或具有大量 hyper-parameters.

  2. 它提高了 ML 模型的性能。许多 ML hyper-parameter 具有不同的优化,以在不同的数据集或问题中实现最佳性能。

  3. 它使模型和研究更具可重复性。只有实现相同级别的 hyper-parameter 调优过程,才能公平地比较不同的 ML 算法;因此,在不同的 ML 算法上使用相同的 HPO 方法也有助于确定最适合特定问题的 ML 模型。

鉴于上述两者之间的差异,我认为对于给定的算法应该首先应用 FS,然后应用 HPO。

参考文献

[1] Tsai, C.F., Eberle, W. 和 Chu, C.Y., 2013。特征和实例选择中的遗传算法。 Knowledge-Based 系统,39,pp.240-247。

[2] M. Kuhn, K. Johnson Applied Predictive Modeling Springer (2013) ISBN: 9781461468493.

[3] F. Hutter、L. Kotthoff、J. Vanschoren(编),自动机器学习:方法、系统、挑战,9783030053185,Springer (2019)