作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将线性回归(正规方程)与 SGD 进行比较,但看起来 SGD 相去甚远。我做错了什么吗?
这是我的代码
x = np.random.randint(100, size=1000)
y = x * 0.10
slope, intercept, r_value, p_value, std_err = stats.linregress(x=x, y=y)
print("slope is %f and intercept is %s" % (slope,intercept))
#slope is 0.100000 and intercept is 1.61435309565e-11
这是我的 SGD
x = x.reshape(1000,1)
clf = linear_model.SGDRegressor()
clf.fit(x, y, coef_init=0, intercept_init=0)
print(clf.intercept_)
print(clf.coef_)
#[ 1.46746270e+10]
#[ 3.14999003e+10]
我原以为 coef
和 intercept
几乎相同,因为数据是线性的。
最佳答案
当我尝试运行这段代码时,出现了溢出错误。我怀疑您遇到了同样的问题,但出于某种原因,它并没有引发错误。
如果缩小功能,一切都会按预期进行。使用 scipy.stats.linregress
:
>>> x = np.random.random(1000) * 10
>>> y = x * 0.10
>>> slope, intercept, r_value, p_value, std_err = stats.linregress(x=x, y=y)
>>> print("slope is %f and intercept is %s" % (slope,intercept))
slope is 0.100000 and intercept is -2.22044604925e-15
使用linear_model.SGDRegressor
:
>>> clf.fit(x[:,None], y)
SGDRegressor(alpha=0.0001, epsilon=0.1, eta0=0.01, fit_intercept=True,
l1_ratio=0.15, learning_rate='invscaling', loss='squared_loss',
n_iter=5, penalty='l2', power_t=0.25, random_state=None,
shuffle=False, verbose=0, warm_start=False)
>>> print("slope is %f and intercept is %s" % (clf.coef_, clf.intercept_[0]))
slope is 0.099763 and intercept is 0.00163353754797
slope
的值有点低,但我猜这是因为正则化。
关于python - 为什么我的 SGD 与我的线性回归模型相去甚远?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31411049/
我不知道为什么 Username: 和 Password: 与 edittext 表单相差如此之远。有人可以帮我解决这个问题吗?
当我使用 Chrome devtools 调试器时,我遇到了一个问题,即 Webpack 使用 inline-source-map 配置设置生成的源映射偏离一行。Webpack 在 Ruby on R
我是一名优秀的程序员,十分优秀!