Python 在Scikit learn的高斯过程分类器中使用带RBF核的剪切优化算法时的类型错误

Python 在Scikit learn的高斯过程分类器中使用带RBF核的剪切优化算法时的类型错误,python,python-3.x,scipy,scikit-learn,hyperparameters,Python,Python 3.x,Scipy,Scikit Learn,Hyperparameters,我正在尝试使用中的trust\u region\u optimizer优化超参数。在我的例子中,内部的对数边际似然优化器需要最大化。Scipy最小二乘法最小化目标函数,所以我需要最小化目标函数的逆函数。以下是我的代码: 将numpy导入为np 从scipy.optimize导入最小化、最小二乘 从sklearn.gaussian_进程导入高斯进程分离器 从sklearn.gaussian_process.kernels导入RBF,ConstantKernel作为C 从scipy.optimize

我正在尝试使用中的
trust\u region\u optimizer
优化超参数。在我的例子中,内部的对数边际似然优化器需要最大化。Scipy最小二乘法最小化目标函数,所以我需要最小化目标函数的逆函数。以下是我的代码:

将numpy导入为np
从scipy.optimize导入最小化、最小二乘
从sklearn.gaussian_进程导入高斯进程分离器
从sklearn.gaussian_process.kernels导入RBF,ConstantKernel作为C
从scipy.optimize导入最小二乘法,rosen
def信任区域优化器(对象函数、初始θ、边界):
信赖域方法=最小二乘法(1/obj\u func,初始θ,界,方法='trf')
返回(trust\u region\u method.x,trust\u region\u method.fun)
X=np.随机.随机((10,4))
y=np.随机.随机((10,1))
内核=C(1.0,(1e-5,1e5))*RBF(10.0)
gp=GaussianProcessRegressor(内核=kernel,优化器=trust\u region\u优化器(rosen[10,20,30,40],[0100]),alpha=1.2,n\u重启\u优化器=10)
总成配合(X,y)
运行上述代码时,我在控制台上遇到以下错误:

TypeError: unsupported operand type(s) for /: 'int' and 'function'
但是,如果删除
内核
,则根本没有错误

我试图将
1/obj_func
替换为
obj_func
,但出现以下错误:

ValueError:jac` must be '2-point', '3-point', 'cs' or callable`
但是,在我的工作中,我不能用
obj_func
替换
1/obj_func


任何帮助都将不胜感激。谢谢。

您好,我注意到您习惯于将Python代码粘贴为html或js片段。请不要这样做,因为浏览器无论如何都无法运行Python代码,并且没有语法突出显示。请参见我的编辑如何正确格式化Python代码。
1/obj_func
是什么意思?函数的倒数或从
obj_func
返回值的倒数?@VivekKumar是函数的倒数。请更详细地解释(最好编辑您的问题),1/obj_func应该做什么?@VivekKumar我问了一个问题,但是,答案并不能解决我的问题(尽管它帮助我理解)<代码>obj_func在这里进行了解释。如果你愿意,我也可以重写这个问题。