• Линейная регрессия — это тип регрессии в контролируемом машинном обучении.
  • Я полагаю, вы уже знаете, что регрессия понимает отношение между независимыми и зависимыми переменными.
  • Здесь переменная Predictor (независимая/входная переменная) и зависимая переменная связаны линейно.
  • Мы пытаемся найти отношение между независимыми и зависимыми переменными.

Y = зависимая переменная

Bo = Y-пересечение населения (точка пересечения графика с осью Y)

B1 = охват населения/коэффициент

X = независимая переменная

E = член ошибки (в уравнении или невязке)

  • Линейная регрессия также называется Обычный метод наименьших квадратов и Линейный метод наименьших квадратов.
  • Настоящая рабочая лошадка мира регрессии

В этой статье мы поймем реализацию линейной регрессии из игрушечного набора данных.

Реализация линейной регрессии:

Набор данных:"Подробная информация о 50 стартапах"

Ниже описаны столбцы набора данных:

  • Расходы на исследования и разработки — сумма денег, потраченная на исследования и разработки.
  • Администрирование —сумма денег, которая тратится на администрирование.
  • Расходы на маркетинг —сумма денег, потраченная на маркетинг.
  • Штат – штат, в котором работают стартапы.
  • Прибыль — сумма прибыли, полученной стартапами.

Цель

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

ШАГ 01. «Импорт библиотек»

Общие библиотеки:

Панды, NumPy,

Математика из NumPy.

  • Scikit-learn – это бесплатная библиотека машинного обучения для языка программирования Python.

  • Для выполнения показателей оценки,

  • Для визуализации данных,

ШАГ 02. «Импорт диска и данных»

ШАГ 03. «Понимание данных»

  • Мы заметили, что все столбцы имеют тип данных float.
  • За исключением столбца «Состояние», который является категориальным.
  • Поскольку прибыль столбца будет играть жизненно важную роль в этом наборе данных, мы можем использовать параметр построения графика для сравнения данных и их визуализации.

ШАГ 04. "Распределенный график зависимости прибыли от расходов на НИОКР/расходов на администрирование/расходов на маркетинг"

Расходы на маркетинг и прибыль:

Примечание. Что такое альфа в matplotlib?

Matplotlib позволяет регулировать прозрачность графика с помощью альфа-атрибута. По умолчанию альфа=1. Если вы хотите, чтобы график был более прозрачным, вы можете сделать альфа равной 1, например, 0,5 или 0,25.

Затраты на исследования и разработки и прибыль:

Администрирование и прибыль:

Наблюдение из приведенного выше графика рассеяния:

  • И расходы на маркетинг, и исследования и разработки с прибылью имеют некоторую линейную зависимость [.
  • В то время как администрация и прибыль были разбросаны по всем данным.

ШАГ 05. «Визуализируйте среднюю прибыль по каждому состоянию» — с помощью гистограммы.

  • С помощью параметра «Группировать по» столбец «Состояния» был сгруппирован по среднему значению прибыли.

ШАГ 06. "Создайте фиктивные переменные для категориальной переменной State"

  • В наборе данных мы заметили категориальный столбец — «Состояние».

  • Чтобы получить представление о количестве каждой категории, используйте ( dataset.State.value_counts() )
  • Следовательно, мы преобразовали категориальный столбец в фиктивные переменные, как показано ниже:
  • После создания новых фиктивных переменных для каждого столбца мы можем удалить существующий категориальный столбец.

Реструктурированный фрейм данных как,

ШАГ 07: «Разделение независимой переменной и зависимой переменной»

Для зависимых переменных

  • Мы уже знаем, столбец «прибыль» является единственной зависимой переменной.
  • Следовательно,

Для независимых переменных

  • Просто создайте список переменных из набора данных, которые следует исключить из «зависимой переменной».

  • И, наконец, создание новой переменной, «X» — независимая переменная и «Y» — зависимая переменная

ШАГ 08. «Начните обучение набора данных» — с помощью «Train_test_split»

  • Это было сделано с помощью метода «Train_test_split».

Что такое сплит-тест поезда?

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

Размер теста?

  • test_size: это значение с плавающей запятой, значение которого находится в диапазоне от 0,0 до 1,0. он представляет собой долю нашего размера теста. его значение по умолчанию равно none.
  • Здесь мы берем 20% набора данных в качестве тестового набора данных.

Случайное состояние?

  • Гиперпараметр случайного состояния в функции train_test_split() управляет процессом перетасовки.
  • При random_state=None мы получаем разные обучающие и тестовые наборы для разных исполнений, и процесс перетасовки выходит из-под контроля. С random_state=0 мы получаем одни и те же обучающие и тестовые наборы для разных исполнений.

ШАГ 09. «Преобразуйте данные в требуемом масштабе»

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

ШАГ 10. «Подгонка линейной регрессии к нашему набору обучающих данных»

Линейная регрессия()

  • Обычная линейная регрессия методом наименьших квадратов.
  • LinearRegression соответствует линейной модели с коэффициентами w = (w1, …, wp), чтобы минимизировать остаточную сумму квадратов между наблюдаемыми целями в наборе данных и целями, предсказанными линейным приближением.

  • Точка пересечения (иногда называемая «константой») в регрессионной модели представляет собой среднее значение переменной отклика, когда все переменные-предикторы в модели равны нулю.

  • Чтобы получить коэффициент характеристик набора данных,

ШАГ 11. «Прогнозирование Y для X_test»

  • Используя значения X-теста, которые мы изначально разделили с помощью метода разделения тестов поезда, мы предсказали значения «y» и объявили их как новую переменную с именем «y_pred».

ШАГ 12. «Выполнение показателей оценки»

  • Мы уже знаем фактические значения «Y-теста» для «X-теста» из разделенных данных.
  • Теперь мы предсказали значение y из «Y-пред» для «X-пред».
  • Метрики оценки будут выполняться для проверки точности.

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

Хорошо, это подведение итогов с моей стороны!

Спасибо, что прочитали мою статью.

Надеюсь, вам понравится эта пошаговая реализация модели алгоритма линейной регрессии с использованием машинного обучения.

Пожалуйста, найдите ссылку репо на эту статью: https://github.com/ArunPrasath1205/Machine-Learning/tree/main/Implementation%20of%20Linear%20Regression.

Вы можете связаться со мной в Linkedin по ссылке https://www.linkedin.com/in/arunrprasath/

Удачного анализа!