课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
4分钟

单调约束

1. 在模型中可能会有一些单调的约束:当 x ≤ x' 时:

  • f(x_1, x_2,···,x,···,x_n) ≤ f(x_1, x_2,···,x',···,x_n) ,则称该约束为单调递增约束
  • f(x_1, x_2,···,x,···,x_n) ≥ f(x_1, x_2,···,x',···,x_n) ,则称该约束为单调递减约束

2. 如果想在xgboost 中添加单调约束,则可以设置monotone_constraints 参数。 假设样本有 2 个特征,则:

  • params['monotone_constraints'] = "(1,-1)" :表示第一个特征是单调递增;第二个特征是单调递减
  • params['monotone_constraints'] = "(1,0)" :表示第一个特征是单调递增;第二个特征没有约束
  • params['monotone_constraints'] = "(1,1)" :表示第一个特征是单调递增;第二个特征是单调递增

右侧的 1 表示单调递增约束;0 表示无约束; -1 表示单调递减约束。 有多少个特征,就对应多少个数值。