首页 > 解决方案 > 最小化具有多个变量的黑盒函数的值 - Python

问题描述

我有一个包含输入列 x0、x1...xn 和一列结果值 y 的多行数据框。

df = pd.read_csv("data.csv")
results = df['y']
inputs = df.drop('y')

我想最小化y的值。我知道存在提供最小值 y 的输入 x0->xn 的组合。

结果值 y 来自一个黑匣子,我无法通过代码连接到该黑匣子。

是否有一种算法可以确定输入的最佳猜测以最小化 y?然后我会手动重复/收敛,直到我将 y 减少到足以满足我的口味。

输入值必须 >= 0,并且是整数

我想象的糟糕的伪代码:

restrictions = (inputs >= 0 & inputs.astype(int))
result = minimize_function(inputs, results, restrictions)
result.x are new inputs
result.y is predicted result (optional)

我检查了 scipy.optimize 但如果该功能确实未知,我不确定如何使用。

谢谢!

标签: pythonpandasalgorithmoptimizationminimization

解决方案


推荐阅读