Опыт восстановления пропущенной рыночной информации на основе Байесовского подхода.
Data Mining. Анализ рыночной корзины. Поиск ассоциативных...
-
Upload
bitworks-software -
Category
Data & Analytics
-
view
672 -
download
5
Transcript of Data Mining. Анализ рыночной корзины. Поиск ассоциативных...
Data Mining.Анализ рыночной
корзины.Поиск ассоциативных
правил.
Data Mining
• Data mining – «Копать данные»• Data mining — совокупность методов обнаружения в данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности.
Методы Data Mining
Задачи Data Mining:• Классификация;• Моделирование;• Прогнозирование.
Основа методов:• Деревья решений;• Нейронные сети;• Генетические алгоритмы.
Задачи Data Mining
Постановка задачи: извлечь «скрытые данные» из достаточно крупной базы данных.
Скрытые знания — ранее неизвестные, нетривиальные, практически полезные и доступные для интерпретации данные, как уже было сказано ранее.
Знания Data Mining
Знания представлены в виде:
• Ассоциативных правил;
• Деревьев решений;
• Кластеров;
• Математических функций.
Задачи Data Mining
Задачи Data
Mining
Описательные (descriptive)
Предсказательные (predictive)
Этапы решения задач методами Data Mining
Задача поиска ассоциативных правил
• Задача: реализация рекомендательной системы по подбору сочетаний продуктов к введенному пользователем списку.
Основа решения: набор кулинарных рецептов и то, как продукты сочетаются между собой в этих рецептах.
Ассоциативные правила
Вид правила:• «если… то…»• «Если клиент купил пиво, то он купит и чипсы».
Ассоциативное правило – форма представления знаний.Используются в задаче «Анализ рыночной корзины».
Анализ рыночной корзины (Market Basket Analysis)
• Рыночная корзина – набор товаров, приобретаемых покупателем в рамках одной транзакции.
• Транзакция – множество событий, которые произошли одновременно.
• Транзакционная база данных (Transaction database) – двумерная таблица, состоящая из номера транзакции и перечня покупок.
Анализ рыночной корзины (Market Basket Analysis)
• I — набор продуктов {i1, i2, …, ik};• j — продукт;• Support — количество наборов, содержащих элементы из I;
• Минимальная поддержка;
l Support{Beer, Bread} = 2
Анализ рыночной корзины (Market Basket Analysis)
● Ассоциативное правило: I={i1, i2, …, ik} → j
— если набор содержит элементы из I, то она содержит и j.
● Confidence — уверенность рекомендации набора I → j.
Пример● Продукты = {milk, coke, pepsi, beer, juice}● Минимальная поддержка = 3
B1 = {m, c, b} B2 = {m, p, j} B3 = {m, b} B4 = {c, j} B5 = {m, p, b} B6 = {m, c, b, j}B7 = {c, b, j} B8 = {b, c}
● Часто встречающиеся наборы:{m}, {c}, {b}, {j}, {m, b}, {b, c}, {c, j}
● Правило {m, b} → cconf({m, b} → c) = Support{m, b, c}/Support{m, b} = 2/4
Алгоритмы поиска ассоциативных правил
Frequent Itemset – часто встречающиеся наборы элементов.
•Apriori• Eclat•FP-Growth• One-attribute-rule• Zero-attribute-rule
Алгоритм «Априори»
• Обычный вид базы данных транзакций
Алгоритм «Априори»
• Нормализованный вид базы данных транзакций
Алгоритм «Априори»
Алгоритм «Априори»: реализация
Алгоритм «Априори»: реализация
Реализация на Spark
● Driver — управляющий процесс;● Executor process — исполняющие процессы,
рассредоточенные по узлам кластера.● Task — задачи, выполняемые на executors.
1.Нормализация входного набора данных:2. Количество;3. Единицы измерения;4. Эпитеты, местоимения и прочие «лишние» слова.
Реализация на Spark
Проблемы Априори
Выделение памяти; Скорость выполнения алгоритма — увеличение времени получения часто встречающихся наборов с каждой следующей итерацией.
Пути решения
● Кэширование;● Предварительная обработка входного набора данных и дальнейшее использование результатов этой обработки;
● Подбор другого алгоритма (FP-Growth).
Априори (v 1.0): 35 минут
1 2 3 4 50
500
1000
1500
2000
2500
Априори (v 1.0)
№ итерации
сек.
1 2 3 4 50
100
200
300
400
500
600
Априори (v2.0)
№ итерации
сек.
Априори (v 2.0): 9 минут 10 секунд
● Apache Spark MlLib 1.5.0;● Отсутствует генерация кандидатов;● Основа — Frequent-Pattern Tree (дерево популярных наборов).
● «Разделяй и властвуй».
Алгоритм FP-Growth
Алгоритм FP-Growth
Предметы упорядочены в транзакциях по убыванию значений их поддержек (support)
Алгоритм FP-Growth
Алгоритм FP-Growth
Алгоритм FP-Growth
Построение FP-дерева для транзакции (c, b, d, e, a)
Построение FP-дерева для транзакции (c, b, a)
Алгоритм FP-Growth
Построение FP-дерева для транзакции (c, d, e, a)
Алгоритм FP-Growth
Результаты
1 2 3 4 50
500
1000
1500
2000
2500
Априори (v1.0)
Априори (v2.0)
№ итерации
сек.
1 20
500
1000
1500
2000
2500
Априори (v1.0)
Априори (v2.0)
FP-Growth
№ итерации
сек.
FP-Growth vs. A-priori
ПримерыВходные параметры Результат
Набор = {salt, sugar, flour}Добавить = 2 продуктаВывести = 5 результатов
egg, flour, powder, salt, sugar 204
butter, egg, flour, salt, sugar 198
egg, flour, salt, soda, sugar 190
egg, flour, salt, sugar, vanilla 171
egg, flour, salt, soda, vanilla 145
Набор = {pepper, onion}Добавить = 2 продуктаВывести = 5 результатов
onion, pepper, salt, water 83
butter, onion, pepper, salt 77
clove garlic, onion, pepper, salt 73
butter, flour, pepper, salt 62
egg, milk, onion, salt 60
Набор = {meat, avocado}Добавить = 2 продуктаВывести = 5 результатов
avocado, onion, salt, tomato 5
avocado, cheddar cheese, tomato, water 4
avocado, clove garlic, onion, salt 4
avocado, chili powder, clove garlic, salt 4
avocado, head lettuce, meat, tomatoe 1
Входные параметры Результат
Набор = {tomatoe, oregano}Добавить = 2 продуктаВывести = 5 результатов
basil, clove garlic, onion, oregano)) 46
clove garlic, onion, oregano, salt) 39
onion, oregano, pepper, salt 32
onion, pepper, salt, tomatoe 31
clove garlic, onion, salt, tomatoe 29
Набор = {ground beef, tomato sauce}Добавить = 1 продуктаВывести = 8 результатов
ground beef, onion, salt 129
ground beef, pepper, salt 73
onion, salt, tomato sauce 69
egg, ground beef, onion 62
ground beef, onion, tomato sauce 54
Набор = {avocado, tomato, oregano}Добавить = 2 продуктаВывести = 5 результатов
clove garlic, onion, oregano, pepper, salt 19
basil, clove garlic, onion, oregano, salt 16
basil, clove garlic, onion, oregano, tomato paste 15
clove garlic, onion, oregano, salt, tomato paste 14
basil, clove garlic, oregano, pepper flake, virgin olive oil 13
avocado, jar pimento, onion, oregano, tomato 2
avocado, chili powder, oregano, sauce, tomato 2
avocado, jar pimento, oregano, sauce, tomato 2
avocado, clove garlic, oregano, tomato, water 2
avocado, onion, oregano, tomato, water 2
Другие задачи
● Поиск ассоциативных правил в результатах опросов;
● Медицина;● Анализ посещений веб-страниц;● Перепись населения;● Прогнозирование сбоев телекоммуникационного оборудования.
Спасибо за внимание!