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

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

Один из первых вопросов, который люди задают о том или ином алгоритме: является ли он контролируемым или неконтролируемым? Вот что означают эти термины.

Обучение с учителем - алгоритмы, которым для обучения требуется "обучающий" набор данных.

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

Еще один ключевой вопрос, который они задают, - «Какой тип алгоритма основан на том, как он работает»? Вот основные типы алгоритмов.

Классификация: эти алгоритмы помещают существующие данные (или прошлые данные) в различные «классы» (отсюда и классификацию) на основе их атрибутов (свойств) и используют эти классифицированные данные для составления прогнозов.

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

Сегментация или кластеризация. Эти алгоритмы разделяют данные на группы или кластеры элементов со схожими свойствами.

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

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

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

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

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

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

Выбросы - точки данных, выходящие за пределы обычного диапазона. Например. в тесте с наибольшим количеством баллов от 40 до 45 оценка 100 будет исключительной.

Шумные данные - данные с большим количеством выбросов.

Имея это в виду, давайте теперь перейдем к нашей избранной теме самых популярных алгоритмов интеллектуального анализа данных. Я составил этот список из различных публикаций, но наиболее важным источником является исследовательская статья из этого документа Международной конференции IEEE. Барабанная дробь, пожалуйста. Поехали!

Алгоритм C4.5 / Под наблюдением / Тип классификации

Алгоритм, используемый для создания инструмента "Дерево решений" (технический термин "классификатор") для классификации данных из набора обучающих данных. Используется для принятия решения на основе определенной выборки данных.

Алгоритм K-средних / Без учителя / Тип кластеризации

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

Алгоритм опорных векторов (SVM) / контролируемый / тип классификации или регрессии

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

Алгоритм априори / Без учителя / Тип ассоциации

Определяет частые отдельные элементы в базе данных и расширяет их до все больших и больших наборов элементов, пока эти наборы элементов появляются в базе данных достаточно часто. Частые наборы элементов, определенные Apriori, можно использовать для определения правил ассоциации, которые выделяют общие тенденции в базе данных.

Алгоритм ожидания-максимизации (EM) / без учителя / тип кластеризации

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

Алгоритм PageRank / Без учителя / Тип ассоциации

PageRank, популяризируемый Google PageRank для веб-сайтов, представляет собой алгоритм анализа ссылок, предназначенный для определения относительной важности некоторого объекта, связанного в сети объектов.

Алгоритм Adaboost / Под наблюдением / Тип классификации

Adaboost, сокращение от Adaptive boosting, является частью так называемых алгоритмов повышения, среди которых GBM и XGBoost являются другими популярными алгоритмами повышения. Adaboost объединяет несколько «слабых» классификаторов в один «сильный классификатор» или, другими словами, использует несколько «слабых» систем обучения для создания «сильной» системы обучения.

Алгоритм K-ближайших соседей (KNN) / контролируемый / тип классификации

Алгоритм KNN сначала просматривает k ближайших помеченных точек обучающих данных - другими словами, k-ближайших соседей. K в данном случае можно понимать как количество соседей или глубину. Во-вторых, используя классы соседей, kNN лучше понимает, как следует классифицировать новые данные.

Наивный алгоритм Байеса / Под наблюдением / Тип классификации

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

Алгоритм деревьев классификации и регрессии (CART) / Под наблюдением / Тип классификации и регрессии

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

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

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

Какой ваш любимый алгоритм? Какие еще важные алгоритмы мне не хватает в этом списке?

Спасибо за чтение.

Эта история опубликована в The Startup, крупнейшем предпринимательском издании Medium, за которым следят +432 678 человек.

Подпишитесь, чтобы получать наши главные новости здесь.