Проблема с градиентным спуском
у меня проблема с тем что error ломает мне сразу кф b и дальше все сводится к тому что кф становятся nan, пробовал кф ставить из МНК но все равно не помогло, подскажите пожалуйста что я делаю не так?
def coefficients_sgd(dataset, l_rate, n_epoch, a, b):
for _ in range(n_epoch):
for row in dataset:
yhat = round(a + (b * row[0]), 5)
error = round(yhat - row[1], 5)
a = round(a - (l_rate * error), 5)
b = round(b - (l_rate * row[0] * error), 5)
return [a, b]
датасет
km,price
240000,3650
139800,3800
150500,4400
185530,4450
176000,5250
114800,5350
166800,5800
89000,5990
144500,5999
84000,6200
82029,6390
63060,6390
74000,6600
97500,6800
67000,6800
76025,6900
48235,6900
93000,6990
60949,7490
65674,7555
54000,7990
68500,7990
22899,7990
61789,8290