SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Харьковский национальный университет имени В. Н. Каразина 
Факультет компьютерных наук 
ИНТЕЛЛЕКТУАЛЬНЫЙ 
АНАЛИЗ ДАННЫХ 
Data Mining 
Подготовил: 
доцент каф. искусственного интеллекта и программного обеспечения, 
к.ф.-м. н. Гахов Андрей Владимирович 
2014/2015 уч. год
ЛЕКЦИЯ 5 
Поиск шаблонов, ассоциаций и взаимных связей в данных. 
Часть 1
ПРОБЛЕМАТИКА 
• Одним из популярных примеров является задача 
анализа шаблонов покупок, совершаемых в 
супермаркетах (т.н. анализ рыночной корзины 
или market basket analysis). 
• В частности, задача заключается в анализе 
пользовательских предпочтений путем 
поиска ассоциативных связей между различными 
товарами в пользовательской корзине. 
• Знание таких ассоциативных связей позволяет 
совершенствовать стратегии продаж
ПРИМЕР 
• Предположим, вашей задачей является увеличение продаж 
магазина. Анализируя данные покупок клиентов, вы ищете ответы 
на вопросы “Какие товары покупаются чаще всего вместе?” 
• Например, из анализа ассоциаций в данных покупок ваших 
клиентов, вы узнаете, что что множество покупателей принтеров, 
одновременно покупают и бумагу. 
• В этом случае, можно обязать продавцов при продаже 
принтеров предлагать бумагу и (или) разместить бумагу рядом с 
принтерами на полках магазина, а можно наоборот разместить 
принтеры и бумагу в разных концах торгового зала, заставляя 
покупателя пройти мимо других товарных позиций и, возможно, 
купить что-то еще.
АССОЦИАТИВНЫЕ 
ПРАВИЛА
• Ассоциативные правила, направленные на поиск взаимосвязей 
между товарами, неразрывно связаны с понятием транзакции. 
• Транзакция - это множество событий, которые произошли 
одновременно. 
• Например, разные товары в одном чеке образуют одну 
покупку или транзакцию. 
• Множество транзакций организуют в операционную базу 
данных с которой и проводят работы по анализу данных. 
• Транзакционная или операционная база данных 
(Transaction database) представляет собой двухмерную таблицу, 
которая состоит из идентификатора транзакции (TID) и 
перечня товаров, приобретенных во время этой транзакции.
АССОЦИАТИВНОЕ ПРАВИЛО 
• Рассмотрим транзакционную базу данных D, состоящую из транзакций T, 
относящихся к рассматриваемой задаче. Каждая транзакция T 
представляет собой некое непустое подмножество набора всех данных I: 
T ⊆ I = i1,i2 ,…in { } 
• Пусть A некоторые множество данных. Будем говорить, что транзакция 
T содержит набор данных A, если 
A ⊆ T 
• Ассоциативное правило имеет следующий общий вид: "Из события A 
следует событие B” или 
A⇒ B, A ⊆ I, B ⊆ I, A ≠ ∅, B ≠ ∅, A∩ B = ∅ 
• В результате такого анализа можно установить правило следующего вида: 
"Если в транзакции встретился набор товаров A, тогда в этой же 
транзакции должен появиться набор товаров B”
ПОДДЕРЖКА И ДОСТОВЕРНОСТЬ 
• Основными характеристиками ассоциативного правила являются 
поддержка и достоверность правила. 
• Поддержка ассоциативного правила (обеспечение набора) - это 
вероятность, что транзакция содержит элементы как набора A, так и 
набора B (т.е. AUB) 
support(A⇒ B) = P(A ∪ B) 
• Используя формулы классической вероятности, поддержка может быть 
вычислена как: 
support(A⇒ B) = 
count 
A∪B⊆T 
(T ) 
count(T ) 
• Поддержку принято выражать в процентах, например 10%.
ПОДДЕРЖКА И ДОСТОВЕРНОСТЬ 
• Достоверность ассоциативного правила - это 
вероятность, что транзакция содержит набор B, при условии, 
что она содержит набор A (т.е. B|A) 
confidence(A⇒ B) = P(B | A) 
• Используя формулы условной вероятности, достоверность 
может быть вычислена как: 
confidence(A⇒ B) = P(A ∪ B) 
P(A) 
= 
count 
A∪B⊆T 
(T ) 
count 
A⊆T 
(T ) 
• Достоверность также принято выражать в процентах, 
например 10%.
ПОДДЕРЖКА И ДОСТОВЕРНОСТЬ 
• Поддержка характеризует полезность ассоциативного правила, а 
достоверность - его определенность. 
• При найденных поддержке и достоверности, ассоциативное 
правило записывается в виде: 
A⇒ B support [ = x%, confidence = y%] 
• При изучении ассоциативных правил устанавливается 
минимальный порог поддержки (minimum support threshold, 
min_sup) и минимальный порог достоверности (minimum 
confidence threshold, min_conf). 
• Ассоциативное правило называется строгим, если его 
поддержка и достоверность удовлетворяют минимальному 
порогу поддержки и минимальному порогу достоверности.
ПРИМЕР 
Рассмотрим следующую транзакционную базу данных: 
001 хлеб, молоко 
002 хлеб, колбаса, молоко 
003 колбаса, хлеб 
004 хлеб, молоко, яйца, мука 
005 молоко, яйца, мука 
006 рыба, яйца, мука 
007 хлеб, сыр, молоко 
008 молоко, яйца 
Необходимо вычислить поддержку и достоверность для 
следующего ассоциативного правила: хлеб => молоко 
Исходный набор данных имеет вид: I = {хлеб, молоко, колбаса, 
яйца, мука, рыба, сыр}, подмножества A = {хлеб}, B = {молоко} 
• Общее число транзакций: count(T ) = 8 
• Число транзакций c AUB = {хлеб, молоко}: count 
A∪B⊆T 
(T ) = 4 
• Число транзакций c A = {хлеб}: count 
A⊆T 
(T ) = 5 
count 
A∪B⊆T 
(T ) 
count(T ) 
= 4 
8 
= 0.5 ⇒ support(A⇒ B) = 50% 
count 
A∪B⊆T 
(T ) 
count 
A⊆T 
(T ) 
= 4 
6 
= 0.67 ⇒ confidence(A⇒ B) = 67%
ПОИСК АССОЦИАТИВНЫХ ПРАВИЛ 
• Алгоритм поиска ассоциативных правил состоит из таких шагов: 
• Поиск всех часто встречающихся наборов (подмножеств), т.е. 
таких, которые встречаются не реже, чем в min_sup транзакциях 
• Построение строгих ассоциативных правил 
• Основная сложность поиска заключается в выборе часто 
встречающихся наборов - т.к. для больших баз данных таких наборов 
может быть найдено огромное количество, особенно когда min_sup 
мало. 
• Например, если исходный набор данных состоит из 100 элементов, 
тогда количество непустых подмножеств будет равно: 
100 + C2 
C1 
100 +!C100 
100 = 2100 −1 ≈1.27 ⋅1030 
• Таким образом, даже для такого малого исходного набора данных, 
количество проверяемых наборов может быть огромно и необходимы 
специальные алгоритмы (например, алгоритм Apriori)
ПОСТРОЕНИЕ СТРОГИХ АССОЦИАТИВНЫХ ПРАВИЛ 
Как только часто встречающиеся наборы найдены тем или 
иным способом, генерация строгих ассоциативных правил не 
представляет больших трудностей: 
• Для каждого частно встречающегося набора L, построить 
всевозможные непустые строгие подмножества S 
• Для каждого непустого подмножества S ассоциативное 
правило “S => LS” будет строгим, если 
confindence(S⇒ L  S) = 
count 
L⊆T 
(T ) 
count 
S⊆T 
(T ) 
≥ min_conf 
• Уровень поддержки для S автоматически удовлетворяет 
минимальному порогу, т.к. S является подмножеством 
часто встречающегося набора
ПОИСК ЧАСТО ВСТРЕЧАЮЩИХСЯ НАБОРОВ 
АЛГОРИТМ APRIORI
АЛГОРИТМ APRIORI 
• Apriori - это алгоритм поиска часто встречающихся наборов, 
предложенный в 1994 сотрудниками IBM Almaden Research Center 
• Идея алгоритма заключается в последовательном построении 
более длинных часто встречающихся наборов, где для нахождения 
наборов Lk+1 длины k+1 используются найденные наборы Lk длины k 
• Нахождение каждого Lk требует полного просмотра 
транзакционной базы данных для подсчета поддержки, поэтому для 
повышения эффективности и сокращения пространства поиска 
используется свойство Apriori: 
Все непустые подмножества часто встречающегося набора 
также являются часто встречающимися наборами
АЛГОРИТМ APRIORI 
• На начальном этапе строится множество кандидатов С1, состоящее из 
каждого элемента исходного набора данных 
• Для каждого элемента С1 вычисляется поддержка и удаляются элементы с 
поддержкой, меньшей min_sup. Оставшиеся элементы признаются часто 
встречающимися наборами длины 1 и образуют L1 
• Дальнейшие шаги построения набора Lk+1 с использованием Lk можно 
разделить на 2 этапа: 
• объединение. На данном этапе генерируется множество кандидатов 
Ck+1 путем соединения Lk с самим собой (т.е. построения 
всевозможных комбинаций длины k из элементов набора Lk) 
• отсечение. Множество Ck+1 является большим, чем Lk поэтому может 
содержать как часто встречающиеся, так и прочие элементы. На основе 
свойства Apriori проводится удаление кандидатов и оставшиеся 
элементы образуют Lk+1
ПРИМЕР (MIN_SUP=20%, MIN_CONF=90%) 
001 E1, E2, E5 
002 E2, E4 
003 E2, E3 
004 E1, E2, E4 
005 E1, E3 
006 E2, E3 
007 E1, E3 
008 E1, E2, E3, E5 
009 E1, E2, E3 
С1 support 
{E1} 66% 
{E2} 77% 
{E3} 66% 
{E4} 22% 
{E5} 22% 
support ≥ min_sup 
min_sup = 20% 
support 
L1 
{E1} 66% 
{E2} 77% 
{E3} 66% 
{E4} 22% 
{E5} 22% 
С2 
{E1, E2} 
{E1, E3} 
{E1, E4} 
{E1, E5} 
{E2, E3} 
{E2, E4} 
{E2, E5} 
{E3, E4} 
{E3, E5} 
{E4, E5} 
С2 support 
{E1, E2} 44% 
{E1, E3} 44% 
{E1, E4} 11% 
{E1, E5} 22% 
{E2, E3} 44% 
{E2, E4} 22% 
{E2, E5} 22% 
{E3, E4} 0% 
{E3, E5} 11% 
{E4, E5} 0% 
support ≥ min_sup 
min_sup = 20% 
L2 support 
{E1, E2} 44% 
{E1, E3} 44% 
{E1, E5} 22% 
{E2, E3} 44% 
{E2, E4} 22% 
{E2, E5} 22% 
С4 
{E1, E2, E3} 
{E1, E2, E5} 
{E1, E3, E5} 
{E2, E3, E4} 
{E2, E3, E5} 
{E2, E4, E5} 
L4 support 
{E1, E2, E3} 22% 
{E1, E2, E5} 22% 
support ≥ min_sup 
min_sup = 20% 
С4 support 
{E1, E2, E3} 22% 
{E1, E2, E5} 22% 
свойство 
Apriori
ПРИМЕР (MIN_SUP=20%, MIN_CONF=90%) 
После нахождения часто встречающихся наборов, перейдем к 
построению ассоциативных правил 
• Рассмотрим набор {E1, E2, E5} 
• Непустые строгие подмножества данного набора: 
{E1, E2}, {E1, E5}, {E2, E5}, {E1}, {E2}, {E5} 
• Ассоциативные правила для данных подмножеств: 
• {E1, E2} => {E5}, confidence = 2/4 = 50% 
• {E1, E5} => {E2}, confidence = 2/2 = 100% 
• {E2, E5} => {E1}, confidence = 2/2 = 100% 
• {E1} => {E2, E5}, confidence = 2/6 = 33% 
• {E2} => {E1, E5}, confidence = 2/7 = 29% 
• {E5} => {E1, E2}, confidence = 2/2 = 100% 
Для требуемого порога min_conf=90% строгими ассоциативными 
правилами являются: {E1, E5} => {E2}, {E2, E5} => {E1} и {E5} => {E1, E2}
ОБЗОР ДРУГИХ АЛГОРИТМОВ 
• Алгоритм AIS (1993). Первый алгоритм поиска ассоциативных правил, c которого 
начался интерес к ассоциативным правилам. В алгоритме AIS кандидаты множества 
наборов генерируются и подсчитываются "на лету", во время сканирования базы 
данных. Неудобство AIS - излишнее генерирование и подсчет слишком многих 
кандидатов, которые в результате не оказываются часто встречающимися. 
• PARTITION алгоритм (1995) - заключается в сканировании транзакционной базы 
данных путем разделения ее на непересекающиеся разделы, каждый из которых 
может уместиться в оперативной памяти. На первом шаге в каждом из разделов 
при помощи алгоритма Apriori определяются "локальные" часто встречающиеся 
наборы данных. На втором подсчитывается поддержка каждого такого набора 
относительно всей базы данных. Таким образом, на втором этапе определяется 
множество всех потенциально встречающихся наборов данных. 
• Алгоритм DIC, Dynamic Itemset Counting (1997). Алгоритм разбивает базу данных 
на несколько блоков, каждый из которых отмечается так называемыми 
"начальными точками" (start point), и затем циклически сканирует базу данных.
ЗАДАНИЯ 
001 хлеб, молоко 
002 хлеб, колбаса, молоко 
003 колбаса, хлеб 
004 хлеб, молоко, яйца, мука 
005 молоко, яйца, мука 
006 рыба, яйца, мука 
007 хлеб, сыр, молоко 
008 молоко, яйца 
• Для приведенной транзакционной базы данных, вычислите поддержку и 
достоверность правила: {молоко}=>{яйца, мука}. Как вы считаете, является 
ли данное правило полезным? 
• Для приведенной транзакционной базы данных проведите вычисления по 
алгоритму Apriori и найдите часто встречающийся набор данных 
• Предположим, что исходный набор состоит из 100 товаров, 
пронумерованных от 1 до 100. Транзакционная база данных состоит из 100 
транзакций, причем транзакция k содержит товары, на чьи номера k делится 
без остатка (т.е. элемент 1 будет во всех транзакциях, 2 - будет в каждой 
четной транзакции, … Например, транзакция 12 будет содержать {1, 2, 3, 
4, 6, 12}) 
• Если min_sup=5%, какие элементы будут часто встречающимися? 
• Вычислите поддержку и достоверность правила {5, 7} => {2} 
• Вычислите поддержку и достоверность правила {2, 3, 4} =>{5}

Mais conteúdo relacionado

Mais procurados

0. основы r
0. основы r0. основы r
0. основы rmsuteam
 
Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2Technopark
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Dmitry Kornev
 
Моделирование ТПиПП
Моделирование ТПиППМоделирование ТПиПП
Моделирование ТПиППAndrey Urusov
 
Алгоритмы и структуры данных осень 2013 лекция 2
Алгоритмы и структуры данных осень 2013 лекция 2Алгоритмы и структуры данных осень 2013 лекция 2
Алгоритмы и структуры данных осень 2013 лекция 2Technopark
 
Введение в машинное обучение
Введение в машинное обучение Введение в машинное обучение
Введение в машинное обучение Anton Anokhin
 

Mais procurados (10)

0. основы r
0. основы r0. основы r
0. основы r
 
Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
Моделирование ТПиПП
Моделирование ТПиППМоделирование ТПиПП
Моделирование ТПиПП
 
4 azure 24 04
4 azure 24 044 azure 24 04
4 azure 24 04
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
Алгоритмы и структуры данных осень 2013 лекция 2
Алгоритмы и структуры данных осень 2013 лекция 2Алгоритмы и структуры данных осень 2013 лекция 2
Алгоритмы и структуры данных осень 2013 лекция 2
 
Введение в машинное обучение
Введение в машинное обучение Введение в машинное обучение
Введение в машинное обучение
 
Алгоритмы поиска
Алгоритмы поискаАлгоритмы поиска
Алгоритмы поиска
 
Lsa fca spb
Lsa fca spbLsa fca spb
Lsa fca spb
 

Destaque

Вероятностные структуры данных
Вероятностные структуры данныхВероятностные структуры данных
Вероятностные структуры данныхAndrii Gakhov
 
Probabilistic data structures. Part 4. Similarity
Probabilistic data structures. Part 4. SimilarityProbabilistic data structures. Part 4. Similarity
Probabilistic data structures. Part 4. SimilarityAndrii Gakhov
 
Developing a PLN and open co-learning opportunities #UoRsocialmedia
Developing a PLN and open co-learning opportunities #UoRsocialmediaDeveloping a PLN and open co-learning opportunities #UoRsocialmedia
Developing a PLN and open co-learning opportunities #UoRsocialmediaSue Beckingham
 
Absspring2011beefsiredirectory
Absspring2011beefsiredirectoryAbsspring2011beefsiredirectory
Absspring2011beefsiredirectoryAbs Pecplan
 
Creative Humanitarian Approaches To Poverty Alleviation And Sustainability: E...
Creative Humanitarian Approaches To Poverty Alleviation And Sustainability: E...Creative Humanitarian Approaches To Poverty Alleviation And Sustainability: E...
Creative Humanitarian Approaches To Poverty Alleviation And Sustainability: E...Dr. Chris Stout
 
Paper for presentation
Paper for presentationPaper for presentation
Paper for presentationjoel osir
 
MRP
MRPMRP
MRP8686
 
Child of the dark book review
Child of the dark book reviewChild of the dark book review
Child of the dark book reviewJustin A. Rigi
 
Apple Days - A 1980’s perspective of Apple UK
Apple Days - A 1980’s perspective of Apple UKApple Days - A 1980’s perspective of Apple UK
Apple Days - A 1980’s perspective of Apple UKGary Potter
 
Social Media Crash Course - Puget Sound Business Journal Seminar Series
Social Media Crash Course - Puget Sound Business Journal Seminar SeriesSocial Media Crash Course - Puget Sound Business Journal Seminar Series
Social Media Crash Course - Puget Sound Business Journal Seminar SeriesHeinz Marketing Inc
 
Dish 2011 Rene Tol V1.0
Dish 2011 Rene Tol V1.0Dish 2011 Rene Tol V1.0
Dish 2011 Rene Tol V1.0ReneTol
 
Exploration of Pipeline Water System in Doldoli Tea Garden and Its Feasibilit...
Exploration of Pipeline Water System in Doldoli Tea Garden and Its Feasibilit...Exploration of Pipeline Water System in Doldoli Tea Garden and Its Feasibilit...
Exploration of Pipeline Water System in Doldoli Tea Garden and Its Feasibilit...Shahadat Hossain Shakil
 
Grafico diario del dax perfomance index para el 08 05-2012
Grafico diario del dax perfomance index para el 08 05-2012Grafico diario del dax perfomance index para el 08 05-2012
Grafico diario del dax perfomance index para el 08 05-2012Experiencia Trading
 
Arrogant Bastards Guide to Cloud Architecture
Arrogant Bastards Guide to Cloud ArchitectureArrogant Bastards Guide to Cloud Architecture
Arrogant Bastards Guide to Cloud Architectureevilmartini
 
Universidad nacional de chimborazo.docx tarjeta madre
Universidad nacional de chimborazo.docx tarjeta madreUniversidad nacional de chimborazo.docx tarjeta madre
Universidad nacional de chimborazo.docx tarjeta madrejhon pintag
 
How the Internet of Things Leads to Better, Faster Crisis Communication
 How the Internet of Things Leads to Better, Faster Crisis Communication How the Internet of Things Leads to Better, Faster Crisis Communication
How the Internet of Things Leads to Better, Faster Crisis CommunicationBlackBerry
 

Destaque (20)

Вероятностные структуры данных
Вероятностные структуры данныхВероятностные структуры данных
Вероятностные структуры данных
 
Probabilistic data structures. Part 4. Similarity
Probabilistic data structures. Part 4. SimilarityProbabilistic data structures. Part 4. Similarity
Probabilistic data structures. Part 4. Similarity
 
Developing a PLN and open co-learning opportunities #UoRsocialmedia
Developing a PLN and open co-learning opportunities #UoRsocialmediaDeveloping a PLN and open co-learning opportunities #UoRsocialmedia
Developing a PLN and open co-learning opportunities #UoRsocialmedia
 
Absspring2011beefsiredirectory
Absspring2011beefsiredirectoryAbsspring2011beefsiredirectory
Absspring2011beefsiredirectory
 
Creative Humanitarian Approaches To Poverty Alleviation And Sustainability: E...
Creative Humanitarian Approaches To Poverty Alleviation And Sustainability: E...Creative Humanitarian Approaches To Poverty Alleviation And Sustainability: E...
Creative Humanitarian Approaches To Poverty Alleviation And Sustainability: E...
 
Paper for presentation
Paper for presentationPaper for presentation
Paper for presentation
 
MRP
MRPMRP
MRP
 
Child of the dark book review
Child of the dark book reviewChild of the dark book review
Child of the dark book review
 
Apple Days - A 1980’s perspective of Apple UK
Apple Days - A 1980’s perspective of Apple UKApple Days - A 1980’s perspective of Apple UK
Apple Days - A 1980’s perspective of Apple UK
 
Career vs Health
Career vs HealthCareer vs Health
Career vs Health
 
Social Media Crash Course - Puget Sound Business Journal Seminar Series
Social Media Crash Course - Puget Sound Business Journal Seminar SeriesSocial Media Crash Course - Puget Sound Business Journal Seminar Series
Social Media Crash Course - Puget Sound Business Journal Seminar Series
 
Dish 2011 Rene Tol V1.0
Dish 2011 Rene Tol V1.0Dish 2011 Rene Tol V1.0
Dish 2011 Rene Tol V1.0
 
Exploration of Pipeline Water System in Doldoli Tea Garden and Its Feasibilit...
Exploration of Pipeline Water System in Doldoli Tea Garden and Its Feasibilit...Exploration of Pipeline Water System in Doldoli Tea Garden and Its Feasibilit...
Exploration of Pipeline Water System in Doldoli Tea Garden and Its Feasibilit...
 
Grafico diario del dax perfomance index para el 08 05-2012
Grafico diario del dax perfomance index para el 08 05-2012Grafico diario del dax perfomance index para el 08 05-2012
Grafico diario del dax perfomance index para el 08 05-2012
 
Ronak ppt
Ronak pptRonak ppt
Ronak ppt
 
Arrogant Bastards Guide to Cloud Architecture
Arrogant Bastards Guide to Cloud ArchitectureArrogant Bastards Guide to Cloud Architecture
Arrogant Bastards Guide to Cloud Architecture
 
Universidad nacional de chimborazo.docx tarjeta madre
Universidad nacional de chimborazo.docx tarjeta madreUniversidad nacional de chimborazo.docx tarjeta madre
Universidad nacional de chimborazo.docx tarjeta madre
 
How the Internet of Things Leads to Better, Faster Crisis Communication
 How the Internet of Things Leads to Better, Faster Crisis Communication How the Internet of Things Leads to Better, Faster Crisis Communication
How the Internet of Things Leads to Better, Faster Crisis Communication
 
Google analytics 2
Google analytics 2Google analytics 2
Google analytics 2
 
Circuits 2011 in English
Circuits 2011 in EnglishCircuits 2011 in English
Circuits 2011 in English
 

Mais de Andrii Gakhov

Let's start GraphQL: structure, behavior, and architecture
Let's start GraphQL: structure, behavior, and architectureLet's start GraphQL: structure, behavior, and architecture
Let's start GraphQL: structure, behavior, and architectureAndrii Gakhov
 
Exceeding Classical: Probabilistic Data Structures in Data Intensive Applicat...
Exceeding Classical: Probabilistic Data Structures in Data Intensive Applicat...Exceeding Classical: Probabilistic Data Structures in Data Intensive Applicat...
Exceeding Classical: Probabilistic Data Structures in Data Intensive Applicat...Andrii Gakhov
 
Too Much Data? - Just Sample, Just Hash, ...
Too Much Data? - Just Sample, Just Hash, ...Too Much Data? - Just Sample, Just Hash, ...
Too Much Data? - Just Sample, Just Hash, ...Andrii Gakhov
 
Implementing a Fileserver with Nginx and Lua
Implementing a Fileserver with Nginx and LuaImplementing a Fileserver with Nginx and Lua
Implementing a Fileserver with Nginx and LuaAndrii Gakhov
 
Pecha Kucha: Ukrainian Food Traditions
Pecha Kucha: Ukrainian Food TraditionsPecha Kucha: Ukrainian Food Traditions
Pecha Kucha: Ukrainian Food TraditionsAndrii Gakhov
 
Probabilistic data structures. Part 3. Frequency
Probabilistic data structures. Part 3. FrequencyProbabilistic data structures. Part 3. Frequency
Probabilistic data structures. Part 3. FrequencyAndrii Gakhov
 
Probabilistic data structures. Part 2. Cardinality
Probabilistic data structures. Part 2. CardinalityProbabilistic data structures. Part 2. Cardinality
Probabilistic data structures. Part 2. CardinalityAndrii Gakhov
 
Recurrent Neural Networks. Part 1: Theory
Recurrent Neural Networks. Part 1: TheoryRecurrent Neural Networks. Part 1: Theory
Recurrent Neural Networks. Part 1: TheoryAndrii Gakhov
 
Apache Big Data Europe 2015: Selected Talks
Apache Big Data Europe 2015: Selected TalksApache Big Data Europe 2015: Selected Talks
Apache Big Data Europe 2015: Selected TalksAndrii Gakhov
 
Swagger / Quick Start Guide
Swagger / Quick Start GuideSwagger / Quick Start Guide
Swagger / Quick Start GuideAndrii Gakhov
 
API Days Berlin highlights
API Days Berlin highlightsAPI Days Berlin highlights
API Days Berlin highlightsAndrii Gakhov
 
ELK - What's new and showcases
ELK - What's new and showcasesELK - What's new and showcases
ELK - What's new and showcasesAndrii Gakhov
 
Apache Spark Overview @ ferret
Apache Spark Overview @ ferretApache Spark Overview @ ferret
Apache Spark Overview @ ferretAndrii Gakhov
 
Decision Theory - lecture 1 (introduction)
Decision Theory - lecture 1 (introduction)Decision Theory - lecture 1 (introduction)
Decision Theory - lecture 1 (introduction)Andrii Gakhov
 
Buzzwords 2014 / Overview / part2
Buzzwords 2014 / Overview / part2Buzzwords 2014 / Overview / part2
Buzzwords 2014 / Overview / part2Andrii Gakhov
 
Buzzwords 2014 / Overview / part1
Buzzwords 2014 / Overview / part1Buzzwords 2014 / Overview / part1
Buzzwords 2014 / Overview / part1Andrii Gakhov
 
Метод дискретных особенностей и компьютерный инструментарий для моделировани...
Метод дискретных особенностей и компьютерный  инструментарий для моделировани...Метод дискретных особенностей и компьютерный  инструментарий для моделировани...
Метод дискретных особенностей и компьютерный инструментарий для моделировани...Andrii Gakhov
 

Mais de Andrii Gakhov (20)

Let's start GraphQL: structure, behavior, and architecture
Let's start GraphQL: structure, behavior, and architectureLet's start GraphQL: structure, behavior, and architecture
Let's start GraphQL: structure, behavior, and architecture
 
Exceeding Classical: Probabilistic Data Structures in Data Intensive Applicat...
Exceeding Classical: Probabilistic Data Structures in Data Intensive Applicat...Exceeding Classical: Probabilistic Data Structures in Data Intensive Applicat...
Exceeding Classical: Probabilistic Data Structures in Data Intensive Applicat...
 
Too Much Data? - Just Sample, Just Hash, ...
Too Much Data? - Just Sample, Just Hash, ...Too Much Data? - Just Sample, Just Hash, ...
Too Much Data? - Just Sample, Just Hash, ...
 
DNS Delegation
DNS DelegationDNS Delegation
DNS Delegation
 
Implementing a Fileserver with Nginx and Lua
Implementing a Fileserver with Nginx and LuaImplementing a Fileserver with Nginx and Lua
Implementing a Fileserver with Nginx and Lua
 
Pecha Kucha: Ukrainian Food Traditions
Pecha Kucha: Ukrainian Food TraditionsPecha Kucha: Ukrainian Food Traditions
Pecha Kucha: Ukrainian Food Traditions
 
Probabilistic data structures. Part 3. Frequency
Probabilistic data structures. Part 3. FrequencyProbabilistic data structures. Part 3. Frequency
Probabilistic data structures. Part 3. Frequency
 
Probabilistic data structures. Part 2. Cardinality
Probabilistic data structures. Part 2. CardinalityProbabilistic data structures. Part 2. Cardinality
Probabilistic data structures. Part 2. Cardinality
 
Recurrent Neural Networks. Part 1: Theory
Recurrent Neural Networks. Part 1: TheoryRecurrent Neural Networks. Part 1: Theory
Recurrent Neural Networks. Part 1: Theory
 
Apache Big Data Europe 2015: Selected Talks
Apache Big Data Europe 2015: Selected TalksApache Big Data Europe 2015: Selected Talks
Apache Big Data Europe 2015: Selected Talks
 
Swagger / Quick Start Guide
Swagger / Quick Start GuideSwagger / Quick Start Guide
Swagger / Quick Start Guide
 
API Days Berlin highlights
API Days Berlin highlightsAPI Days Berlin highlights
API Days Berlin highlights
 
ELK - What's new and showcases
ELK - What's new and showcasesELK - What's new and showcases
ELK - What's new and showcases
 
Apache Spark Overview @ ferret
Apache Spark Overview @ ferretApache Spark Overview @ ferret
Apache Spark Overview @ ferret
 
Decision Theory - lecture 1 (introduction)
Decision Theory - lecture 1 (introduction)Decision Theory - lecture 1 (introduction)
Decision Theory - lecture 1 (introduction)
 
Buzzwords 2014 / Overview / part2
Buzzwords 2014 / Overview / part2Buzzwords 2014 / Overview / part2
Buzzwords 2014 / Overview / part2
 
Buzzwords 2014 / Overview / part1
Buzzwords 2014 / Overview / part1Buzzwords 2014 / Overview / part1
Buzzwords 2014 / Overview / part1
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Lean analytics
Lean analyticsLean analytics
Lean analytics
 
Метод дискретных особенностей и компьютерный инструментарий для моделировани...
Метод дискретных особенностей и компьютерный  инструментарий для моделировани...Метод дискретных особенностей и компьютерный  инструментарий для моделировани...
Метод дискретных особенностей и компьютерный инструментарий для моделировани...
 

Data Mining - lecture 8 - 2014

  • 1. Харьковский национальный университет имени В. Н. Каразина Факультет компьютерных наук ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ДАННЫХ Data Mining Подготовил: доцент каф. искусственного интеллекта и программного обеспечения, к.ф.-м. н. Гахов Андрей Владимирович 2014/2015 уч. год
  • 2. ЛЕКЦИЯ 5 Поиск шаблонов, ассоциаций и взаимных связей в данных. Часть 1
  • 3. ПРОБЛЕМАТИКА • Одним из популярных примеров является задача анализа шаблонов покупок, совершаемых в супермаркетах (т.н. анализ рыночной корзины или market basket analysis). • В частности, задача заключается в анализе пользовательских предпочтений путем поиска ассоциативных связей между различными товарами в пользовательской корзине. • Знание таких ассоциативных связей позволяет совершенствовать стратегии продаж
  • 4. ПРИМЕР • Предположим, вашей задачей является увеличение продаж магазина. Анализируя данные покупок клиентов, вы ищете ответы на вопросы “Какие товары покупаются чаще всего вместе?” • Например, из анализа ассоциаций в данных покупок ваших клиентов, вы узнаете, что что множество покупателей принтеров, одновременно покупают и бумагу. • В этом случае, можно обязать продавцов при продаже принтеров предлагать бумагу и (или) разместить бумагу рядом с принтерами на полках магазина, а можно наоборот разместить принтеры и бумагу в разных концах торгового зала, заставляя покупателя пройти мимо других товарных позиций и, возможно, купить что-то еще.
  • 6. • Ассоциативные правила, направленные на поиск взаимосвязей между товарами, неразрывно связаны с понятием транзакции. • Транзакция - это множество событий, которые произошли одновременно. • Например, разные товары в одном чеке образуют одну покупку или транзакцию. • Множество транзакций организуют в операционную базу данных с которой и проводят работы по анализу данных. • Транзакционная или операционная база данных (Transaction database) представляет собой двухмерную таблицу, которая состоит из идентификатора транзакции (TID) и перечня товаров, приобретенных во время этой транзакции.
  • 7. АССОЦИАТИВНОЕ ПРАВИЛО • Рассмотрим транзакционную базу данных D, состоящую из транзакций T, относящихся к рассматриваемой задаче. Каждая транзакция T представляет собой некое непустое подмножество набора всех данных I: T ⊆ I = i1,i2 ,…in { } • Пусть A некоторые множество данных. Будем говорить, что транзакция T содержит набор данных A, если A ⊆ T • Ассоциативное правило имеет следующий общий вид: "Из события A следует событие B” или A⇒ B, A ⊆ I, B ⊆ I, A ≠ ∅, B ≠ ∅, A∩ B = ∅ • В результате такого анализа можно установить правило следующего вида: "Если в транзакции встретился набор товаров A, тогда в этой же транзакции должен появиться набор товаров B”
  • 8. ПОДДЕРЖКА И ДОСТОВЕРНОСТЬ • Основными характеристиками ассоциативного правила являются поддержка и достоверность правила. • Поддержка ассоциативного правила (обеспечение набора) - это вероятность, что транзакция содержит элементы как набора A, так и набора B (т.е. AUB) support(A⇒ B) = P(A ∪ B) • Используя формулы классической вероятности, поддержка может быть вычислена как: support(A⇒ B) = count A∪B⊆T (T ) count(T ) • Поддержку принято выражать в процентах, например 10%.
  • 9. ПОДДЕРЖКА И ДОСТОВЕРНОСТЬ • Достоверность ассоциативного правила - это вероятность, что транзакция содержит набор B, при условии, что она содержит набор A (т.е. B|A) confidence(A⇒ B) = P(B | A) • Используя формулы условной вероятности, достоверность может быть вычислена как: confidence(A⇒ B) = P(A ∪ B) P(A) = count A∪B⊆T (T ) count A⊆T (T ) • Достоверность также принято выражать в процентах, например 10%.
  • 10. ПОДДЕРЖКА И ДОСТОВЕРНОСТЬ • Поддержка характеризует полезность ассоциативного правила, а достоверность - его определенность. • При найденных поддержке и достоверности, ассоциативное правило записывается в виде: A⇒ B support [ = x%, confidence = y%] • При изучении ассоциативных правил устанавливается минимальный порог поддержки (minimum support threshold, min_sup) и минимальный порог достоверности (minimum confidence threshold, min_conf). • Ассоциативное правило называется строгим, если его поддержка и достоверность удовлетворяют минимальному порогу поддержки и минимальному порогу достоверности.
  • 11. ПРИМЕР Рассмотрим следующую транзакционную базу данных: 001 хлеб, молоко 002 хлеб, колбаса, молоко 003 колбаса, хлеб 004 хлеб, молоко, яйца, мука 005 молоко, яйца, мука 006 рыба, яйца, мука 007 хлеб, сыр, молоко 008 молоко, яйца Необходимо вычислить поддержку и достоверность для следующего ассоциативного правила: хлеб => молоко Исходный набор данных имеет вид: I = {хлеб, молоко, колбаса, яйца, мука, рыба, сыр}, подмножества A = {хлеб}, B = {молоко} • Общее число транзакций: count(T ) = 8 • Число транзакций c AUB = {хлеб, молоко}: count A∪B⊆T (T ) = 4 • Число транзакций c A = {хлеб}: count A⊆T (T ) = 5 count A∪B⊆T (T ) count(T ) = 4 8 = 0.5 ⇒ support(A⇒ B) = 50% count A∪B⊆T (T ) count A⊆T (T ) = 4 6 = 0.67 ⇒ confidence(A⇒ B) = 67%
  • 12. ПОИСК АССОЦИАТИВНЫХ ПРАВИЛ • Алгоритм поиска ассоциативных правил состоит из таких шагов: • Поиск всех часто встречающихся наборов (подмножеств), т.е. таких, которые встречаются не реже, чем в min_sup транзакциях • Построение строгих ассоциативных правил • Основная сложность поиска заключается в выборе часто встречающихся наборов - т.к. для больших баз данных таких наборов может быть найдено огромное количество, особенно когда min_sup мало. • Например, если исходный набор данных состоит из 100 элементов, тогда количество непустых подмножеств будет равно: 100 + C2 C1 100 +!C100 100 = 2100 −1 ≈1.27 ⋅1030 • Таким образом, даже для такого малого исходного набора данных, количество проверяемых наборов может быть огромно и необходимы специальные алгоритмы (например, алгоритм Apriori)
  • 13. ПОСТРОЕНИЕ СТРОГИХ АССОЦИАТИВНЫХ ПРАВИЛ Как только часто встречающиеся наборы найдены тем или иным способом, генерация строгих ассоциативных правил не представляет больших трудностей: • Для каждого частно встречающегося набора L, построить всевозможные непустые строгие подмножества S • Для каждого непустого подмножества S ассоциативное правило “S => LS” будет строгим, если confindence(S⇒ L S) = count L⊆T (T ) count S⊆T (T ) ≥ min_conf • Уровень поддержки для S автоматически удовлетворяет минимальному порогу, т.к. S является подмножеством часто встречающегося набора
  • 14. ПОИСК ЧАСТО ВСТРЕЧАЮЩИХСЯ НАБОРОВ АЛГОРИТМ APRIORI
  • 15. АЛГОРИТМ APRIORI • Apriori - это алгоритм поиска часто встречающихся наборов, предложенный в 1994 сотрудниками IBM Almaden Research Center • Идея алгоритма заключается в последовательном построении более длинных часто встречающихся наборов, где для нахождения наборов Lk+1 длины k+1 используются найденные наборы Lk длины k • Нахождение каждого Lk требует полного просмотра транзакционной базы данных для подсчета поддержки, поэтому для повышения эффективности и сокращения пространства поиска используется свойство Apriori: Все непустые подмножества часто встречающегося набора также являются часто встречающимися наборами
  • 16. АЛГОРИТМ APRIORI • На начальном этапе строится множество кандидатов С1, состоящее из каждого элемента исходного набора данных • Для каждого элемента С1 вычисляется поддержка и удаляются элементы с поддержкой, меньшей min_sup. Оставшиеся элементы признаются часто встречающимися наборами длины 1 и образуют L1 • Дальнейшие шаги построения набора Lk+1 с использованием Lk можно разделить на 2 этапа: • объединение. На данном этапе генерируется множество кандидатов Ck+1 путем соединения Lk с самим собой (т.е. построения всевозможных комбинаций длины k из элементов набора Lk) • отсечение. Множество Ck+1 является большим, чем Lk поэтому может содержать как часто встречающиеся, так и прочие элементы. На основе свойства Apriori проводится удаление кандидатов и оставшиеся элементы образуют Lk+1
  • 17. ПРИМЕР (MIN_SUP=20%, MIN_CONF=90%) 001 E1, E2, E5 002 E2, E4 003 E2, E3 004 E1, E2, E4 005 E1, E3 006 E2, E3 007 E1, E3 008 E1, E2, E3, E5 009 E1, E2, E3 С1 support {E1} 66% {E2} 77% {E3} 66% {E4} 22% {E5} 22% support ≥ min_sup min_sup = 20% support L1 {E1} 66% {E2} 77% {E3} 66% {E4} 22% {E5} 22% С2 {E1, E2} {E1, E3} {E1, E4} {E1, E5} {E2, E3} {E2, E4} {E2, E5} {E3, E4} {E3, E5} {E4, E5} С2 support {E1, E2} 44% {E1, E3} 44% {E1, E4} 11% {E1, E5} 22% {E2, E3} 44% {E2, E4} 22% {E2, E5} 22% {E3, E4} 0% {E3, E5} 11% {E4, E5} 0% support ≥ min_sup min_sup = 20% L2 support {E1, E2} 44% {E1, E3} 44% {E1, E5} 22% {E2, E3} 44% {E2, E4} 22% {E2, E5} 22% С4 {E1, E2, E3} {E1, E2, E5} {E1, E3, E5} {E2, E3, E4} {E2, E3, E5} {E2, E4, E5} L4 support {E1, E2, E3} 22% {E1, E2, E5} 22% support ≥ min_sup min_sup = 20% С4 support {E1, E2, E3} 22% {E1, E2, E5} 22% свойство Apriori
  • 18. ПРИМЕР (MIN_SUP=20%, MIN_CONF=90%) После нахождения часто встречающихся наборов, перейдем к построению ассоциативных правил • Рассмотрим набор {E1, E2, E5} • Непустые строгие подмножества данного набора: {E1, E2}, {E1, E5}, {E2, E5}, {E1}, {E2}, {E5} • Ассоциативные правила для данных подмножеств: • {E1, E2} => {E5}, confidence = 2/4 = 50% • {E1, E5} => {E2}, confidence = 2/2 = 100% • {E2, E5} => {E1}, confidence = 2/2 = 100% • {E1} => {E2, E5}, confidence = 2/6 = 33% • {E2} => {E1, E5}, confidence = 2/7 = 29% • {E5} => {E1, E2}, confidence = 2/2 = 100% Для требуемого порога min_conf=90% строгими ассоциативными правилами являются: {E1, E5} => {E2}, {E2, E5} => {E1} и {E5} => {E1, E2}
  • 19. ОБЗОР ДРУГИХ АЛГОРИТМОВ • Алгоритм AIS (1993). Первый алгоритм поиска ассоциативных правил, c которого начался интерес к ассоциативным правилам. В алгоритме AIS кандидаты множества наборов генерируются и подсчитываются "на лету", во время сканирования базы данных. Неудобство AIS - излишнее генерирование и подсчет слишком многих кандидатов, которые в результате не оказываются часто встречающимися. • PARTITION алгоритм (1995) - заключается в сканировании транзакционной базы данных путем разделения ее на непересекающиеся разделы, каждый из которых может уместиться в оперативной памяти. На первом шаге в каждом из разделов при помощи алгоритма Apriori определяются "локальные" часто встречающиеся наборы данных. На втором подсчитывается поддержка каждого такого набора относительно всей базы данных. Таким образом, на втором этапе определяется множество всех потенциально встречающихся наборов данных. • Алгоритм DIC, Dynamic Itemset Counting (1997). Алгоритм разбивает базу данных на несколько блоков, каждый из которых отмечается так называемыми "начальными точками" (start point), и затем циклически сканирует базу данных.
  • 20. ЗАДАНИЯ 001 хлеб, молоко 002 хлеб, колбаса, молоко 003 колбаса, хлеб 004 хлеб, молоко, яйца, мука 005 молоко, яйца, мука 006 рыба, яйца, мука 007 хлеб, сыр, молоко 008 молоко, яйца • Для приведенной транзакционной базы данных, вычислите поддержку и достоверность правила: {молоко}=>{яйца, мука}. Как вы считаете, является ли данное правило полезным? • Для приведенной транзакционной базы данных проведите вычисления по алгоритму Apriori и найдите часто встречающийся набор данных • Предположим, что исходный набор состоит из 100 товаров, пронумерованных от 1 до 100. Транзакционная база данных состоит из 100 транзакций, причем транзакция k содержит товары, на чьи номера k делится без остатка (т.е. элемент 1 будет во всех транзакциях, 2 - будет в каждой четной транзакции, … Например, транзакция 12 будет содержать {1, 2, 3, 4, 6, 12}) • Если min_sup=5%, какие элементы будут часто встречающимися? • Вычислите поддержку и достоверность правила {5, 7} => {2} • Вычислите поддержку и достоверность правила {2, 3, 4} =>{5}