最小化Scipy中的阈值

时间:2016-11-02 14:38:09

标签: python optimization scipy minimization

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

更确切地说,我有一个数据集,我在scikit-learn中训练Kernel Ridge方法,对于给定的测试用例,我想在选择测试向量的一个值时最小化阈值,这将使得阈值可行。

这是代码

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.concatenate的参数必须具有相同的维度:“ValueError:所有输入数组必须具有相同的维数”。

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

由于在运行最小化时这是一个问题,我如何解决这个问题以对齐数组?

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

0 个答案:

没有答案