在scikit-learn中强制输入之和为1并包含在单位区间内

我有三个输入:x=(A, B, C);以及一个输出y。需要确保A+B+C=1 并且 0<=A<=1, 0<=B<=1, 0<=C<=1。我想找到使y最大化的x。我的方法是使用scikit-learn中的回归例程来训练一个模型f,基于我的输入x和输出y,然后在f上使用numpy.argmax来找到x_best。我如何确保x_best=(A,B,C)的和为1,并且都在单位区间内?有没有什么特殊的编码方法可以使用?


回答:

如果我正确理解了你的问题,那么这只是二次规划 – 你提到的所有约束(无论是等式还是不等式)都是线性的。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注