python-3.x – fit_intercept参数如何影响线性回归与scikit lear
发布时间:2020-12-20 13:19:59 所属栏目:Python 来源:网络整理
导读:我正在尝试拟合线性模型,并且我的数据集被归一化,其中每个特征除以最大可能值.所以这些值的范围是0-1.现在我从我以前的帖子中了解到 Linear Regression vs Closed form Ordinary least squares in Python线性回归在scikit中,当fit_intercept参数设置为false
我正在尝试拟合线性模型,并且我的数据集被归一化,其中每个特征除以最大可能值.所以这些值的范围是0-1.现在我从我以前的帖子中了解到
Linear Regression vs Closed form Ordinary least squares in Python线性回归在scikit中,当fit_intercept参数设置为false时,产生与闭合形式OLS相同的结果.我不太了解fit_intercept的工作原理.
对于任何线性问题,如果y是预测值. y(w,x) = w_0 + w_1 x_1 + ... + w_p x_p 在整个模块中,向量w =(w_1,…,w_p)表示为coef_,w_0表示为intercept_ 在闭合形式OLS中,我们还有w_0的偏差值,我们在计算点积之前引入向量X_0 = [1 … 1]并使用矩阵乘法和逆求解. w = np.dot(X.T,X) w1 = np.dot(np.linalg.pinv(w),np.dot(X.T,Y)) 当fit_intercept为True时,如果y是预测值,则scikit-learn线性回归可以解决问题. y(w,x)= w_0 w_1 x_1 … w_p x_p b其中b是截距项. 如何在模型中使用fit_intercept以及何时将其设置为True / False.我试图查看源代码,似乎系数按一定比例进行了规范化. if self.fit_intercept: self.coef_ = self.coef_ / X_scale self.intercept_ = y_offset - np.dot(X_offset,self.coef_.T) else: self.intercept_ = 0 这种缩放究竟做了什么.我想解释两种方法中的系数(线性回归,封闭形式OLS),但由于只设置fit_intercept True / False给出了线性回归的不同结果,我不能完全决定它们背后的直觉.哪一个更好,为什么? 解决方法
在没有深入到数学公式的细节的情况下,当拟合截距设置为假时,估计器故意将截距设置为零,这反过来影响其他回归量,因为误差减少的“责任”落在这些因素上.结果,如果它对截距项的存在敏感,则在任何一种情况下结果都可能非常不同.缩放移动原点,从而允许相同的闭环解决方案同时拦截和无拦截模型.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |