Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python sklearn中无最小二乘的线性回归_Python_Scikit Learn_Linear Regression - Fatal编程技术网

Python sklearn中无最小二乘的线性回归

Python sklearn中无最小二乘的线性回归,python,scikit-learn,linear-regression,Python,Scikit Learn,Linear Regression,我正在使用sklearn.linear_模型中的线性回归模块,我想在不使用最小二乘法的情况下计算线性回归模型的参数 例如,我希望通过最小化模块sklearn.metrics中定义的回归度量之一的值(例如,均方误差)来估计此参数 有没有一个模块可以让我轻松地做到这一点?您可以编写自己的成本函数并调用最小化。请注意,minimize没有任何限制,因此您可能希望在我在这里展示的内容之上添加一些限制: import numpy as np from sklearn.metrics import mean

我正在使用sklearn.linear_模型中的线性回归模块,我想在不使用最小二乘法的情况下计算线性回归模型的参数

例如,我希望通过最小化模块sklearn.metrics中定义的回归度量之一的值(例如,均方误差)来估计此参数


有没有一个模块可以让我轻松地做到这一点?

您可以编写自己的成本函数并调用最小化。请注意,
minimize
没有任何限制,因此您可能希望在我在这里展示的内容之上添加一些限制:

import numpy as np
from sklearn.metrics import mean_squared_log_error
from scipy.optimize import minimize

a = np.array([1, 2, 3])
b = np.array([100, 200, 300])
下面是我想学习的模型(即回归器):

下面是我的成本函数:

def cost(x):
    return mean_squared_log_error(b, fun(x))
现在我可以优化它了:

print(minimize(cost, x0=[1]))
请注意,我在这里不提供渐变,因此可能会比较慢(或者使用数字差异IIRC和一些优化器)

print(minimize(cost, x0=[1]))