特征工程 Feature Engineering
特征工程主要包括优质特征构造和特征选择两部分
1. 优质特征构造
优质特征是具有强预测能力的特征,根据原始特征来构造。 在训练前,您可以选择是否进行此步骤
优质特征构造过程:
- 生成所有可能的独特原始特征对。
- 如果多于
250,000
对,则随机抽样到250,000
对。 - 对于每个特征对,使用减法或除法运算构造一个新特征。
- 基于新特征训练一个
Decision Tree
,其中max_depth = 3
(仅使用一个特征). - 使用最多
2,500
条随机挑选的数据进行训练. 测试同理。 - 计算每个特征的测试样本的分数。分类任务回归任务的分数分是
logloss
和mean squared error
。 - 根据分数对新生成的特征排序(分数越低越好)。
- 选择优质特征,其数量取决于原始特征的数量,即原始特征数量的
5%
, 不小于5
且不大于50
。
2. 特征选择
特征选择分为两步:
- random_feature
- 决定哪些特征很重要,而哪些应该被删除
- features_selection
- 依据选择后的特征进行训练
random_feature 步骤
在此步骤中,执行以下操作:
- 选择迄今为止最好的模型并保存其超参数。
- 将一个
radnom_feature
插入数据集。该特征在0
到1
范围内均匀分布。 - 在扩展的数据集上使用最佳超参数训练模型。
- 计算新模型的特征重要性。由于使用基于排列的特征重要性,该过程可以应用于任何机器学习算法。
- 对于每个特征,计算其重要性小于
radnom_feature
的次数。
features_selection 步骤
- 如果没有要删除的特征,则跳过此步骤。
- 为每种算法类型选择最佳模型:
[
Xgboost
,LightGBM
,CatBoost
,Neural Network
,Random Forest
,Extra Trees
]。 复制最佳模型的超参数并与选定的特征一起重用。