Введение

Сегодня мы познакомимся с концепцией простой регрессии, которая также называется линейной регрессией. Проще говоря, простая линейная регрессия используется для моделирования взаимосвязи между двумя непрерывными переменными. другими словами, мы можем использовать непрерывные входные данные с одной переменной для прогнозирования выходной переменной с учетом связи между входной и выходной переменной. Обычно идеальное время для использования простой модели линейной регрессии — это когда мы хотим найти силу взаимосвязи между атрибутами (пример: рост учащихся и их возраст).

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

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

Поскольку мы уже знаем, что означает линейное уравнение, давайте попробуем копнуть немного глубже, в линейных уравнениях мы пытаемся получить зависимую переменную «y» через вычисленную весовую сумму независимых переменных. Если мы попытаемся представить это, то это будет выглядеть следующим образом:

Здесь «n» представляет количество точек данных, которые принимаются во внимание. «Wi» представляет собой вес входных данных, а «Xi» представляет собой независимую переменную.

Чтобы сделать представление немного проще для понимания, особенно для понимания того, как мы программируем такую ​​модель, мы преобразуем уравнение, показанное выше, в векторную форму. т.е. взвешенная сумма, эквивалентная умножению вектора-строки независимой переменной «X» на вектор-столбец весов «W»

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

Как найти эти веса? Чтобы понять веса, нам нужен набор данных со значениями x и y, а затем попробуйте использовать приведенное выше уравнение и рассчитать набор весов. Это означает, что мы транспонируем вектор X и получаем уравнение относительно «w».

Примечание. В большинстве случаев в данных будет много шума, и поэтому мы не сможем получить необходимые идеальные веса.

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

Давайте посмотрим код Python и разберемся

Во-первых, чтобы увидеть весь код, просто перейдите по ссылке Google-Colab, указанной здесь: LinearRegressionGoogleColab

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

  • Numpy: математический пакет
  • Matplotlib: пакет, используемый для графиков и визуализации данных.
  • Sklearn: пакет машинного обучения

После импорта необходимых пакетов мы пытаемся создать собственный набор данных с точками X и Y. Мы создаем это с помощью случайной функции numpy для создания 100 точек X-данных, которые могут иметь значение от нуля до сотни. Затем мы присваиваем значения наклону и стандартному отклонению, это помогает нам рассчитать более реалистичное значение для точек Y-данных.

Всегда рекомендуется отображать данные визуально, чтобы понять, с какими данными вы имеете дело. Ниже вы увидите код того, как мы построили наши данные, и очевидно видно, что нам просто нужно использовать линейную модель, чтобы получить точные результаты (даже если мы создали наши данные, чтобы они выглядели так: P).

Самое важное решение, которое люди принимают при создании моделей машинного обучения, — это решение об объединении данных, необходимых для передачи нашей модели. В большинстве случаев идеальное разделение составляет 70/30, где 70 % данных используются для обучения модели, а 30 % — для проверки модели на точность. Но с годами люди начали внедрять другую форму разделения, которая также очень распространена, называемая разделением 50/30/20. В этом разделении 50 % этих данных используются для обучения модели, 30 % используются в качестве проверочного набора и 20 % используются для тестирования модели.

Затем мы создаем нашу линейную модель из пакета Sklearn, а затем вводим правильные данные и моделируем данные.

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

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

Мы рекомендуем использовать наш код из Google Colab в качестве эталона.

Сценарист: Рохит Санджай (проповедник искусственного интеллекта)

Подпишитесь на наш блог: Блог AIPlus