Міністерство освіти і науки
Національний університет “Львівська політехніка”
Кафедра “Автоматизовані системи управління”
Звіт
до лабораторної роботи № 3
з дисципліни «Методи та системи штучного інтелекту»
на тему «Вступ до аналізу асоціативних правил»
Короткі теоретичні відомості
Останнім часом задачі пошуку нових знань у великих базах сирих даних стають все більш популярними та актуальними. Одним із популярних методів виявлення знань став алгоритм пошуку так званих асоціативних правил (Association Rules). Суть задачі полягає в знаходження наборів об’єктів, які зустрічаються найчастіше серед всієї множини ймовірних наборів об’єктів. Першим застосуванням такої задачі був аналіз тенденцій в поведінці покупців у супермаркетах. При цьому аналізувались дані про всі здійснені покупки, які кожен покупець кладе у свій кошик, та одержувалась інформація про те, які товари переважно купуються разом, в якій послідовності, якими категоріями покупців, в які періоди часу, тощо. Такого роду знання дозволяють ефективно планувати закупку товарів у магазин, розробляти ефективні рекламні кампанії та розкладати товар таким чином, щоб провокувати покупців на різноманітні покупки.
Наприклад, з набору товарів, які купуються в магазинах, можна виділити такі набори товарів, що переважно купуються одночасно:
{чіпси, пиво};
{вода, горіхи};
{чай, печиво};
Тощо.
Таким чином, можна зробити висновок про те, що якщо купуються чіпси чи горіхи, то, як правило, купуються, пиво чи вода, відповідно. Отже, можна розмістити ці товари поруч на прилавках, об’єднати їх в один пакет зі знижкою чи здійснити інші дії.
Задача пошуку асоціативних правил є актуальною не лише у сфері торгівлі. Наприклад, в сефрі обслуговування цікавою є інформація про те, якими послугами клієнти користуються в сукупності. Для одержання цієї інформації вирішується задача аналізу даних про послуги, якими користується один клієн протягом певного часу. Це допомагає визначити, наприклад, як найбільш вигідно сформувати пакети послуг для клієнтів.
В медицині аналізуватись можуть симптоми та хвороби пацієнтів. В цьому випадку знання про те, які поєднання хворів та симптомів зустрічаються найчастіше, дозволяють в майбутньому ставити правильні діагнози.
Визначення
Щоб дати означення асоціативного правила, будемо вважати, що існує база даних, якій містяться записи про всі здійснені покупки в супермаркеті. Кожен запис називається транзакцією і включає дані про набір товарів, куплених одним покупецем за один візит. Таку транзакцію ще називаю ринковим кошиком.
Нехай / – це вся множина товарів з супермаркету, що називаються елементами.
Приклад:
Ідентифікатор
Найменування товару
Ціна
0
Шоколад
30.00
1
Чіпси
12.00
2
Кокоси
10.00
3
Вода
4.00
4
Пиво
14.00
5
Горіхи
15.00
Тобто вся множина елементів (їх загальна кількість рівна / ) / буде:
/.
Кожна транзакція / описується як: /. Приклади транзакцій:
/
/
Набір усіх відомих транзакцій (загальна їх кількість нехай рівна /) позначаємо як /: /.
Нехай для нашого прикладу:
/
Тоді множину / можемо представити у вигляді:
№ транзакції
Ідентифікатор товару
Найменування товару
Ціна
0
1
Чіпси
12.00
0
3
Вода
4.00
0
4
Пиво
14.00
1
2
Кокоси
10.00
1
3
Вода
4.00
1
5
Горіхи
15.00
2
5
Горіхи
15.00
2
2
Кокоси
10.00
2
1
Чіпси
12.00
2
2
Кокоси
10.00
2
3
Вода
4.00
3
2
Кокоси
10.00
3
5
Горіхи
15.00
3
2
Кокоси
10.00
Множину транзакцій, в яку входить об’єкт / позначимо як: /.
Наприклад, множина транзакцій, в які входить елемент «вода»:
/Деякий довільний набір елементів позначимо так: /. Набір, що складається з / об’єктів називається /-елементним набором. Приклад 2-елементного набору: /.
Множину транзакцій, в яку входить набір /, позначимо /: /.
В даному прикладі: /.
Відношення кількості транзакцій, в які входить /, до загальної кількості транзакцій називається підтримкою (support) набору / та позначається /:
/.
Можна підтримку рахувати у відсотках (тоді треба помножити на 100%).
Для набору / підтримка рівна 0.5 або 50%, так як цей набір входить у дві транзакції (з номерами 1 та 2), а всього транзакцій є 4.
При пошуку аналітик може вказати мінімальне значення підтримки для наборів, що його цікавлять – /.
Набір називається частим, якщо значення його підтримки є більшим за вказане мінімальне значення, задане користувачем: /.
Таким чином, при пошуку асоціативних правил необхідно знайти множину всіх частих наборів:
/.
В даному прикладі частими наборами при / є такі:
/
З іншого боку, важливо не лише знайти часті набори, але виявити правила «якщо....., то...». Наприклад, в даному прикладі можна досліджувати, наскільки правдивим є правило: якщо «кокоси», то «вода». Тобто важливо не просто знати. Що ці ва елементи часто знаходяться в одному наборі, але й вміти прогнозувати, що при покупці «кокосів» ймовірно буде покупка «води» або навпаки.
Розіб’ємо наш досліджуваний наборі на два піднабори: / та /. Наприклад, набір /будемо розглядати як: / та /, тобто /. Тоді асоціативним правилом можна назвати імплікацію: /, де /. Правило / має підтримку:
/, /
тобто / – це відсоток зі всіх транзакцій /, що містять і набір /, і набір / (тобто містять набір /).
/
Бо, як було вже згадано вище, з чотирьох транзакцій дві містять і «Кокоси» і «Воду».
Достовірністю правила називається ймовірність того, що саме з / випливає /. Правило / має достовірність (confidence):
/,
що показує, який відсоток з усіх транзакцій /, що містить /, також містить і /./.
Отже, підтримка правила / рівна 50% (50% зі всіх транзакцій містять і «Кокоси», і «Воду»), а достовірність цього правила рівна 66.7% (66.7% зі всіх транзакцій, що містять «Кокоси», також містять і «Воду»).
Іншими словами, метою аналізу є встановлення наступних залежностей: якщо в транзакції зустрівся деякий набір елементів /, то на підставі цього можна зробити висновок про те, що інший набір елементів / також повинен з'явитися в цій транзакції. Алгоритми пошуку асоціативних правил призначені для знаходження всіх правил /, причому підтримка і достовірність цих правил повинні бути вищими за деякі наперед задані пороги, що називаються відповідно мінімальною підтримкою (/) та мінімальною достовірністю (/).
Завдання до лабораторної роботи
Ознайомитись з теоретичними вказівками.
Запустити Deductor та ознайомитись із його основними можливостями.
Відкрити тестовий приклад сценарію та проаналізувати готову гілку з асоціативнмии правилами. Проаналізувати отримані результати.
Уважно вивчити методику формування асоціативних правил.
Використовуючи один із готових файлів даних, пройти всі необхідні кроки для одержання асоціативних правил.
Сформувати власні дані, вибравши довільну тему.
Пройти всі кроки на нових даних, приділивши більшу увагу налаштуванню параметрів визначення асоціацій.
Проаналізувати отримані результати і зробити висновок.
Підготувати звіт до лабораторної роботи з власними даними (скріншоти, результати).
Виконання роботи:
Запустив програмний пакет Deductor та ознайомився із його основними можливостями.
Відкрив тестовий приклад сценарію та проаналізував готову гілку з асоціативними правилами.
Ознайомився з методикою формування асоціативних правил.
Використовуючи готовий файл даних, пройшов всі необхідні кроки для одержання асоціативних правил. Для цього необхідно завантажити Майстер обробки.
Сформував власні дані та тему: список «Які серіали ви дивилися?»
Номер учасника Країни
160698 США
160698 Україна
160698 Шотландія
160747 Україна
160747 Австралія
160747 Шотландія
161217 США
161217 Україна
161217 Бразилія
161243 США
161243 Україна
161243 Бразилія
161354 США
161354 Україна
161354 Шотландія
161833 Україна
161833 Австралія
161833 Шотландія
162185 США
162185 Україна
162185 Шотландія
162579 Бразилія
162579 Австралія
162579 Шотландія
162661 Мексика
162661 Бразилія
162661 Шотландія
162718 США
162718 Україна
162718 Бразилія
162788 Мексика
162788 США
162788 Шотландія
162915 Мексика
162915 Японія
162915 Шотландія
163029 США
163029 Австралія
163029 Шотландія
163261 США
163261 Україна
163261 Бразилія
163331 Шотландія
163331 Австралія
163331 Бразилія
163439 Австралія
163439 Японія
163439 Шотландія
164014 США
164014 Україна
164014 Шотландія
164078 США
164078 Україна
164078 Шотландія
164079 Мексика
164079 Японія
164079 Шотландія
164110 США
164110 Бразилія
164110 Шотландія
164200 США
164200 Україна
164200 Бразилія
164453 Мексика
164453 Австралія
164453 Шотландія
165325 Мексика
165325 Японія
165325 Шотландія
165417 Мексика
165417 Україна
165417 Японія
165698 США
165698 Україна
165698 Австралія
166110 Японія
166110 Австралія
166110 Шотландія
166881 США
166881 Україна
166881 Австралія
166966 США
166966 Україна
166966 Бразилія
167022 США
167022 Україна
167022 Австралія
167381 США
167381 Україна
167381 Австралія
167514 Мексика
167514 Шотландія
167514 Японія
160227 США
160227 Україна
160227 Австралія
160227 Шотландія
160487 США
160487 Україна
160487 Австралія
160487 Шотландія
163213 США
163213 Україна
163213 Бразилія
163213 Шотландія
163346 Шотландія
163346 Україна
163346 Японія
163346 Бразилія
163741 Мексика
163741 Японія
163741 Бразилія
163741 Шотландія
164085 Австралія
164085 Японія
164085 Бразилія
164085 Шотландія
164418 Мексика
164418 Австралія
164418 Бразилія
164418 Шотландія
166691 Мексика
166691 Австралія
166691 Японія
166691 Шотландія
167414 Шотландія
167414 Мексика
167414 Австралія
167414 Японія
161872 США
161872 Україна
161872 Австралія
161872 Бразилія
161872 Шотландія
165165 Мексика
165165 Австралія
165165 Японія
165165 Бразилія
165165 Шотландія
166474 США
166474 Україна
166474 Австралія
166474 Бразилія
166474 Шотландія
167465 Мексика
167465 Бразилія
167465 Австралія
167465 Японія
167465 Шотландія
6. Пройшов всі кроки для імпорту нових даних. Після цього отримав таку таблицю даних:
/
7.Вмикаю майстер обробки. Налагоджую його (мінімальна достовірність 60%, максимальна – 100%, мінімальна підтримка 1%, максимальна – 90%), та в результаті отримую такі табллиці:
/
/
Таблиця асоціативних правил
/
Таблиця популярних множин
/
Таблиця дерев правил
/
Правила «що-якщо»
Висновок: під час виконання даної лабораторної роботи я ознайомився з алгоритмом пошуку асоціативних правил (Association Rules). Можна зробити висновок, що серед переглянутих серіалів найчастіше люди дивилися «Шерлок», так як ще дивилися «Гру престолів», то з достовірністю 83.3% дивлися і «Друзі»