Задача
Я написал этот код, но это дает ошибки:
RuntimeWarning: переполнение при умножении
t2_temp = sum(x*(y_temp - y))
RuntimeWarning: переполнение в double_scalars
t1_temp = sum(y_temp - y)
Должен ли я использовать функцию масштабирования или в моем коде что-то не так?
код
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
def gradient_descent(x,y,t1,t2,repeat,alpha):
n = x.size
for i in range(repeat):
y_temp = x*t2 + t1
t1_temp = sum(y_temp - y)
t2_temp = sum(x*(y_temp - y))
t1 = t1 - alpha * (t1_temp/n)
t2 = t2 - alpha * (t2_temp/n)
return [t1,t2]
d = pd.read_csv("train.csv")
x = d['GrLivArea']
y = d['SalePrice']
x = (np.array(x.values))
y = (np.array(y.values))
alpha = 0.047
repeat = 3000
theta = [1.23154644,1.654132398]
tt = gradient_descent(x,y,theta[0],theta[1],repeat,alpha)
print("FINISH")