Линейная регрессия

Внедрите несколько методов линейной регрессии в набор данных о ценах на жилье в Бостоне с помощью Scikit-learn.

импортировать matplotlib.pyplot как plt
импортировать numpy как np
импортировать pandas
url = «https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv'< br /> имена = ['длина чашелистика', 'ширина чашелистика', 'длина лепестка', 'ширина лепестка', 'класс']
набор данных = pandas.read_csv(url, имена = имена)
X, Y = набор данных['длина лепестка'], набор данных['ширина лепестка']
plt.scatter(X, Y)
plt.title('График рассеяния')
plt.xlabel('длина лепестка')
plt.ylabel('ширина лепестка')
plt.show()
# Построение модели
t0 = 0
t1 = 0
L = 0,001 # Скорость обучения (ALPHA в конспектах лекций)
epochs = 500 # Количество итераций для выполнения градиентного спуска

m = len(X) # Количество примеров в X
cost_list = []
# Выполнение градиентного спуска
для i в диапазоне (эпох):
Y_pred = t1*X + t0 # Текущее прогнозируемое значение Y
D_t1 = (-1/m) * sum(X * (Y — Y_pred)) # Производный член относительно t1
D_t0 = (-1/m) * sum (Y — Y_pred) # Производный член относительно t0
t1 = t1 — L * D_t1 # Обновление t1
t0 = t0 — L * D_t0 # Обновление t0
cost= (1/2*m ) * sum(Y-Y_pred)**2
cost_list.append(cost)
print (t1, t0)
Y_pred = t1*X + t0
plt.scatter( X, Y)
plt.plot([min(X), max(X)], [min(Y_pred), max(Y_pred)], color='red') #линия регрессии
plt .показывать()

# In[ ]:

plt.plot(list(range(epochs)), cost_list, ‘-r’) #построить график функции стоимости.