在sklearn linear regression中,返回的intercept_
是一个数组而不是标量。为什么这样?
其他类型的回归量,例如HuberRegressor允许intercept_
作为标量返回。因此,整个api的代码一致性不应该是原因。
答案 0 :(得分:1)
我会将你的问题改为"为什么有些算法会将intercept_
作为标量值返回?"
对于多个功能,如果我们谈论线性模型,我们通常需要多个偏差(intercepts
)...
在HuberRegressor中,拦截被明确设置为标量值:
if self.fit_intercept:
self.intercept_ = parameters[-2]
else:
self.intercept_ = 0.0
self.coef_ = parameters[:X.shape[1]]