На странице представлен фрагмент
Реши любую задачу с помощью нейросети.
Для решения задачи о линейной регрессии, нам нужно получить коэффициенты уравнения прямой, которая будет аппроксимировать зависимость между заработной платой (X) и скоринговым баллом (y).
1. Сначала импортируем необходимые библиотеки:
import numpy as np
import matplotlib.pyplot as plt
2. Зададим значения заработной платы (X) и скорингового балла (y):
zp = np.array([35, 45, 190, 200, 40, 70, 54, 150, 120, 110])
ks = np.array([401, 574, 874, 919, 459, 739, 653, 902, 746, 832])
3. Добавим столбец единиц для использования интерсепта:
X = np.vstack([np.ones(len(zp)), zp]).T
4. Решим уравнение линейной регрессии с использованием метода наименьших квадратов:
a_with_intercept = np.linalg.lstsq(X, ks, rcond=None)[0]
a_without_intercept = np.linalg.lstsq(zp[:, np.newaxis], ks, rcond=None)[0]
5. Выведем полученные коэффициенты:
print(“Коэффициенты с интерсептом:”, a_with_intercept)
print(“Коэффициент без интерсепта:”, a_without_intercept)
6. Построим график регрессии:
plt.scatter(zp, ks, color=’b’) # Распределение точек
plt.plot(zp, a_without_intercept*zp, color=’r’, label=’Без интерсепта’) # Простая линия регрессии
plt.plot(zp, a_with_intercept[0] + a_with_intercept[1]*zp, color=’g’, label=’С интерсептом’) # Линия регрессии с интерсептом
plt.xlabel(‘Заработная плата’)
plt.ylabel(‘Скоринговый балл’)
plt.legend()
plt.show()
Интерпретация результатов:
– Коэффициент при X (заработная плата) указывает на изменение скорингового балла при изменении заработной платы. Например, при увеличении заработной платы на 1 единицу, скоринговый балл увеличивается на коэффициент a.
– Коэффициент интерсепта (при использовании) показывает ожидаемое значение скорингового балла при нулевой заработной плате.