В этой главе мы сосредоточимся на базовом примере реализации линейной регрессии с использованием TensorFlow. Логистическая регрессия или линейная регрессия — это контролируемый подход машинного обучения для классификации категорий дискретных порядков. Наша цель в этой главе — создать модель, с помощью которой пользователь может предсказать взаимосвязь между переменными предиктора и одной или несколькими независимыми переменными.
Соотношение между этими двумя переменными считается линейным. Если y является зависимой переменной, а x рассматривается как независимая переменная, то отношение линейной регрессии двух переменных будет выглядеть следующим образом:
Y = Ax+b
Мы разработаем алгоритм для линейной регрессии. Это позволит нам понять следующие два важных понятия —
- Функция стоимости
- Алгоритмы градиентного спуска
Схематическое представление линейной регрессии упоминается ниже —
Графическое представление уравнения линейной регрессии упоминается ниже —
Шаги по разработке алгоритма линейной регрессии
Теперь мы узнаем о шагах, которые помогают в разработке алгоритма линейной регрессии.
Шаг 1
Важно импортировать необходимые модули для построения модуля линейной регрессии. Мы начинаем импортировать библиотеки Python NumPy и Matplotlib.
import numpy as np import matplotlib.pyplot as plt
Шаг 2
Определите количество коэффициентов, необходимых для логистической регрессии.
number_of_points = 500 x_point = [] y_point = [] a = 0.22 b = 0.78
Шаг 3
Итерация переменных для генерации 300 случайных точек вокруг уравнения регрессии —
Y = 0,22x + 0,78
for i in range(number_of_points): x = np.random.normal(0.0,0.5) y = a*x + b +np.random.normal(0.0,0.1) x_point.append([x]) y_point.append([y])
Шаг 4
Просмотр сгенерированных точек с помощью Matplotlib.
fplt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() plt.show()
Полный код логистической регрессии выглядит следующим образом:
import numpy as np import matplotlib.pyplot as plt number_of_points = 500 x_point = [] y_point = [] a = 0.22 b = 0.78 for i in range(number_of_points): x = np.random.normal(0.0,0.5) y = a*x + b +np.random.normal(0.0,0.1) x_point.append([x]) y_point.append([y]) plt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() plt.show()
Количество точек, которое берется в качестве входных данных, считается входными данными.