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

问题描述

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

请您给我建议,首先应该做什么:超参数调整或特征选择?另一方面,没关系。特征选择后,特征数量从 2500 减少到 100(实际上,我有 50 个真实特征和 5 个分类特征通过 OneHotEncoding 变成了 2400)。

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

标签: python-3.xxgboostfeature-selectionhyperparametershyperopt

解决方案


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

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

  1. 它减少了所需的人力,因为许多 ML 开发人员花费大量时间调整超参数,特别是对于大型数据集或具有大量超参数的复杂 ML 算法。

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

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

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

参考

[1] Tsai, CF, Eberle, W. 和 Chu, CY, 2013。特征和实例选择中的遗传算法。基于知识的系统,39,第 240-247 页。

[2] M. Kuhn, K. Johnson 应用预测建模 Springer (2013) ISBN: 9781461468493。

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


推荐阅读