Data Mining
Интеллектуальный анализ данных находит закономерности, связи, кластеры и аномалии в больших наборах данных с помощью статистики и машинного обучения; это этап анализа в KDD.
Интеллектуальный анализ данных — это поиск полезных закономерностей в больших наборах данных, например совместно встречающихся элементов, естественных групп, предсказательных правил и необычных записей, с помощью статистики, машинного обучения и методов работы с базами данных. Формально интеллектуальный анализ данных — это этап анализа в процессе выявления знаний в базах данных (KDD). В 1996 году Усама Файяд, Грегори Пьятецкий-Шапиро и Падрайк Смит описали этот процесс как последовательность отбора данных, предварительной обработки данных, преобразования, анализа и интерпретации результатов.
Процесс интеллектуального анализа данных#
Одна из широко применяемых моделей процесса — CRISP-DM, межотраслевой стандартный процесс интеллектуального анализа данных, впервые представленный в 1999 году консорциумом, в который входили Teradata, Daimler и NCR. Шесть этапов циклически возвращаются к предыдущим, если на более позднем этапе обнаруживается пробел в раннем:
Подготовка данных, включающая очистку данных, объединение источников и создание признаков, обычно занимает больше всего времени. Если при моделировании выясняется, что закономерность вызвана отсутствующими или продублированными записями, команда возвращается к этому этапу.
Основные методы#
- Поиск ассоциативных правил: выявляет элементы или события, которые происходят вместе, например при анализе покупательской корзины. Алгоритм Apriori Ракеша Агравала и Рамакришнана Шриканта, предложенный в 1994 году, сделал такой анализ практически применимым к большим базам транзакций.
- Кластеризация с помощью k-means или DBSCAN: группирует похожие записи без меток, например сегменты клиентов или сходные изображения; это разновидность обучения без учителя.
- Классификация с помощью деревьев решений: на основе размеченной истории учится применять правила для отнесения записей к известным категориям, например одобрять или помечать заявку на кредит.
- Обнаружение аномалий: выделяет записи, которые сильно отличаются от остальных, например мошеннические операции по карте или отклонение показаний датчика машины от нормы.
- Поиск последовательных закономерностей: выявляет упорядоченные последовательности, например маршруты по страницам, которые чаще всего приводят к покупке.
Ассоциативные правила оценивают по трём показателям. Поддержка — это доля транзакций, содержащих оба элемента; достоверность — доля транзакций с элементом A, которые также содержат элемент B; подъём делит достоверность на общую частоту B. Поэтому значение подъёма выше 1 означает, что A и B встречаются вместе чаще, чем можно было бы ожидать случайно. В этом примере с помощью pandas оцениваются все пары товаров в восьми покупательских корзинах:
from itertools import permutations
import pandas as pd
# Eight shopping baskets, one column per product
baskets = pd.DataFrame(
[[1, 1, 0, 1], [1, 1, 0, 0], [0, 1, 1, 0], [1, 1, 1, 1], [1, 0, 0, 1], [0, 0, 1, 0], [1, 1, 0, 1], [0, 1, 1, 0]],
columns=["bread", "butter", "milk", "jam"],
).astype(bool)
# Score every rule "A -> B" and keep frequent rules that beat chance
for a, b in permutations(baskets.columns, 2):
support = (baskets[a] & baskets[b]).mean() # share of baskets with both items
confidence = support / baskets[a].mean() # share of A baskets that also hold B
lift = confidence / baskets[b].mean() # confidence relative to B's base rate
if support >= 0.25 and lift > 1:
print(f"{a} -> {b}: support {support:.2f}, confidence {confidence:.2f}, lift {lift:.2f}")В результате выводятся четыре правила. Правило «хлеб → масло» имеет высокую достоверность 0,80, но подъём всего 1,07, поскольку масло и так есть в трёх из четырёх корзин. Для правила «хлеб → джем» достоверность такая же, а подъём равен 1,60. У правила «молоко → масло» достоверность составляет 0,75, а подъём — ровно 1,00, поэтому фильтр исключает его.
Интеллектуальный анализ данных в компьютерном зрении#
Коллекции изображений и видео анализируют, чтобы найти примеры, наиболее важные для модели. Поиск сложных отрицательных примеров выбирает фоновые области, которые детектор ошибочно оценивает как объекты, и повторно использует их при обучении; активное обучение ищет в неразмеченных наборах изображения, в прогнозах по которым модель наименее уверена. Анализ журналов обнаружений развёрнутой системы помогает выявить повторяющиеся типы дефектов на производственной линии или часы пик в магазине, а эмбеддинги позволяют командам кластеризовать миллионы изображений по содержимому, находить дубликаты и выявлять пробелы в данных.
Ultralytics Platform анализирует наборы данных таким же образом с помощью панели «Кластеризация»: она вычисляет эмбеддинг для каждого изображения и проецирует набор данных на интерактивную двумерную диаграмму рассеяния, где похожие изображения расположены рядом. Пользователи могут раскрашивать точки по выборке, классу или кластеру, находить дубликаты и выбросы, а также обводить область лассо, чтобы изучить, перемаркировать или переместить эти изображения.
Интеллектуальный анализ данных и смежные понятия#
- Машинное обучение: создаёт модели, способные обобщать результаты на новых данных. Интеллектуальный анализ данных использует многие из тех же алгоритмов, чтобы описывать закономерности в уже имеющихся данных.
- Аналитика данных: более широкая практика поиска ответов на вопросы с помощью данных, которая включает интеллектуальный анализ данных, отчётность и интерпретацию.
- Визуализация данных: наглядно представляет данные и найденные закономерности, чтобы людям было проще их понять.
- Веб-скрейпинг: собирает данные с веб-сайтов. В обиходе это иногда называют интеллектуальным анализом данных, но в техническом смысле анализ следует за сбором данных.










