一组特征交互约束表示为一个嵌套列表,例如[[0, 1], [2, 3, 4]],其中每个内部列表是允许相互作用的特征的索引组。...在下图中,左侧的决策树违反了第一个约束([0, 1]),而右侧的决策树遵守了第一个和第二个约束([0, 1],[2, 3, 4])。...在 XGBoost 中实施特征交互约束
强制执行特征交互约束在XGBoost中非常简单。在这里,将使用Python给出一个示例,但相同的思想可以推广到其他平台。...第二个特征出现在两个不同的交互集中,[1, 2]和[2, 3, 4]。因此,与2允许互动的特征的并集是{1, 3, 4}。在以下图表中,根在特征2处分裂。...在构建树的第二层,1是唯一的合法分裂候选项,除了0本身,因为它们属于相同的约束集。根据我们示例树的生长路径,第二层的节点在特征1处分裂。