Рубрики
Без рубрики

Простая линейная регрессия

Введение https://youtu.be/1aqne517vte Regence – это метод надзоров, который определяет взаимосвязь между зависимой переменной и независимой переменной (ыми). Регрессионные модели описывают взаимосвязь между зависимыми и независимыми переменными с использованием линии установки. В случае линейных регрессионных моделей это прямая линия, а в случае логистических и нелинейных регрессионных моделей … Простая линейная регрессия Подробнее »

Автор оригинала: Shubham Sayon.

Вступление

Регрессия – это Техника для руководителя обучения который определяет взаимосвязь между зависимой переменной и независимой переменной (ыми). Регрессионные модели описывают взаимосвязь между зависимыми и независимыми переменными с использованием Подходящая линия Отказ В случае линейных регрессионных моделей это прямая линия В случае в случае логистических и нелинейных регрессионных моделей A изогнутые линия используется.

Простая линейная регрессия является методом прогнозирующего анализа для оценки отношений между количественными переменными. Вы можете использовать простую линейную регрессию в следующих сценариях:

  1. Определить прочность отношений между двумя переменными.
  2. Для определения значения зависимой переменной, соответствующей определенной величине независимой переменной/с.

Пример

Очень популярные иллюстрации из эконометрики, которые используют простую линейную регрессию, заключается в том, чтобы найти взаимосвязь между потреблением и доходом. Когда доход увеличивает потребление, растет и наоборот. Независимая переменная – Доход и зависимая переменная – Расход Оба количественные, поэтому вы можете выполнить регрессионный анализ, чтобы узнать, есть ли линейная связь между ними.

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

Количественные переменные: Данные, представляющие суммы/числовые значения, известны как количественные данные. Переменная, которая содержит количественные данные, известна как количественная переменная. Есть два вида количественных переменных: (i) дискретный и (ii) непрерывный

Категорическая переменная: Это переменные, которые представляют классификацию или группировку своего рода. Категорические данные могут быть трех типов: (i) двоичный, (ii) номинальный, (iii) порядковый

Зависимая переменная: Переменная, содержащая данные, которые зависят от другой переменной. Вы не можете управлять данными в зависимой переменной напрямую.

Независимая переменная: Переменная, содержащая данные, которые не зависят от других переменных для его существования. Вы можете контролировать данные независимой переменной напрямую.

Модель: Модель данных представляет собой трансформационный двигатель, используемый для экспрессии зависимых переменных в зависимости от независимых переменных.

Математическое представление линейной регрессии

👨🎓 Можете ли вы вспомнить урок средней школы по геометрии? Ты помнишь, уравнение линии ?

Теперь линейная регрессия является просто примером этого уравнения. Здесь,

  • y обозначает переменную, которая должна быть предсказана. Следовательно, это зависимая переменная Отказ
  • Значение y зависит от стоимости х Отказ Таким образом, х это вход и Независимая переменная Отказ
  • м обозначает наклон и дает угол линии. Следовательно, это параметр Отказ
  • C . обозначает перехват. Таким образом, это Постоянный это определяет, что должно быть значение y Когда х это 0 Отказ

Теперь давайте посмотрим на математическое уравнение, которое представляет простую линейную регрессию:

Где,

β0 ➝ Пересчитать линию регрессии Отказ β1 ➝ Наклон линии регрессии. ε ➝. Термин ошибок.

Примечание : Модель линейной регрессии не всегда идеальна. Он приближается к взаимосвязью между зависимыми и независимыми переменными и приближением часто приводит к ошибкам. Некоторые ошибки могут быть уменьшены, в то время как некоторые ошибки присущи проблемы и не могут быть устранены. Ошибки, которые не могут быть устранены, известны как неприводимая ошибка Отказ

Реализация простая линейная регрессия в Python

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

Заявление о проблеме: Набор данных, используемый пример, был упомянуто выше такого, что:

  • Зарплата представляет собой Зависимая переменная Отказ
  • Годы опыта представляют собой Независимая переменная.

Цели:

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

Примечание: Линия наилучшей посадки – это линия через график разбросов точек данных, которые лучше всего выражают взаимосвязь между этими точками. (См.: Линия наилучшего соответствия )

Давайте погрузимся в шаги, участвующие в реализации простой линейной регрессии.

📢 Шаг 1: Предварительная обработка данных

Первый и главный шаг – предварительная обработка данных. Мы уже обсудили и узнали о предварительно обработке данных; Если вы хотите освоить концепции предварительной обработки данных, пожалуйста, обратитесь к статье по этой ссылке. Давайте быстро пройдем шаги, необходимые для предварительного процесса наших данных:

Импортировать Необходимые библиотеки

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

Импортировать набор данных

dataset = pd.read_csv('Data.csv')
x = dataset.iloc[:, :-1].values
y = dataset.iloc[:, -1].values

Разделите данные, установленные на набор и тестируйте установленный

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=1)

Примечание: Пожалуйста, обратитесь к Учебное пособие на предварительно обработка данных Чтобы понять концепцию за каждым фрагментом, упомянутым выше.

📢 Шаг 2: Обучение простой линейной модели регрессии с использованием учебного набора

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

from sklearn.linear_model import LinearRegression  
regression_obj = LinearRegression()
regression_obj.fit(x_train, y_train)

Объяснение:

  1. Импорт Линейреграция класс от linear_model. Библиотека Scikit – Учите библиотека.
  2. Создать объект regress_obj Отказ
  3. Используйте Fit () Способ Чтобы соответствовать простому линейной модели регрессии к учебному набору, так что модель может учиться и определить корреляции между переменными. Для этого вы должны пройти X_TRAIN и Y_TRAIN (которые представляют собой независимые и зависимые переменные набора тренировок) в Fit () метод.

📢 Шаг 3: Прогнозирование результатов теста

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

y_predicted = regression_obj.predict(x_test)

Объяснение:

  • y_peded Содержит прогнозируемые выходы x_test (Тестовый набор данных). Прогнозировать () Функция Возвращает меченые данные (прогнозируемые выходы).

📢 Шаг 4: Построение и визуализация результатов обучения

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

Что такое Разброс участок?

В простых и простых условиях вы можете визуализировать график разброса в качестве диаграммы, в которой значения набора данных представлены точками. Метод, используемый для рисования графика разброса, известен как рассеивание () Отказ Мы также можем установить цвет точек с помощью цвет атрибут внутри разброс функция.   В разброс Функция, мы пройдем значения тренировок, то есть x_train (многолетний опыт), а y_train (набор зарплат).

Следующая диаграмма представляет собой график разброса:

Вы глубоко глубоко в графики разброса в нашем руководстве в блоге здесь 📈.

Участок () Функция позволяет нам рисовать точки/маркеры на диаграмме и по умолчанию, она рисует строку из одной точки на другую. Мы будем использовать эту функцию, чтобы нарисовать нашу линию регрессии, пройдя x_train (годы опыта), прогнозируемая зарплата учебного набора и цвет линии.

xlabel () и YLabel () Функции используются для установки оси X (годы опыта) и оси Y (зарплата) графика разброса, пока Название () Способ позволяет нам установить заголовок графика разброса. Показать () Отображает фигуры/график и помогает вам визуализировать вывод.

Теперь давайте посмотрим на код, который демонстрирует вышеупомянутое объяснение:

plt.scatter(x_train, y_train, color = 'red')
plt.plot(x_train, regression_obj.predict(x_train), color = 'green')
plt.title('Salary vs Experience for Training set')
plt.xlabel('Experience (in Years)')
plt.ylabel('Salary')
plt.show()

Выход:

📢 Шаг 5: построение и визуализация результатов испытаний

Ранее мы проверили и визуализировали эффективность и производительность нашей модели на основе учебного набора. Теперь пришло время визуализировать вывод для Тестовый набор. Все объяснено на шаге 4, также относится к этому шагу, кроме, вместо использования x_train и y_train Мы будем использовать x_test и y_test в этом случае.

( Примечание: Цвета, используемые в этом случае, разные. Но это необязательно.)

# Visualizing the Test Set Results
plt.scatter(x_test, y_test, color='red')
plt.plot(x_train, regression_obj.predict(x_train), color='blue')
plt.title('Salary vs Experience for Test set')
plt.xlabel('Experience (in Years)')
plt.ylabel('Salary')
plt.show()

Выход:

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

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

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

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

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.

Вы можете связаться со мной @:

Оригинал: “https://blog.finxter.com/simple-linear-regression/”