Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №5.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.48 Mб
Скачать

Елабужский филиал федерального государственного бюджетного образовательного учреждения высшего профессионального образования

«Казанский национальный исследовательский технический университет им. А.Н. Туполева – КАИ»

Лабораторная работа №5

по дисциплине

“Технологии обработки информации”

Методы Data Mining. Поиск ассоциативных правил

Елабуга 2013

Лабораторная работа №5

Цель работы: ознакомление с базовыми алгоритмами Data Mining, применяющимися для решения задачи поиска ассоциативных правил.

  1. Теоретические сведения Поиск ассоциативных правил Постановка задачи

Одной из наиболее распространенных задач анализа данных является определение часто встречающихся наборов объектов в большом множестве наборов.

Опишем эту задачу в обобщенном виде. Для этого обозначим объекты, составляющие исследуемые наборы (itemsets), следующим множеством:

где – объекты, входящие в анализируемые наборы; n – общее количество объектов.

В сфере торговли, например, такими объектами являются товары, представленные в прайс-листе (таблица 1).

Таблица 1

Номер товара

Наименование товара

Цена, руб.

0

Шоколад

30

1

Чипсы

12

2

Кокосы

10

3

Вода

4

4

Пиво

14

5

Орехи

15

Они соответствуют следующему множеству объектов:

I= {шоколад, чипсы, кокосы, вода, пиво, орехи}.

Наборы объектов из множества I, хранящиеся в БД и подвергаемые анализу, называются транзакциями. Опишем транзакцию как подмножество множества I:

Такие транзакции в магазине соответствуют наборам товаров, покупаемых потребителем и сохраняемых в БД в виде товарного чека или накладной. В них перечисляются приобретаемые покупателем товары, их цена, количество и др. Например, следующие транзакции соответствуют покупкам, совершаемым потребителями в супермаркете:

Т1 = {чипсы, вода, пиво};

Т2 = {кокосы, вода, орехи}.

Набор транзакций, информация о которых доступна для анализа, обозначим следующим множеством:

где m – количество доступных для анализа транзакций.

Например, в магазине таким множеством будет:

D= {{чипсы, вода, пиво},

{кокосы, вода, орехи},

{орехи, кокосы, чипсы, кокосы, вода},

{кокосы, орехи, кокосы}}.

Для использования методов Data Mining множество D может быть представлено в виде таблицы 2.

Таблица 2

Номер транзакции

Номер товара

Наименование товара

Цена, руб.

0

1

Чипсы

12

0

3

Вода

4

0

4

Пиво

14

1

2

Кокосы

10

1

3

Вода

4

1

5

Орехи

15

2

5

Орехи

15

2

2

Кокосы

10

2

1

Чипсы

12

2

2

Кокосы

10

2

3

Вода

4

3

2

Кокосы

10

3

5

Орехи

15

3

2

Кокосы

10

Множество транзакций, в которые входит объект , обозначим следующим образом:

.

В данном примере множеством транзакций, содержащих объект вода, является следующее множество:

Dвода= {{чипсы, вода, пиво},

{кокосы, вода, орехи},

{орехи, кокосы, чипсы, кокосы, вода}}.

Некоторый произвольный набор объектов обозначим следующим образом:

Например,

F= {кокосы, вода}.

Набор, состоящий из k объектов, называется k-элементным набором (в данном примере это 2-элементный набор).

Множество транзакций, в которые входит набор F, обозначим следующим образом:

В данном примере:

D{кокосы, вода} = {{кокосы, вода, орехи},

{орехи, кокосы, чипсы, кокосы, вода}}

Отношение количества транзакций, в которое входит набор F, к общему количеству транзакций называется поддержкой (support) набора F и обозначается Supp(F):

Для набора {кокосы, вода} поддержка будет равна 0,5, т. к. данный набор входит в две транзакции (с номерами 1 и 2), а всего транзакций 4.

При поиске аналитик может указать минимальное значение поддержки интересующих его наборов Suppmin. Набор называется частым (large itemset), если значение его поддержки больше минимального значения поддержки, заданного пользователем:

Supp(F)>Suppmin

Таким образом, при поиске ассоциативных правил требуется найти множество всех частых наборов:

L = {F | Supp(F)>Suppmin}.

В данном примере частыми наборами при Suppmin = 0,5 являются следующие:

{чипсы} Suppmin = 0,5;

{чипсы, вода} Suppmin = 0,5;

{кокосы} Suppmin = 0,75;

{кокосы, вода} Suppmin = 0,5;

{кокосы, вода, орехи} Suppmin = 0,5;

{кокосы, орехи} Suppmin = 0,75;

{вода} Suppmin = 0,75;

{вода, орехи} Suppmin = 0,5;

{орехи} Suppmin = 0,75.