【发布时间】:2018-03-02 18:33:27
【问题描述】:
我尝试为形状的线性回归计算最佳权重 W[0] 和 W[1]:
prize=W0*dummy+W1*size
地点:
dummy=[1,1,1,1,1,1,1,1,1,1]
size=[500,550,620,630,665,700,770,880,920,1000]
目标特征 (rental_prize) 具有以下值:
rental_price=[320,380,400,390,385,410,480,600,570,620]
使用以下代码,我尝试计算 W0 和 W1,以使线性回归最适合数据。
# descriptive features
size=[500,550,620,630,665,700,770,880,920,1000]
dummy=[1,1,1,1,1,1,1,1,1,1]
# Vector which contains the descriptive features
features=[dummy,size]
# target feature
rental_price=[320,380,400,390,385,410,480,600,570,620]
# Set the learning rate alpha
alpha=0.002
# Feature weight vector --> model=[W0,W1]
# Set initial values for W0 and W1
model=[0,0]
for i in range(len(model)):
for j in range(100):
errordelta=np.sum([(rental_price[x]-(model[0]*dummy[x]+model[1]*size[x]))*features[i][x] for x in range(len(size))])
model[i]=model[i]+alpha*errordelta
print(model[0])
print(model[1])
395.09179229
南
该模型实际上应该返回大约 6.47 的 W0 和 0.62 的 W1。如果我更改 alpha 以及初始权重和迭代 (j) 的值,模型仍然没有接近所需值...
显然代码中一定有故障....
谁能帮帮我。
【问题讨论】:
标签: python machine-learning linear-regression gradient-descent