Автор оригинала: Shubham Sayon.
Вступление
Регрессия – это Техника для руководителя обучения который определяет взаимосвязь между зависимой переменной и независимой переменной (ыми). Регрессионные модели описывают взаимосвязь между зависимыми и независимыми переменными с использованием Подходящая линия Отказ В случае линейных регрессионных моделей это прямая линия В случае в случае логистических и нелинейных регрессионных моделей A изогнутые линия используется.
Простая линейная регрессия является методом прогнозирующего анализа для оценки отношений между количественными переменными. Вы можете использовать простую линейную регрессию в следующих сценариях:
- Определить прочность отношений между двумя переменными.
- Для определения значения зависимой переменной, соответствующей определенной величине независимой переменной/с.
Пример
Очень популярные иллюстрации из эконометрики, которые используют простую линейную регрессию, заключается в том, чтобы найти взаимосвязь между потреблением и доходом. Когда доход увеличивает потребление, растет и наоборот. Независимая переменная – Доход
и зависимая переменная – Расход
Оба количественные, поэтому вы можете выполнить регрессионный анализ, чтобы узнать, есть ли линейная связь между ними.
Прежде чем мы погрузимся, давайте понять некоторые из основных концепций, необходимых для борьбы с регрессионным анализом.
❂ Количественные переменные: Данные, представляющие суммы/числовые значения, известны как количественные данные. Переменная, которая содержит количественные данные, известна как количественная переменная. Есть два вида количественных переменных: (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)
Объяснение:
- Импорт Линейреграция класс от linear_model. Библиотека Scikit – Учите библиотека.
- Создать объект
regress_obj
Отказ - Используйте
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/”