Scipy中的阈值最小化

2024-10-03 21:26:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用scipy最小化函数最小化阈值。这是一个约束最小化,其中我的约束是核脊预测函数的输出。

更精确地说,我有一个数据集,我在scikit学习中训练内核岭方法,对于给定的测试用例,我想在选择一个使阈值可行的测试向量值时最小化阈值。

这是代码

cons = ({'type': 'ineq',
     'fun': lambda x:  x[0]-Krr.predict(np.concatenate(([x[1]],    [np.transpose(xTest[1:])]), axis=0))})

fun = lambda x: x[0]
res = minimize(fun,(0,0),constraints=cons)

在这个代码中,x[0]是一个阈值,x[1]是一个适合约束的值。这就是为什么目标没有考虑到x[1]。

当我运行这个代码时,它告诉我np.串联必须具有相同的维度:“ValueError:所有输入数组必须具有相同的维度数”。

这里x[1]应该是一个单浮点,xTest[1:]应该是np数组,例如1xN。

由于运行最小化时出现问题,我如何对其进行故障排除以对齐阵列?

更好的是,有没有人做过这样的最小化?


Tags: 数据方法lambda函数代码np阈值scipy