我正在使用scikit-learn库来拟合代理基本优化的模型。
这样做的时候,我遇到了一种奇怪的行为。 作为示例,请考虑以下最小问题:
import numpy as np
from sklearn.linear_model import Lars
fun = lambda x: x**2+1e5
x = py.linspace(-1,1,100)
X = np.array([
x**0,
x**1,
x**2,
x**3
]).T
y = fun(x)
lar_obj = Lars().fit(X,y)
for deg, coef in enumerate(lar_obj.coef_):
print("%d: %s"%(deg,coef))
输出将是:
Out: 0: 0.0
1: 0.0
2: 1.0000000000019964
3: 0.0
我期望零级多项式系数为1e5
,但为0
。
这是预期的行为吗?还是我做错了什么?