Введение
Сегодня мы познакомимся с концепцией простой регрессии, которая также называется линейной регрессией. Проще говоря, простая линейная регрессия используется для моделирования взаимосвязи между двумя непрерывными переменными. другими словами, мы можем использовать непрерывные входные данные с одной переменной для прогнозирования выходной переменной с учетом связи между входной и выходной переменной. Обычно идеальное время для использования простой модели линейной регрессии — это когда мы хотим найти силу взаимосвязи между атрибутами (пример: рост учащихся и их возраст).
Примечание. Здесь непрерывные переменные означают переменную, которая может принимать неограниченное количество значений.
Математика простой линейной регрессии
Поскольку мы уже знаем, что означает линейное уравнение, давайте попробуем копнуть немного глубже, в линейных уравнениях мы пытаемся получить зависимую переменную «y» через вычисленную весовую сумму независимых переменных. Если мы попытаемся представить это, то это будет выглядеть следующим образом:
Здесь «n» представляет количество точек данных, которые принимаются во внимание. «Wi» представляет собой вес входных данных, а «Xi» представляет собой независимую переменную.
Чтобы сделать представление немного проще для понимания, особенно для понимания того, как мы программируем такую модель, мы преобразуем уравнение, показанное выше, в векторную форму. т.е. взвешенная сумма, эквивалентная умножению вектора-строки независимой переменной «X» на вектор-столбец весов «W»
Поскольку в приведенной выше матрице выделяется только одна зависимая переменная, теперь мы можем выделить «X» как набор точек данных. Поскольку веса не меняются независимо от независимого вектора, теперь мы можем обозначить все новое уравнение следующим образом:
Как найти эти веса? Чтобы понять веса, нам нужен набор данных со значениями 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