NumPy Polyfit

NumPy Polyfit Изучение

Линейная регрессия — это первый шаг к изучению науки о данных. Поэтому, даже если вы новичок в этой области, вы должны понимать эти концепции, потому что эти алгоритмы в основном используются исследователями в области науки о данных. Эти алгоритмы также легко понять, чтобы начать путешествие по машинному обучению.

В этом руководстве мы увидим модель регрессии numpy (polyfit).

Функция numpy.polyfit () находит наиболее подходящую линию, минимизируя сумму квадратов ошибок. Этот метод принимает три параметра:

  1. x — входные данные
  2. y- выходные данные
  3. Значение степени полинома (целое число)

Итак, приступим к пошаговому процессу использования метода polyfit.

Шаг 1. Импортируйте всю необходимую библиотеку и пакеты для запуска этой программы.

Импортируйте всю необходимую библиотеку и пакеты для запуска этой программы

Строка 91: мы импортируем библиотеки NumPy и matplotlib. Polyfit автоматически попадает под NumPy, поэтому нет необходимости импортировать. Matplotlib используется для построения данных, а matplotlib inline используется для рисования графика внутри самого ноутбука jupyter.

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

Шаг 2: Теперь наш следующий шаг — создать набор данных (x и y).

Теперь наш следующий шаг — создать набор данных (x и y)

Строка 83: мы произвольно генерируем данные x и y.

x= [28, 8, 11, 37, 15, 25, 51, 11, 32, 34, 43, 2, 40, 16, 40, 25, 40, 17, 21, 57]
y= [8, 8, 9, 72, 22, 51, 85, 4, 75, 48, 72, 1, 62, 37, 75, 42, 75, 47, 57, 95]

Шаг 3: Мы просто собираемся нанести объект (x) и цель (y) на график, как показано ниже:

Мы просто собираемся нанести объект (x) и цель (y) на график, как показано ниже

plt.scatter(x,y)

Шаг 4: На этом шаге мы собираемся подогнать линию к данным x и y.

На этом шаге мы собираемся подогнать линию к данным x и y

Этот шаг очень прост, потому что мы собираемся использовать концепцию метода полифита. Метод polyfit напрямую поставляется с Numpy, как показано выше. Этот метод принимает три параметра:

  1. x — входные данные
  2. y- выходные данные
  3. Значение степени полинома (целое число)

В этой программе мы используем значение степени полинома 1, что означает, что это многочлен первой степени. Но мы также можем использовать его для полиномов второй и третьей степени.

1   model = np.polyfit(x, y, 1)

Когда мы нажимаем Enter, полифит вычисляет модель линейной регрессии и сохраняет в правой части модель переменных.

Логика за подходящей линией

Итак, мы видим, что просто нажав клавишу ввода, мы получили модель линейной регрессии. Итак, теперь мы думаем о том, что на самом деле работает за этим методом и как они подходят к линии.

Метод, который работает позади метода полифита, называется обычным методом наименьших квадратов. Некоторые назвали это коротким названием OLS. Пользователи обычно используют его, чтобы подогнать под линию. Причина в том, что он очень прост в использовании, а также дает точность выше 90%.

Посмотрим, как работает OLS:

Во-первых, нам нужно знать об ошибке. Ошибка вычисляется через разницу между данными x и y.

Например, мы помещаем линию в регрессионную модель, которая выглядит следующим образом:

Синие точки — это точки данных, а красная линия

Синие точки — это точки данных, а красная линия, которую мы помещаем в точки данных, используя метод polyfit.

Предположим, что x = 24 и y = 58.

Когда мы подбираем линию, она вычисляет значение y = 44,3. Разница между фактическим и расчетным значением — это ошибка для конкретной точки данных.

Разница между фактическим и расчетным значением — это ошибка для

Итак, метод наименьших квадратов (OLS) вычисляет аппроксимацию, используя следующие шаги:

  1. Вычисляет ошибку между подобранной моделью и точками данных. Вычисляет ошибку между подобранной моделью и точками данных
  2. Затем мы возводим в квадрат каждую ошибку точек данных.
  3. Просуммируйте все ошибки квадратных точек данных.
  4. Наконец, определите линию, в которой сумма квадратов ошибок минимальна.

Итак, полифит использует вышеуказанные методы для подгонки линии.

Шаг 5: Модель

Мы закончили кодирование машинного обучения. Теперь мы можем проверить значения x и y, которые хранятся в переменных модели. Чтобы проверить значения x и y, мы должны распечатать модель, как показано ниже:

Мы закончили кодирование машинного обучения

Наконец, мы получили контурное уравнение:

у = 1,75505212 * х — 1,27719099

Используя это линейное уравнение, мы можем получить значение y.

Вышеупомянутое линейное уравнение также можно решить с помощью метода ploy1d (), как показано ниже:

predict = np.poly1d(model)
x_value = 20
predict(x_value)

Вышеупомянутое линейное уравнение также можно решить

Получили результат 33.82385131766588.

Тот же результат мы получили и от ручного расчета:

у = 1,75505212 * 20 — 1,27719099

у = 33,82385131766588

Итак, оба приведенных выше результата показывают, что наша модель правильно подходит для этой линии.

Шаг 6: точность модели

Мы также можем проверить точность модели, дает ли она правильные результаты или нет. Точность модели можно рассчитать с помощью R-квадрата (R2). Значение R-квадрата (R2) находится между 0 и 1. Результат, близкий к 1, показывает, что точность модели высока. Итак, проверим точность приведенной выше модели. Мы импортируем другую библиотеку, sklearn, как показано ниже:

from sklearn.metrics import r2_score
r2_score(y, predict(x))

Мы также можем проверить точность модели, дает ли она правильные результаты или нет

Результат показывает, что он близок к 1, поэтому его точность высока.

Шаг 7: Построение модели

Построение графика — это метод визуального просмотра линии, подобранной модели, на точках данных. Это дает четкое изображение модели.

Это дает четкое изображение модели

x_axis = range(0, 60)
y_axis = predict(x_axis)
plt.scatter(x, y)
plt.plot(x_axis, y_axis, c = ‘g’)

Краткое объяснение вышеуказанного метода построения графиков приведено ниже:

1 строка : это диапазон, который мы хотим отобразить на графике. В нашем коде мы используем значение диапазона от 0 до 60.

2 строка: будут вычислены все значения диапазона от 0 до 60.

3 строка: мы передаем исходные наборы данных x и y в метод разброса.

4 строка: Мы, наконец, строим наш график, и зеленая линия является подходящей линией, как показано на приведенном выше графике.

Заключение

В этой статье мы узнали о модели линейной регрессии, которая является началом пути машинного обучения. Существует ряд регрессионных моделей, которые описаны в другой статье. Здесь у нас есть чистый набор данных, потому что он был фиктивным, но в реальных проектах вы можете получить грязный набор данных, и вам нужно будет выполнить проектирование функций для этого, чтобы очистить набор данных для использования в модели. Если вы не полностью понимаете этот учебник, даже он поможет вам легко изучить другую модель регрессии.

Модель линейной регрессии — наиболее распространенный алгоритм, используемый в науке о данных. У вас должно быть представление о регрессионной модели, если вы хотите сделать карьеру в этой области.

Читайте также:  Как идиоматически использовать глобальные переменные в Rust?
Оцените статью
bestprogrammer.ru
Добавить комментарий