强制输入总和为 1 并包含在 scikit-learn 的单位间隔中
Enforcing that inputs sum to 1 and are contained in the unit interval in scikit-learn
我有三个输入:x=(A, B, C)
;和输出 y
。需要是 A+B+C=1
和 0<=A<=1
、0<=B<=1
、0<=C<=1
的情况。我想找到最大化 y
的 x
。我的方法是使用 scikit-learn 中的回归例程在我的输入 x
和输出 y
上训练模型 f
,然后在 f
上使用 numpy.argmax
] 找到 x_best
。如何保证 x_best=(A,B,C)
和为 1 并且都在单位区间内?我可以使用一些特殊的编码吗?
如果我正确理解你的问题,那么它就是 quadratic programming - 你提到的所有约束(等式和不等式)都是线性的。
我有三个输入:x=(A, B, C)
;和输出 y
。需要是 A+B+C=1
和 0<=A<=1
、0<=B<=1
、0<=C<=1
的情况。我想找到最大化 y
的 x
。我的方法是使用 scikit-learn 中的回归例程在我的输入 x
和输出 y
上训练模型 f
,然后在 f
上使用 numpy.argmax
] 找到 x_best
。如何保证 x_best=(A,B,C)
和为 1 并且都在单位区间内?我可以使用一些特殊的编码吗?
如果我正确理解你的问题,那么它就是 quadratic programming - 你提到的所有约束(等式和不等式)都是线性的。