首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单特征梯度下降中的特征缩放

单特征梯度下降中的特征缩放
EN

Stack Overflow用户
提问于 2019-03-25 01:10:47
回答 1查看 142关注 0票数 0

我正在编写线性回归的代码,其中我的模型将根据面积预测房价。所以,我只有一个特征,那就是房子的面积,我的输出是价格。我的输入是面积在1000 - 9000之间,房价在280000 - 800000之间。那么,我应该如何执行功能缩放,以及我应该如何通过输出来管理它。我的意思是,如果我把房子的面积在0-1的范围内,房价也在0-1的范围内,然后找出theta1和theta2的值(因为我正在应用线性回归方程,如output = theta1 + theta2*input ),或者我应该将房价降低到1,000-9,000的范围。

我正在应用特征缩放,其中我将输入值和输出值都设置在0-1之间,我的模型没有给出正确的答案。我能找出其中的错误,但我不能纠正它。请告诉我该如何继续。

EN

回答 1

Stack Overflow用户

发布于 2019-03-25 21:23:52

代码语言:javascript
复制
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import normalize
import numpy as np
X=np.random.randint(1000,9000,(10,))
Y=np.random.randint(100,200,(10,))+100*X
reg = LinearRegression().fit(X.reshape(-1,1), Y)
print(reg.score(X.reshape(-1,1),Y))
print(reg.coef_)
0.9999999822251018
[100.00518473]

X1=normalize(X.reshape(-1,1),axis=0)
Y1=normalize(Y.reshape(-1,1),axis=0)
reg = LinearRegression().fit(X1.reshape(-1,1), Y1)
print(reg.score(X1.reshape(-1,1),Y1))
print(reg.coef_)

0.9999999822251019
[[0.99982554]]

这只是使用非归一化和归一化数据的普通线性回归。在这些情况下不会有区别。只有你的问题的标题包括“梯度下降”,所以如果你使用梯度下降方法,权重将自动调整。

正常的SGD是:w=w-alpha*Δ

其中alpha是学习率,随着时间的推移,权重将自动调整。所以这两者之间没有区别。只有那个归一化的必须处理小于1的数字,所以计算会更容易。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55326356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档