Введение в алгоритмы Data Science
Описание высокого уровня основных алгоритмов, используемых в науке о данных. Как вы уже знаете, наука о данных - это область исследований, где решения принимаются на основе данных, которые мы получаем из данных, а не классических детерминированных подходов, основанных на правилах. Как правило, мы можем разделить задачу машинного обучения на три части
- Получение данных и отображение бизнес-проблемы,
- Применение методов машинного обучения и наблюдение за метрикой производительности
- Тестирование и развертывание модели
На протяжении всего этого жизненного цикла мы используем различные алгоритмы обработки данных для решения поставленной задачи. В этой статье мы разделим наиболее часто используемые алгоритмы на основе их типов обучения и обсудим их на высоком уровне.
Типы алгоритмов науки о данных
Основываясь на методологиях обучения, мы можем просто разделить алгоритмы машинного обучения или науки о данных на следующие типы
- Контролируемые алгоритмы
- Неуправляемые алгоритмы
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. Здесь мы обсудим обзор алгоритмов науки о данных и два типа алгоритмов науки о данных. Вы также можете просмотреть наши статьи, чтобы узнать больше
- Data Science Platform
- Языки науки о данных
- Алгоритмы классификации
- Алгоритмы интеллектуального анализа данных
- Наиболее используемые техники ансамблевого обучения
- Простые способы создания дерева решений
- Полное руководство по Data Science Lifecycle