单调性约束¶
可为特征工程管道、拟合模型或整个建模管道强制执行单调性约束。
单调性约束强制执行指定特征和目标预测之间的单调关系。例如,给定一个被训练用于预测房价的模型,您可能想强制使此模型随着占地面积的增大而预测较高的房价,并且随着社区犯罪率的升高而预测较低的房价。
启用单调性约束时,Driverless AI 会自动确定是否存在单调性,然后在所有或部分建模管道中强制执行单调性约束。根据特征与目标之间的相关程度,Driverless AI 会分配正、负或无单调性约束。具体而言,如果绝对相关性大于特定阈值(默认为 0.1),则强制执行单调性约束。
若要一键构建 整个单调 gbm 建模管道,用户可从专家面板的“实验”设置中选择 monotonic_gbm recipe. Driverless AI 将自动调整多个设置,以便在特征工程和模型构建层面上强制执行单调性约束。详细信息,请参阅实验专家设置下管道构建插件中的 Monotonic GBM.
请参阅实验专家面板中“特征设置”下的 these settings,了解更细粒度的控制、超出阈值、手动覆盖单调性约束等内容。
若要构建单调拟合模型,请确保:
实验的可解释性设置必须大于或等于 monotonicity_constraints_interpretability_switch (默认值为 7)。因此可切换实验的可解释性设置和/或
monotonicity_constraints_interpretability_switch
,从而实现这一点。最终模型必须是线性的(例如,GLM 模型)或以其他方式支持单调性约束(LightGBM 模型、XGBoostGBM 模型、XGBoostDart 模型或决策树模型)。可在专家面板的“模型”设置中将这些模型设置为 ‘开启’ 。集成级别可以通过设置 fixed_ensemble_level 级别进行切换。对于没有集成的模型,将其设置为 0。
删除与目标相关性较低的特征。请参阅 monotonicity constraints drop low correlation features.
对于回归问题,请确保 target_transformer 是单调的,例如 ‘identity’ 或 ‘identity_noclip’。这可在专家面板的实验设置下进行切换。
对于单调特征工程:
禁用多特征交互处理的特征,即在专家设置面板下的特征设置中,将 max_feature_interaction_depth 设置为 1。
禁用数值特征到分类特征的转换,即在专家设置面板下的特征设置中,将 num_as_cat 设置为 False。
对于数值特征,仅允许单调转换,即在专家面板的插件设置下,将 included_transformers 设置为仅使用 [‘OriginalTransformer’]。
下表列出了一个关于如何创建单调的 Driverless AI 建模管道的示例。若要一键启用整个单调 gbm 建模管道,请参阅实验专家设置下管道构建插件中的 monotonic_gbm recipe.
配置名称 |
值 |
解释 |
---|---|---|
monotonicity_constraints_interpretability_switch |
1 |
使用等于或小于可解释性旋钮设置的值触发单调性约束 |
monotonicity_constraints_correlation_threshold |
0.01 |
设置特征和目标之间的皮尔逊积矩相关系数阈值 |
monotonicity_constraints_drop_low_correlation_features |
True |
删除低于 monotonicity_constraints_correlation_threshold 值的特征 |
max_feature_interaction_depth |
1 |
防止通过特征交互处理特征 |
num_as_cat |
False |
防止将数值特征转换为分类特征 |
feature_brain_level |
0 |
关闭’特征大脑’以确保每次重启都完全相同 |
included_models |
[‘LightGBMModel’、’XGBoostGBMModel’] |
能够遵循单调性约束的特征 |
included_transformers |
[‘OriginalTransformer’、’CatOriginalTransformer’、’RawTransformer’、 ‘CVTargetEncodeTransformer’、’FrequentTransformer’、’WeightOfEvidenceTransformer’、 ‘OneHotEncodingTransformer’]、 [‘CatTransformer’、’StringConcatTransformer’]、 [‘DateOriginalTransformer’、’DateTimeOriginalTransformer’、’DatesTransformer’、 ‘DateTimeDiffTransformer’、’IsHolidayTransformer’、’LagsTransformer’、 ‘EwmaLagsTransformer’、’LagsInteractionTransformer’、’LagsAggregatesTransformer’]、 [‘TextOriginalTransformer’、’TextTransformer’、’StrFeatureTransformer’、 ‘TextCNNTransformer’、’TextBiGRUTransformer’、’TextCharCNNTransformer’]、 [‘BERTTransformer’、’ImageOriginalTransformer’、’ImageVectorizerTransformer’] |
单调转换(列表顺序:数值、分类、日期/时间、文本和图像) |