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

Привет любителям машинного обучения! Я начну серию «Машинное обучение» с этой статьи и сначала объясню алгоритмы прогнозирования, а затем алгоритмы классификации. В этой серии я расскажу о статистической инфраструктуре машинного обучения, интерпретации графиков и наборов данных, а также создам приложения с актуальными данными с помощью Python.

Наши алгоритмы машинного обучения для прогнозирования будут следующими:

  • Линейная регрессия
  • Полиномиальная регрессия
  • Опорные векторные машины
  • Деревья желаний
  • Случайный лес

Пойдем!

Как машины могут учиться?

Уважаемый Алан Тьюринг должен быть одним из первых, кто задал этот вопрос на академической платформе. На самом деле, он был в чем-то прав, машины в наши дни можно научить, но они не могут думать как люди.

Если мы углубимся в часть обучения, для некоторых алгоритмов по-прежнему требуется взаимодействие с человеком, и они называются Алгоритмы обучения с учителем. Тем не менее, в обучении без учителя или алгоритмах обучения с полуучителем человеческий фактор ограничен или отсутствует вообще. Также существует обучение с подкреплением, но я расскажу об этом в последней части моей серии машинного обучения. Все алгоритмы прогнозирования, которые я объясню, могут быть включены в Обучение с учителем, а алгоритмы классификации перечислены ниже Обучение без учителя.

Предсказание или предсказание?

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

В результате прогнозы могут быть определены в соответствии с числовыми значениями. Если упорядочивание значений сортируется по времени, это называется Анализ временных рядов.. Также могут возникать ситуации, не зависящие от времени, например, угадывание зарплаты человека или многие товары x он/она купит.

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

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

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

Определение регрессии

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

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

Статистическое объяснение этого уравнения:

y = β0 + β1x+ e

  • y — выходная зависимая переменная (т. е. прогнозируемые цены на дома)
  • x вводится, независимая переменная (площадь в м² или этажи домов)
  • β0– значение пересечения для оси Y.
  • β1 — наклон линии регрессии.
  • eэто ошибка

Основная цель линейной регрессии — провести идеальную линию, которая в основном охватывает точки данных. Используя β0иβ1, мы можем нарисовать оптимальную линию, ближайшую к точкам данных. Для этого ошибка — расстояние между реальными данными и прогнозируемыми точками данных должно быть минимальным. После вычисления коэффициентов находится точка пересечения по оси у и наклон линии. Тогда все, что нам нужно сделать, это сделать прогноз!

  • черные точки: фактические точки данных (x и y)
  • синяя линия: оптимальная линия, рассчитанная методом наименьших квадратов и имеющая минимальное расстояние
  • красные линии: расстояние между наблюдаемыми (реальными) и ожидаемыми (прогнозными) точками данных.
  • β1 помогает найти наклон линии
  • при x=0 точка, пересекающая ось y, находится с β0

При визуализации данных в 2-мерном пространстве цель состоит в том, чтобы нарисовать линию с наименьшей ошибкой и наиболее близкую к точкам. Например, многие параметры влияют на фондовый рынок. На эти точки влияет очень много причин. Мы хотим обозначить эту сложную структуру простой прямой линией (y = ax + b). Линейная регрессия предпочтительнее, потому что она очень проста.

Корреляция против регрессии

В корреляции нет цели предсказания; только связь между переменными определяется статистически. Коэффициенты корреляции находятся между -1 и 1. Переменные не могут быть разделены как зависимые/независимые и между ними существует линейная зависимость.

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

И мы можем испачкать руки.

Прогноз цен на жилье с помощью модели линейной регрессии

Вот шаги, которые мы должны предпринять:

  • Загрузка набора данных
  • Предварительная обработка данных
  • Обучение набора данных
  • Прогнозирование зависимого значения после обучения
  • Проверка точности
  • Визуализация данных

я. Загрузите библиотеки и набор данных

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

Для числовых данных: Kaggle, github, AFAD, Kandilli,

Для данных изображения:ImageNet, USGS, RasterVision,

Для данных о сигналах: InterMagnet, PEER Ground Motion Data Base

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

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

II. Создание модели

Чтобы создать модель прогнозирования с помощью линейной регрессии, было выполнено случайное распределение данных с помощью train_test_split из библиотеки scikitlearn, так что 20% все данные будут проверены.

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

III. Визуализация данных

Полный код можно найти здесь.

Этой статьей мы начали серию «Алгоритмы машинного обучения». Вы дошли до конца! Я буду создавать контент об алгоритмах прогнозирования и классификации один за другим. И я хочу обогатить их, используя различные упражнения кода с последними наборами данных. В конце концов, мы можем создавать проекты с несколькими алгоритмами и сравнивать их эффективность.

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

А пока используйте код!