Введение в алгоритмы Data Science

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

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

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

Типы алгоритмов науки о данных

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

  1. Контролируемые алгоритмы
  2. Неуправляемые алгоритмы

1. Контролируемые алгоритмы

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

  • K Ближайшие соседи

K ближайших соседей (KNN) является одним из самых простых, но мощных алгоритмов машинного обучения. Это контролируемый алгоритм, в котором классификация выполняется на основе k ближайших точек данных. Идея, лежащая в основе KNN, заключается в том, что подобные точки объединяются в кластеры, измеряя свойства ближайших точек данных, мы можем классифицировать тестовую точку данных. Например, мы решаем стандартную задачу классификации, в которой мы хотим предсказать, что точка данных принадлежит классу A или классу B. Пусть k = 3, теперь мы проверим 3 ближайших точки данных тестовой точки данных, если два из них принадлежат классу A мы объявим контрольную точку данных как класс A, в противном случае - класс B. Правильное значение K найдено путем перекрестной проверки. Он имеет линейную сложность по времени, поэтому его нельзя использовать для приложений с низкой задержкой.

  • Линейная регрессия

Линейная регрессия - это контролируемый алгоритм данных.

Выход:

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

  • Логистическая регрессия

Хотя название говорит о регрессии, логистическая регрессия является контролируемым алгоритмом классификации.

Выход:

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

  • Машина опорных векторов

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

Выход:

Мы можем рассматривать опорный вектор как продолжение этой идеи, когда нам нужно найти гиперплоскость, которая максимизирует запас. Но что такое маржа? Для вектора W (поверхность решения, которую нам нужно придумать) мы рисуем две параллельные линии с обеих сторон. Расстояние между этими двумя линиями называется границей. SVM предполагает, что данные линейно разделимы. Хотя мы можем использовать SVM для нелинейных данных, также используя трюк с ядром.

  • Древо решений

Decision Tree - это вложенный классификатор на основе If-Else, который использует древовидную структуру графа для принятия решения. Деревья решений очень популярны и являются одним из наиболее часто используемых контролируемых алгоритмов машинного обучения во всей области науки о данных. Он обеспечивает лучшую стабильность и точность в большинстве случаев по сравнению с другими контролируемыми алгоритмами и устойчив к выбросам. Выходная переменная дерева решений обычно является категориальной, но ее также можно использовать для решения проблем регрессии.

  • ансамбли

Ансамбли - это популярная категория алгоритмов науки о данных, в которой несколько моделей используются вместе для повышения производительности. Если вы знакомы с Kaggle (платформой Google для практики и соревнования в задачах с наукой о данных), вы обнаружите, что большинство решений-победителей используют какие-то ансамбли.

Мы можем грубо разделить ансамбли на следующие категории

  • мешковина
  • стимулирование
  • Stacking
  • Каскадный

Случайный лес, деревья решений с градиентным ускорением - примеры некоторых популярных ансамблевых алгоритмов.

2. Неуправляемые алгоритмы

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

  • K означает

K Means - это рандомизированный неконтролируемый алгоритм, используемый для кластеризации. K Means следует следующим шагам

1. Инициализировать K точек случайным образом (c1, c2..ck)

2. Для каждой точки (Xi) в наборе данных

Выберите ближайший Ci (i = 1, 2, 3..k)

Добавить Си к Си

3. Пересчитайте центроид, используя правильные метрики (то есть внутрикластерное расстояние)

4, повторите шаг (2) (3), пока не сходится

  • K означает ++

Этап инициализации в K означает чисто случайный характер, и в зависимости от инициализации кластеризация резко меняется. K означает, что ++ решает эту проблему путем инициализации k вероятностным способом вместо чистой рандомизации. K означает, что ++ более устойчив, чем классический K означает.

  • K Medoids:

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

Вывод

В этой статье мы обсудили наиболее популярные алгоритмы машинного обучения, используемые в области науки о данных. После всего этого у вас может возникнуть вопрос: « Какой алгоритм лучше? « Очевидно, что здесь нет победителя. Это зависит исключительно от поставленной задачи и требований бизнеса. Лучшая практика всегда начинается с самого простого алгоритма и постепенно увеличивает сложность.

Рекомендуемые статьи

Это было руководство по алгоритмам Data Science. Здесь мы обсудим обзор алгоритмов науки о данных и два типа алгоритмов науки о данных. Вы также можете просмотреть наши статьи, чтобы узнать больше

  1. Data Science Platform
  2. Языки науки о данных
  3. Алгоритмы классификации
  4. Алгоритмы интеллектуального анализа данных
  5. Наиболее используемые техники ансамблевого обучения
  6. Простые способы создания дерева решений
  7. Полное руководство по Data Science Lifecycle