You are on page 1of 36

ВСТУП

В теперішній час майже всі підприємства та організації


використовують для управління своєю діяльністю інформаційні системи і
технології. Одним з результатів їх використання є значний обсяг
фактографічних даних, що зберігаються в базах даних (БД) таких систем і
технологій. Постійне накопичення цих даних та витрати на їх збереження
стали одними з причин виникнення нового наукового напрямку в галузі
інформаційних систем і технологій – інтелектуального аналізу даних (ІАД).
Цей різновид аналізу проводиться над оперативними та історичними даними,
які зберігаються в БД інформаційних систем, що експлуатуються на
підприємстві. Результати ІАД використовуються для формування і прийняття
управлінських рішень щодо подальшої діяльності, спрямованої на
досягнення заздалегідь визначеної системи цілей підприємства.
Теоретичні засади ІАД базуються на моделях і методах теорії
ймовірності і математичної статистики. Але, на відміну від класичної
математичної статистики, ІАД спрямовано на пошук та виявлення шаблонів
(паттернів), які відображують фрагменти багатоаспектних відношень в
даних. Такі шаблони являють собою закономірності, властиві підвибіркам
даних, та можуть бути визначені в компактній формі, зрозумілій
користувачам результатів ІАД.
Даний практикум присвячено вивченню практичних навичок
вирішення основних задач ІАД, які можуть виникнути під час праці
спеціаліста в галузі інформаційних систем управління підприємствами.
Проведення практичних робіт під час вивчення дисципліни слід
організовувати з урахуванням вивченого студентами лекційного матеріалу з
дисципліни. Слід також враховувати, що дисципліна «Інтелектуальний аналіз
даних» є однією з цілого ряду дисциплін, що спрямовані на вивчення
проблем використання математичних моделей і методів в практиці
управління організаційно-технічними об’єктами. Тому студенти для
виконання даного практикуму повинні мати теоретичні і практичні знання з
дисциплін «Теорія ймовірності та математична статистика» та «Основи баз
даних та знань».
Результати виконання практичних робіт слід оформляти як звіти.
ОПИС ПРОГРАМНОГО ПРОДУКТУ, ЩО ВИКОРИСТОВУЄТЬСЯ
ДЛЯ ВИКОНАННЯ ПРАКТИЧНОЇ РОБОТИ

Побудова моделі аналізу з використання Oracle Data Miner

Для виконання циклу практичних робіт з дисципліни „Інтелектуальний


аналіз даних” використовується Oracle Data Miner – програмний продукт,
призначений для аналізу даних та інтерпретації отриманих результатів.
Oracle Data Miner реалізує набір адаптованих «методологій», які були
розроблені для вирішення задач, пов’язаних з необхідністю аналітичної
обробки великих масивів даних. Цей продукт дає можливість спрощувати,
автоматизувати та розширювати застосування опції Data Mining СКБД
Oracle.
Oracle Data Miner інтегрований зі СКБД Oracle10g (або вище), яка
використовується в якості джерела даних, і дозволяє будувати моделі,
автоматизувати аналіз їх адекватності, зберігати ці результати у базі даних.
Результати інтелектуального аналізу даних можуть бути автоматично
оброблені та відображені за допомогою засобів корпорації Oracle, які
використовуються для створення запитів та звітів. Oracle Data Miner робить
обґрунтовані припущення про те, яким чином слід обробляти дані і надає
рекомендації користувачеві для прийняття або відхилення результатів.
Продукт Oracle Data Miner дозволяє під час обробки розріджених даних
використовувати значення за замовчуванням, щоб підготувати первинні дані
для аналізу, та містить вбудований інтерактивний довідник, який містить
опис параметрів, що використовуються під час налаштування моделей
аналізу даних.
Також Oracle Data Miner автоматизує задачі застосування моделей data
mining до даних, які некласифіковані (unclassified), та задачі збереження
результатів у базі даних для доступу інших користувачів і додатків.
Стандартні звіти щодо результатів аналізу даних, створюються автоматично.
Інтерфейс Oracle Data Miner розділений на три частини (рис. 1.1). У
верхній частині розташовані пункти головного меню, справа – робоча
область для відображення вмісту і структури елементів навігатора, ліворуч –
навігатор по елементам моделей аналізу.
Меню складається зі стандартного набору дій, який дозволяє працювати
з файлами, настроювати зовнішній вигляд додатка, працювати з даними у
таблиці, а також використовувати різні утиліти. На рис. 1.2 наведено
інтерфейс утиліти, яка дозволяє будувати SQL-запити.
Рис.1.1 – інтерфейс Oracle Data Miner

Рис. 1.2 – утиліта для створення SQL-запитів


За допомогою навігатора (рис. 1.3) можна визначити джерело даних,
визначити задачу, обрати моделі і методи Data Mining, зробити аналіз
застосування моделей та ін.

Рис. 1.3 – навігатор Oracle Data Miner


Для побудови будь-якої моделі (Activity) у меню Data Miner необхідно
обрати "Activity" і команду "Build" (рис. 1.4).

Рис. 1.4 – створення нової моделі

Після цього необхідно обрати тип задачі інтелектуального аналізу


даних, яку необхідно вирішити ("Function Type"), а також метод або алгоритм
її розв’язання ("Algorithm"). Наприклад, для вирішення задачі класифцікації
"Classification" можливо обрати метод "Naive Bayes", "Decision Tree", або
"SVN" (рис. 1.5).
У полі "Description" наведено опис задачі інтелектуального налізу
даних, обраного методу її вирішення та особливості застосування обраного
алгоритму та отриманих моделей.
Рис. 1.5 – вибір задачі класифікації та методу її розв’язання

Наступний крок дозволяє обрати джерело даних, які необхідно


проаналізувати, а також провести налаштування параметрів вибірки (рис.
1.6). У полі "Schema" вказується ім'я користувача БД, який є власником
таблиці або подання, яке містить дані, що підлягають аналізу.
У якості початкових даних можуть бути обрані таблиці, запити або
подання (поле "Table/View"). Зазвичай для здійснення інтелектуального
аналізу даних використовуються таблиці фактів сховища даних. Дані, що
підлягають аналізу, повинні описувати події або випадки, які
характеризуються отриманням результату, відповідного умові задачі аналізу.
У полі "Unique Identifier" необхідно зазначити ключовий стовпчик
джерела початкових даних ("Single Key"), або набір ключових стовпчиків чи
факт їх відсутності ("Compound, or None").
У полі "Select Columns" потрібно зазначити стовпчики, які будуть
приймати участь у аналізі даних. Обов’язковим є вибір стовбців, що було
обрано як унікальний ключ в полі "Unique Identifier".
Рис. 1.6 – налаштування параметрів вибірки даних (таблиця фактів)

Додаткова опція налаштування параметрів вибірки даних "Join additional


data with case table" дозволяє зв'язати з таблицею фактів таблицю вимірів для
більш легкої інтерпретації даних.
Вибір цієї опції додає опціональний крок побудови моделі, на якому
визначаються додаткові відносно таблиці фактів дані. На цьому кроці
формується список таблиць-вимірів, які необхідно зв’язати ("Selected
Tables"). Таблиці-виміри обираються зі списку доступних користувачеві
таблиць БД "Available Tables" (рис. 1.7). При цьому для кожної таблиці-
виміру має бути визначений зв'язок з таблицею фактів (стовпець
"Relationship" списку "Selected Tables"), яка була обрана на попередньому
кроці.
Рис. 1.7 – приєднання до таблиці фактів таблиць вимірів

При створенні зв'язку, як зображено на рис. 1.8, вказуються


відповідність ключових стовпці ("Key Column Mapping") таблиці фактів
("Case Table Column") і таблиці-виміру ("Related Table Column"), а також,
кратність зв'язку ("Relationship Type") і список стовпців таблиці-виміру, які
включаються у сформовану вибірку ("Selected Table Columns").
Сформований таким чином набір даних буде використаний для
побудови моделі. Аналогічна вибірка даних може бути отримана шляхом
створення представлення (View), що містить запит до таблиці фактів і
таблиць-вимірів. Обидва способи підготовки початкових даних до аналізу
рівноцінні.
В даному циклі практичних робіт в якості початкових наборі даних
використовуються вже заздалегідь підготовлені та денормалізовані таблиці
фактів, які вже містять дані, отримані в результаті їх поєднання таблиці з
таблицями вимірів. Тому виконання робіт на практичному занятті не
потребує використання опції "Join additional data with case table", яка може
бути потрібною при виконанні курсових або дипломних робіт.
Рис. 1.8 – налаштування зв’язку таблиці фактів з однією з таблиць вимірів

Після формування набору даних слід визначити набір стовпців,


потрібних для аналізу (рис. 1.6), і налаштувати параметри вибору записів з
обраного джерела даних (посилання "Sample Settings", рис. 1.6). Це
посилання дозволяє вказати розмір вибірки даних ("Sample Size"), яка
підлягає аналізу, і визначити алгоритм їх вибірки (у довільному порядку
"Random" або в порядку внесення до таблиці "Top-N"). за умови що в наборі
даних досить записів (рис. 1.9).
Зменшення розміру вибірки даних, які аналізуються є актуальним при
наявності в таблиці фактів великих масивів даних (від десятків тисяч і вище),
обробка яких займе велику кількість часу.
У практичній роботі використовуються невеликі вибірки даних (від
декількох сотень до чотирьох тисяч записів), тому при побудові моделі
рекомендується використовувати значення за замовченням (1000 записів) або
встановлювати значення розміру вибірки рівним кількості наявних записів.
Рис. 1.9 – налаштування параметрів вибору записів з обраного джерела даних

Після налаштування опцій вибірки даних необхідно обрати параметри


налаштування, які використовуються в огляді даних.
Майстер налаштувань (рис. 1.10) відображує стандартні характеристики
кожного поля набору даних, що аналізується, відповідно до обраної задачі
аналізу даних і визначає, які поля є розрідженими. Таким чином, необхідно
перевірити, чи відповідають стандартні значення умові завдання, і при
необхідності змінити їх у колонках "Input", "Data Type", "Mining Type",
"Sparsity". Можна одночасно встановити/зняти включення всіх полів,
використовуючи кнопки "Include All" "Exclude All".
У колонці "Name" вказуються назви таблиці фактів та її стовпців. Для
стовпців можуть бути використані псевдоніми, які відрізняються від їх назв
(псевдоніми задаються в колонці "Alias").
У колонці "Target" (її наявність залежить від виду задачі
інтелектуального аналізу даних) обирають один атрибут таблиці фактів
(значення якого передбачаються), що є залежним від інших атрибутів (на
основі значень яких робиться передбачення).
У колонці "Input" за звичай обрані всі стовпці, які було включено на
попередньому кроці побудови моделі аналізу. На даному етапі здійснюється
включення/виключення з моделі стовпців відповідно до образних задачі
аналізу даних та алгоритму її вирішення.
Майстер побудови моделей може автоматично виключити з моделі
стовпці, значення яких не є суттєвими при побудові моделі. Наприклад,
значення майже унікального поля „Дата народження” не є суттєвими при
прогнозуванні, чи успішно закінчить студент навчання в вузі на основі даних
про нього, які наявні на момент вступу до вузу.

Рис. 1.10 – налаштування видів аналізу полів набору даних

У колонці "Data Type" вказані типи даних полів.


Колонка "Mining Type" дозволяє змінити алгоритм аналізу поля як
числового (є типом аналізу полів, що містять числові значення, які не є
кодами заздалегідь визначених категорій і можуть приймати довільні
значення), категоріального (для всіх інших випадків) або текст (якщо аналіз
текстів підтримує обраний алгоритм).
Колонка "Sparsity" відображає поля, які є розрідженими. Для
нетранзакційних даних – це відсоток значень NULL, для транзакційних –
відсоток від можливих включених значень.
Під час налаштування видів аналізу кожного окремого стовпці можливо
виконати попередній перегляд даних, що аналізуються. Це можна зробити,
використовуючи вкладку "Data Summary", на якій відобразиться підсумкова
статистика вибірки (рис. 1.11).
Рис. 1.11 – підсумкова статистика вибірки даних, що аналізуються

На рис. 1.11 колонка "Name" містить назву поля з набору даних, що


аналізується.
Колонка "Mining Attribute Type " містить тип алгоритму аналізу поля.
Колонка "Attribute Data Type" містить тип даних атрибуту.
Колонки "Average", "Max", "Min", "Variance" містять середнє,
максимальне, мінімальне значення та дисперсію атрибутів, які мають
числовий тип даних. Ці дані актуальні лише за умовою аналізу цих полів як
числових, а не категоріальних.
Колонка "Nulls" містить кількість пустих значень вказаного атрибута в
вибірці даних, яка аналізується.
Кнопка "Histogram" дозволяє відкрити вікно графічного аналізу
вибірки даних (рис. 1.12).
В цьому вікні здійснюється вибір атрибуту, який аналізується (опція
Attribute), після чого Oracle Data Miner будує графік-гістограму розподілу
значень обраного атрибуту, під яким у вигляді таблиці наводиться
статистична інформація щодо цих значень.
Рис. 1.12 – графічний аналіз значень атрибута

Перші шаги з побудови моделі аналізу даних, розглянуті в даному


розділі, є незалежними від класу задачі та методу її вирішення.
Наступними є шаги, наявність і характер яких залежить від класу
задачі та обраного алгоритму. Вони будуть описані у відповідних
підрозділах.
Передостаннім етапом створення моделі аналізу є її збереження під
ім’ям, яке може бути налаштоване користувачем (рис. 1.13). На даному етапі
виконання завдання необхідно зазначити нове змістовне найменування
операції, яка розробляється, якщо запропоноване не відповідає завданню,
вказавши його в рядку "Name", а, також, у разі потреби написати коментарі
("Comment").
Рис. 1.13 – збереження моделі аналізу

Останнім етапом побудови моделі є виконання обчислень відповідно до


заданих налаштувань (рис. 1.14). Якщо вся інформація, зазначена у
попередніх вікнах майстра побудови операцій, відповідає умові завдання,
можна завершити побудову моделі, натиснувши кнопку "Готово".
В деяких випадках буває необхідно розширити параметри
налаштування. Тому на даному етапі доступна опція "Advanced Settings"
(рис. 1.14), яка дозволяє здійснити тонке налаштування обраного алгоритму
інтелектуального аналізу даних.
Вікно "Advanced Settings" (рис. 1.15) може містить сторінки "Sample",
"Discretize", "Outlier Treatment", "Missing Values", "Normalize", "Split",
"Build", "Test Metrics", "Residual Plot", які дозволяють включати/виключати
та налаштовувати виконання окремих етапів побудови моделі аналізу.
Наявність цих сторінок та доступні в них опції залежать від обраних задачі
аналізу та алгоритму її вирішення.
Рис. 1.14 – запуск розрахунку моделі аналізу

Сторінка "Sample" дозволяє зробити налаштування вибірки початкових


даних (рис 1.15) за допомогою опцій:
а) "Total number of cases" загальну кількість випадків, що аналізуються;
б) "Sampling type" алгоритм вибірки випадків, якщо аналізується не
весь доступний обсяг даних (при обробці великих обсягів даних можливе
скорочення вибірки, що аналізується задля підвищення швидкості виконання
розрахунків). Random – випадковий вибір записів для аналізу, Stratified –
стратифікований вибір (набор записів за певними ознаками розподіляється на
окремі шари і в аналізі використовуються записи з усіх шарів розподілу);
в) "Create As" у якому вигляді сформувати результат (Table, чи View);
г) "Sample size" числове або відсоткове співвідношення кількості
випадків, які будуть проаналізовані, до загальної кількості випадків;
д) "Random Number Seed" число, яке використовується при
псевдовипадковому виборі випадків.
Якщо на цій сторінці опція "Enable Step" не обрана, то етап вибору
частини даних з первинної вибірки не виконується і модель аналізу
створюється використовуючи первинний набор даних в повному обсязі.
Сторінка "Discretize" використовується для налаштування попередньої
обробки даних, використовуваної для зменшення впливу незначних помилок
спостереження. В даному циклі робіт первинні дані не можуть містити
помилок спостереження, тому ця сторінка не використовується.

Рис. 1.15 – налаштування обраного алгоритму інтелектуального аналізу


даних (Sample)

Сторінка "Outlier Treatment" дозволяє додати до процесу побудови


моделі аналізу етап "Сглажування викидів". На цій сторінці можливо
визначити, які значення слід вважати викидами, що здійснюється шляхом
зміни кількості допустимих стандартних відхилень від середнього значення,
або заданням границі допустимих значень у числах чи у відсотках від
середнього (рис. 1.16). Також ця сторінка дозволяє обрати стратегію
сглажування викидів – їх заміну на Null або на граничні значення.

Рис. 1.16 – налаштування обраного алгоритму інтелектуального аналізу


даних (Outlier Treatment)

Сторінка "Missing Values" дозволяє визначити реакцію моделі на


відсутні ознаки (якщо ці ознаки містять NULL). При цьому стратегія обробки
відсутніх значень задається окремо для числових так категоріальних
атрибутів. Ця сторінка містить наступні опції:
а) "Apply to all attributes except for the sparse ones" – опція, вибір якої
забезпечує застосування стратегій обробки Null-значень для всіх ознак за
винятком тих, для яких встановлено признак "Sparse" (розріджений);
б) "Numerical strategy" – обрати числову стратегію;
в) "Categorical strategy" – обрати категоріальну стратегію.

Рис. 1.17 – налаштування обраного алгоритму інтелектуального аналізу


даних (Missing Values)

Сторінка "Normalize" (рис. 1.18) дозволяє обрати схему нормалізації


числових значень (тільки числові значення можуть бути нормалізовані):
а) "Schemes for non - sparse attributes" – схема нормалізації для нерозріджених
ознак. Опція Min-Max трансформує всі значення в діапазоні від 0.0 до 0.1;
відносне розташування кожного значення зберігається. Значення діапазону
можна змінювати. Якщо дані містять значення-викиди, які повинні бути
збережені, Z-Score нормалізує більшість значень в діапазоні від -1 до 1, але
дозволяє бути присутніми значенням за межами цього діапазону, які
представляються як викиди;
б) "Scheme for sparse attributes" – схема нормалізації для розріджених
ознак.

Рис. 1.18 – налаштування обраного алгоритму аналізу даних (Normalize)


Сторінка "Split" дозволяє поділити вхідні дані (отримані в після
виконання етапу "Sample") на дві множини: набір даних, на основі яких
будується модель, і набір даних, на основі яких тестується модель. Надається
можливість коригу-вати відсоток розподілу обраних випадків на зазначені дві
множини (рис. 1.19).

Рис. 1.19 – налаштування обраного алгоритму інтелектуального аналізу


даних (Split)

Сторінка "Build" дозволяє встановити точність і змінити стандартні


налаштування обраного алгоритму. Вона є специфічною для конкретного
алгоритму вирішення задачі аналізу даних.
Сторінка "Test Metrics" дозволяє здійснити налаштування опцій
застосування моделі до тестової вибірки даних. Зокрема на цій сторінці
доступно налаштування матриці вартостей похибок передбачень (рис. 1.20,
рядки відповідають справжнім значенням, стовбці – передбаченим).
Корегування вартостей похибок дозволяє настроїти модель в тому випадку,
коли значення, які прогнозуються, не є рівноцінними і неправильне
передбачення одного значення є важливішим за помилку при передбаченні
іншого. В результаті перевірки моделі на тестових даних можливо оцінити
вартість похибок (Cost) всієї моделі (переглянувши Confusion Matrix).

Рис. 1.20 – налаштування обраного алгоритму інтелектуального аналізу


даних (вагові коефіцієнти можливих варіантів передбачень)

Після запуску розрахунку налаштованої моделі аналізу послідовно


виконуються всі задані етапи її побудови (як показано на рис. 1.21). Етапи
побудови моделі залежать від типу задачі і алгоритму її вирішення.
Після побудови модель стає доступною у навігаторі (розділ "Mining
Activities". Вибір моделі в навігатори відображає результати виконання її
етапів (рис. 1.21). При цьому для аналізу доступні:
- обрана таблиця фактів (посилання "Case Table");
- первинний набір даних (що був побудований на основі таблиці фактів
і використовувався для розрахунку моделі – посилання "Mining Data");
- набори даних, отримані як результати виконання кожного з етапів
побудови моделі (посилання "Output Data" и "Build Data");
- результати побудови моделі (посилання "Result").

Рис. 1.21 – виконання етапів побудови моделі аналізу даних

Особливістю Oracle Data Miner є можливість зміни налаштувань


побудованої моделі аналізу. Якщо під час роботи зі сформованою моделлю
необхідна модифікація її параметрів, треба використовувати кнопки
"Options" для налаштування етапів побудови моделі бажаними
характеристиками. Для активації можливості зміни опцій треба натиснути
кнопку "Reset" для знищення результатів попереднього виконання етапів
моделі. Повторне виконання розрахунку моделі здійснюється кнопкою "Run
Activity". При цьому, якщо переналаштовується один з перших етапів, під час
його перевиконання автоматично будуть заново виконані і всі наступні етапи
побудови моделі.
1.2 Застосування побудованої моделі з використанням засобів Oracle
Data Miner

Побудована модель може бути застосована для аналізу нового набору


даних з використанням пункту меню "Apply" або опції "Apply Activity"
спливаючого меню (Рис. 1.22). Опції налаштування застосування
побудованої моделі даних схожі на опції побудови відповідної моделі.

Рис. 1.22 – вибір опції застосування побудованої моделі аналізу даних


ПРАКТИЧНА РОБОТА № 1.
ПОРІВНЯЛЬНЕ РОЗВ’ЯЗАННЯ ЗАДАЧІ КЛАСИФІКАЦІЇ
МЕТОДАМИ NAIVE BAYES ТА DECISION TREE

1.1 Мета роботи

Набуття практичних навичок класифікації методами Naive Bayes та


Decision Tree з використанням засобів Oracle Data Miner.

1.2 Методичні вказівки з організації самостійної роботи студентів

1.2.1 Засоби подання результатів розв’язання задачі класифікації.


Класифікаційні правила.

Функціональна залежність між об'єктом і класом, яка була виявлена у


ході розв’язання задачі класифікації, може бути надана за допомогою
наступних засобів:
– класифікаційні правила;
– дерева рішень;
– математичні функції.
Класифікаційні правила складаються з двох частин (умови і висновки) і
мають вигляд "Якщо {умова} то {висновок}". Умова є перевіркою однієї або
декількох незалежних змінних, які можуть бути поєднані між собою у
результаті виконання логічних операцій "і", "або" та "не". Висновок може
бути номером, найменуванням класу або значенням вірогідності
приналежності об'єкту до класу.
Основні переваги класифікаційних правил:
– легкість сприйняття;
– запис на мові, близькій до природної;
– легкість модифікації бази правил.
Головним недоліком класифікаційних правил є суперечність окремих
правил одне одному. Це призводить до того, що, наприклад, при одних і тих
же ознаках початкового об'єкту різні правила однієї і тієї ж бази,
сформульовані в різний час, можуть віднести цей об'єкт до різних класів.
1.2.2 Метод Naive Bayes

Досить часто у ході розв’язання задачі класифікації необхідно


приймати рішення про приналежність об'єкту до одного з виділених класів,
аналізуючи одночасно значення декількох окремих ознак цього об'єкту. Таку
класифікацію дозволяє виконати метод Naive Bayes, що використовує
формулу Байеса для розрахунку умовної вірогідності. Свою назву метод
отримав через «наївне» припущення, що усі вхідні змінні (ознаки), які
розглядаються при розв’язанні задачі, незалежні одна від одної.
Математична база даного методу припускає розрахунок умовної
вірогідності приналежності об'єкту xi до класу y j при рівності незалежних
ознак об'єкту xi певним значенням. Цю вірогідність можна обчислити за
формулою:

P(C  y j | xi )  P( xi | C  y j )  P(C  y j ) / P( xi ) (1.1)

де C – залежна змінна, що описує клас об'єкту xi з деякими зафіксованими


значеннями;
P ( xi | C  y j ) – вірогідність того, що об'єкт xi з деякими зафіксованими
значеннями буде класифікований як такий, що належить до
класу y j ;
P (C  y j ) – вірогідність існування класу y j ;
P ( xi ) – вірогідність того, що об'єкт xi буде описаний деякими зафіксованими
значеннями.
Оскільки об'єкт xi розглядається як сукупність значень незалежних
ознак (атрибутів сховища даних або бази даних), подамо його як безліч таких
атрибутів xi  {at1 ,..., at h ,..., atn } . Кожен атрибут at h , h  1,..., n може
приймати безліч значень, при цьому нас цікавлять лише конкретні значення
at h  d p , що характеризують об'єкт x i .
Тоді формула (1.1) набуває наступного вигляду:

P(C  y j | {at 1 ,..., at h ,..., at n })  P(at 1  d k | C  y j )  ... 


 P(at h  d p | C  y j )  ...  P(at n  d z | C  y j )  (1.2)
 P(C  y j ) / P({at 1 ,..., at h ,..., at n }).
При цьому вірогідності P (at h  d p | C  y j ) визначаються за
формулою:

at h  d p  C  y j
P (at h  d p | C  y j )  , (1.3)
C  yj

тобто дорівнюють відношенню кількості об'єктів навчальної вибірки, у яких


at h  d p і які мають відношення до класу y j , до загальної кількості об'єктів
навчальної вибірки, які мають відношення до класу y j .
Вірогідність P (C  y j ) визначається як співвідношення кількості
об'єктів навчальної вибірки, які мають відношення до класу y j , до загальної
кількості об'єктів навчальної вибірки.
Для того, щоб не обчислювати вірогідність P ({at1 ,..., at h ,..., at n }) , слід
провести нормалізацію формули (1.2). Під нормалізацією у даному випадку
слід розуміти приведення значень формули (1.2) до діапазону значень 0...1 за
правилом

P(C  y j | {at 1 ,...,at h ,...,at n })


P(C  y j | {at 1 ,...,at h ,...,at n })  K

 P (C  y
k 1
k | {at 1 ,...,at h ,...,at n })
,
P(at 1  d k | C  y j )  ... P(at h  d p | C  y j )  ... P(at n  d z | C  y j )  P(C  y j )
 K

 P(at
k 1
1
 d k | C  y k )  ... P(at h  d p | C  y k )  ... P(at n  d z | C  y k )  P(C  y k )

(1.4)

K
де  P (C  y
k 1
k | {at 1 ,..., at h ,..., at n }) – сума вірогідності можливих результатів

класифікації для кожного із існуючих


класів k;
K – кількість існуючих класів об’єктів.
У випадках, якщо проводиться двокласова класифікація, ця сума
складатиметься з двох складових (вірогідність того, що об'єкт x i має
відношення до класу y j і вірогідність протилежного рішення). У випадку,
якщо проводиться багатокласова класифікація, кількість складових у сумі
визначатиметься кількістю класів.
Використання методу Naive Bayes ускладнюється, якщо в навчальній
вибірці відсутній об'єкт, у якого at h  d p . Тоді відповідна вірогідність (1.3)
дорівнюватиме 0, отже, вірогідність класифікаційного правила також
дорівнюватиме 0. Щоб уникнути цього, застосовується функція Лапласа, суть
якої полягає в додаванні кожної вірогідності деякої малої величини,
відмінної від нуля.
Цей метод особливо прийнятний для аналізу даних у сховищах даних
або базах даних, оскільки на нього не впливають значення атрибутів NULL.
Якщо таке значення зустрічається для атрибуту запису, що класифікується,
то відповідна вірогідність (1.3) просто ігнорується для усіх правил і не
впливає на співвідношення вірогідності.
У випадку, коли ознаками об'єкту виступають числові змінні, їх
обробка методом Naive Bayes проводиться з урахуванням того, що ці
значення мають нормальне або Гаусівське розподілення вірогідності. Ця
умова також вимагає додаткової перевірки перед використанням методу.
Таким чином, застосування методу Naive Bayes для розв’язання
завдання класифікації зводиться до виконання наступних етапів:
Етап 1. Формування навчальної вибірки об'єктів і визначення класів.
Етап 2. Перевірка гіпотези про незалежність окремих ознак об'єктів з
повчальної вибірки один від одного. Перевірка гіпотези про нормальне чи
Гаусівське розподілення числових значень ознак об'єктів з навчальної
вибірки (при необхідності).
Етап 3. Розрахунок вірогідності P(C  y j ) для кожного з визначених
класів на основі навчальної вибірки.
Етап 4. Розрахунок вірогідності (1.3) для кожного зі значень кожного з
ознак об'єкту і кожного з класів на основі навчальної вибірки.
Етап 5. Розв’язання задачі класифікації для об'єкту, відсутнього у
навчальній вибірці, шляхом розрахунку вірогідності (1.2) і нормалізації (1.4)
з урахуванням сформованих класифікаційних правил.

1.2.3 Метод Decision Tree

На практиці буває необхідно послідовно приймати цілий ряд рішень


(діагностика захворювань, визначення поломок і ремонтних робіт,
необхідних для їх усунення та ін.). У цьому випадку використання
класифікаційних правил може привести до серйозного ускладнення опису
умови, так що навіть підготовлені користувачі не зможуть трансформувати
опис складної умови у конструкції мов, близьких до природних. Тому для
полегшення послідовності ухвалення простих рішень, що утворюють деяке
складне рішення, рекомендується застосовувати так звані дерева рішень.
Метод Decision Tree дозволяє подати класифікаційні правила у вигляді
ієрархічної структури (найчастіше графічно). Такий спосіб подання
результатів розв’язання задачі класифікації використовують, коли кожне
наступне рішення залежить або від результатів попереднього рішення, або
від результатів проведених випробувань. У основі такого способу подання
полягає теорія графів – кожне дерево рішень подається як орієнтований граф-
дерево з одним коренем. Листя цього графа описує значення класів, до
одного з яких слід віднести об'єкт, що класифікується. Тоді завдання
класифікації об'єкту буде вирішено, якщо на запропонованому графові
(дереві рішень) для цього об'єкту буде знайдений шлях від дерева до одного з
листів, що проходить через вузли зі значеннями незалежних ознак цього
об'єкту.
Подібний математичний базис накладає серйозні обмеження на
застосування методів побудови дерев рішень в практичних умовах. Одним з
найбільш значних обмежень є неможливість безпосередньої обробки
невизначених (NULL) значень незалежних ознак. Якщо хоч би одна з
незалежних ознак об'єкту, що класифікується, набуває такого значення, то
при побудові дерева рішень виникає проблема невизначеності шляху
подальшого руху по дереву. Для вирішення цієї проблеми можуть
використовуватися наступні методики:
– заміна NULL-значень стандартними значеннями;
– пересування по гілці дерева, яка веде до більшої кількості об'єктів з
навчальної вибірки (розрахунок вагових коефіцієнтів для кожної гілки дерева
рішень за результатами аналізу навчальної вибірки);
– додавання спеціальної гілки, що дозволяє обробляти подібні ситуації,
до вузла, значення якого невизначене і подібні спеціальні методики обробки
таких ситуацій.
Будь-яке дерево рішень може бути перетворене у класифікаційні
правила. Умовами таких правил, що формуються на основі дерева рішень, є
запис сукупності умов, описаних у вузлах дерева на шляху до листа.
Висновком таких правил є значення класу, описане у листі дерева. Зворотне
перетворення класифікаційних правил у дерево рішень не завжди можливе,
оскільки запис правил вільний. Наприклад, при появі у записі умови правил
такої операції, як "або", призводь до дублювання дерев рішень нижчого
рівня, що враховують варіанти виконання цієї логічної функції. Це, у свою
чергу, призводить до серйозних ускладнень сприйняття таких дерев рішень.
1.3 Вирішення задачі класифікації з використанням засобів Oracle Data
Miner

Шаги з побудови моделі аналізу даних, які є незалежними від класу


зада-чі та методу її вирішення, розглянуті вище. При вирішення задачі
класифіка-ції додатковим етапом побудови моделі після налаштування
набору даних є ви-бір найбільш бажаного значення цільового поля ("Preferred
Target Value") із переліку доступних значень обраного атрибуту (класів), як
зображено на рис. 2.1. Після побудови моделі у разі необхідності обране
значення може бути змінене.

Рис. 2.1 – вибір бажаного цільового значення

При вирішенні задачі класифікації також важливим є налаштування


матриці вартостей помилок при помилковій класифікації об’єктів одного
класу як об’єктів іншого. Налаштування матриці вартостей (рис. 1.20) є
одним із способів підвищення ефективності моделі аналізу.

1.4 Порядок виконання роботи та методичні вказівки з її виконання


1.4.1 Визначення предметної галузі та варіантів практичної роботи

Перед виконанням практичної роботи студент отримує від викладача


номер варіанту завдання (1-7), який визначає початковий набір даних.

Завдання на практичну роботу: побудувати модель класифікації


студентів за ознакою статусу студента на момент закінчення навчання.
При створенні та навчанні моделі не повинні використовуватися поля,
що є невідомими при класифікації нових студентів.
Початкові дані кожної бригади знаходяться у таблиці БД «data»
користувача відповідного до варіанту (br1-br7). У цій таблиці наведено дані
про контингент студентів одного з факультетів ВНЗ, що припинили навчання
на даний момент часу. Дані зведено в одну ненормалізовану таблицю фактів.
Необхідно враховувати, що на факультеті, діяльність якого
аналізується, можна припинити навчання з наступних причин:
– успішне закінчення навчання;
– відрахування (за академічну неуспішність, за власним бажанням та ін.);
– відхід в академічну відпустку;
– відхід на повторний курс;
– переведення на інший факультет;
– тривале відрядження (для стажування за кордоном).

Структура таблиці БД «data» для варіантів 1 – 7 наведена в табл. 1.1.


Під час навчання студента на факультеті форма оплати навчання може
змінитися. За хорошу успішність студент може бути переведений з
контрактної на бюджетну форму навчання; за погану академічну успішність
студент може бути відрахований, з наступним відновленням на контрактну
форму навчання. Також форма навчання змінюється при зарахуванні
студентів на п’ятий курс у відповідності з рейтингом їх успішності.

Статус студента може набувати таких значень:


а) «у академ. відпуст.» – у академічній відпустці;
б) «відрахован» – відрахований;
в) «закінчив» – успішно закінчив навчання (у тому числі покинувши
університет після отримання диплома бакалавра на 4-му курсі);
г) «чекає повторного курсу» – чекає повторного курсу;
д) «переведен в інший деканат» – переведений в інший деканат;
е) «у відрядженні» – у відрядженні.

Табл. 1.1 – Структура таблиці БД «data» для варіантів 1 – 7


Назва поля Тип даних Коментарі
ID_FACULTY NUMBER Унікальний код факультету, для
якого здійснюється аналіз
ID_STUDENT NUMBER Унікальний код студента
POL CHAR(3) Стать студента (набуває 2
значення: "ч" і "ж")
ISFOREIGN NUMBER(1,0) Ознака того, що студент є
іноземцем (набуває 2 значення:
"0" – не іноземець і "1" –
іноземець)
DATA_ROZHDENIYA DATE Дата народження студента
MONTH_ROZHDENIYA VARCHAR2(9) Місяць народження студента
ISCONTRACT_START NUMBER Форма оплати навчання на
момент вступу до вузу (набуває 2
значення: "0" – бюджет і "1" –
контракт)
STATUSINDB VARCHAR2(27) Статус студента, що припинив
навчання на аналізованому
факультеті
SEMESTR_END VARCHAR2(400 Семестр, в якому студент
0) припинив навчання на факультеті
KURS_END NUMBER Курс, на якому студент припинив
навчання на факультеті
ISCONTRACT_END NUMBER(1,0) Форма оплати навчання на
момент припинення навчання

В кожному окремому варіанту первинних даних можуть бути


представлені не всі можливі значення полів таблиці data. Тому студент
повинен ретельно проаналізувати дані свого варіанту, перед тим, як створити
модель.

1.4.2 Виконання практичної роботи


Частина 1.
Для проведення класифікації методами Naive Bayes та Decision Tree з
використанням засобів Oracle Data Miner необхідно здійснити такі дії.
Крок 1. Запустити програмне застосування Oracle Data Miner.
Крок 2. В застосуванні Oracle Data Miner створити новий сеанс роботи,
для чого заповнити сторінку «New Connection» так, як це вказано на рис. 2.2.
Ім'я користувача повинно відповідати номеру бригади (наприклад br1),
пароль вказує викладач (пароль - admin)

Рис. 2.2 – створення нового з’єднання з БД Oracle

Крок 3. У якості початкових даних обрати таблицю DATA схеми br_X,


де X – номер варіанту.
Крок 4. Ретельно проаналізувати дані наданої таблиці з використанням
SQL-запитів до БД. Визначити кількість класів. Сформулювати задачу
класифікації. Навести статистичні характеристики наданих даних (Data
Summary).
Крок 5. На основі обраної таблиці сформувати навчальну вибірку,
враховуючи лише ті ознаки (атрибути) які були обрані під час формулювання
задачі класифікації.
Крок 6. Побудувати дві моделі класифікацій на основі навчальної
вибірки використовуючи Oracle Data Miner та обидва алгоритми – Naive
Bayes і Decision Tree.
Крок 7. Проаналізувати отримані результати, визначити ступінь
адекватності моделі на контрольній виборці. Якщо це можливе, сформулювати
набор дій для підвищення адекватності моделі (включити/виключити в
навчальну вибірку певні нові ознаки, змінити розмір навчальною вибірки,
настроїти матриці вартостей тощо) та перейти до кроку 4.

Частина 2.
Для перевірки набутих під час виконання лабораторної роботи навичок
вирішення задачі класифікації кожному студенту пропонується виконати
таке завдання.
На рис. 2.3 схематично зображені обличчя людей, розділені на два класи
за певними закономірностями.
Ознаки, що характеризують зображених осіб:
Х1 (голова): кругла – 1, овальна – 0;
Х2 (вуха): відкопилені – 1, притиснуті – 0;
Х3 (ніс): круглий – 1, довгий – 0;
Х4 (очі): круглі – 1, вузькі – 0;
Х5 (лоб): зі зморшками – 1, без зморшок – 0;
Х6 (складка): носогубна складка є – 1, немає – 0;
Х7 (губи): товсті – 1, тонкі – 0;
Х8 (волосся): є – 1, немає – 0;
Х9 (вуса): є – 1, немає – 0;
Х10 (борода): є – 1, немає – 0;
Х11 (окуляри): є – 1, немає – 0;
Х12 (родимка): родимка на щоці є – 1, немає – 0;
Х13 (метелик): є – 1, немає – 0;
Х14 (брови): підняті догори – 1, опущені донизу – 0;
Х15 (сережка): є – 1, немає – 0;
Х16 (трубка): курильна трубка є – 1, немає – 0.

Початкова матриця даних, що відповідає зображеним особам, надана у


таблиці 1.2. Рядки відповідають об'єктам (N = 16), стовпці – виділеним
бінарним ознакам (р = 16). Об'єкти з номерами 1-8 відносяться до класу 1, а з
номерами 9-16 – до класу 2.
Рис. 2.3 – два класи облич

Табл. 1.2 – Початкова матриця даних


Голова
Вуха
Ніс

Лоб

Сережка
Трубка
Клас
Губи

Окуляри

Брови
Очі

Волосся
Складка

Вуса
Борода

Родимка
Метелик


п/п

Х1 Х2 Х3 Х4 Х5 Х6 Х7 Х8 Х9 Х10 Х11 Х12 Х13 Х14 Х15 Х16


1 0 1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 1
2 1 0 1 1 0 0 1 1 0 1 1 1 0 0 1 0 1
3 0 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 1
4 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1
5 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1
6 0 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1
7 1 1 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1
8 0 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1

Продовження табл. 2.2


Лоб
Голова

Ніс

Трубка
Губи
Волосся
Вуха

Складка

Вуса
Борода

Родимка

Сережка

Клас
Окуляри

Метелик
Брови
Очі

п/п

9 0 0 1 1 0 1 0 0 1 1 0 1 1 1 0 1 2
10 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 2
11 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 2
12 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 2
13 1 1 0 1 1 0 1 1 1 0 0 0 1 0 0 1 2
14 0 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 2
15 0 1 0 1 0 1 1 1 0 1 0 0 1 1 0 1 2
16 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 2

На підставі початкових даних розв’язати завдання двокласової


класифікації використовуючи метод Naive Bayes. Потрібно визначити
приналежність до 1-го і 2-го класу тієї або іншої ознаки.
Етап 1. Сформувати навчальну вибірку об'єктів (згідно з варіантом).
Етап 2. Перевірити гіпотезу про незалежність окремих ознак об'єктів з навчальної
вибірки одна від одної. Перевірка гіпотез про нормальне чи Гаусівське розподілення
числових значень ознак об'єктів з навчальної вибірки (за необхідності).
Етап 3. Розрахувати вірогідності P(C  y j ) для кожного з визначених
класів на основі навчальної вибірки.
Етап 4. Розрахувати вірогідності для кожного зі значень кожного з ознак
об'єкту і кожного з класів на основі навчальної вибірки.
Етап 5. Розв’язати задачу класифікації для об'єкту, відсутнього у
навчальній вибірці, шляхом розрахунку вірогідності і нормалізації з
урахуванням сформованих класифікаційних правил.
Для вирішення контрольного завдання пропонуються такі варіанти:
Варіант 1 – таблиця даних відповідає гілці Х1 =0. Етап 5. Відсутній об'єкт 1.
Варіант 2 – таблиця даних відповідає гілці Х2 =1. Етап 5. Відсутній об'єкт 4.
Варіант 3 – таблиця даних відповідає гілці Х3 =1. Етап 5. Відсутній об'єкт 2.
Варіант 4 – таблиця даних відповідає гілці Х4 =1. Етап 5. Відсутній об'єкт 5.
Варіант 5 – таблиця даних відповідає гілці Х5 =0. Етап 5. Відсутній об'єкт 7.
Варіант 6 – таблиця даних відповідає гілці Х6 =1. Етап 5. Відсутній об'єкт 3.
Варіант 7 – таблиця даних відповідає гілці Х7 =1. Етап 5. Відсутній об'єкт 10.
Варіант 8 – таблиця даних відповідає гілці Х7 =1. Етап 5. Відсутній об'єкт 11.
Варіант 9 – таблиця даних відповідає гілці Х7 =1. Етап 5. Відсутній об'єкт 12.
Варіант 10 – таблиця даних відповідає гілці Х7 =1. Етап 5. Відсутній об'єкт 8.
Варіант 11 – таблиця даних відповідає гілці Х7 =1. Етап 5. Відсутній об'єкт 6.
Варіант 12 – таблиця даних відповідає гілці Х7 =1. Етап 5. Відсутній об'єкт 9.

1.5 Зміст звіту


Звіт з виконання практичної роботи має містити:
1. Назву та мету практичної роботи.
2. Текстовий короткий опис сформульованої задачі класифікації.
3. Статистичні характеристики вхідного набору даних ("Data summary").
4. Відмітки про виконані етапи побудови моделі: сформовану за варіантом
задачу класифікації та навчальну вибірку, відповідні екранні форми, ступінь
адекватності моделі, отриманої з використанням метода Naive Bayes.
5. Інтерпретацію отриманих результатів. Опис заходів щодо підвищення
адекватності отриманої методом Naive Bayes моделі.
6. Відмітки про виконані етапи побудови моделі: сформовану за варіантом
задачу класифікації та навчальну вибірку, відповідні екранні форми, ступінь
адекватності моделі, отриманої з використанням метода Decision Tree.
7. Інтерпретацію отриманих результатів. Опис заходів щодо підвищення
адекватності отриманої методом Decision Tree моделі.
8. Результати обчислень методом Naive Bayes (ІІ частина роботи).
9. Висновки з роботи, які порівнюють використані методи та отримані
моделі і результати.

1.6 Контрольні запитання і завдання

1. Дати визначення методу Data Mining.


2. Яке завдання називається завданням класифікації?
3. До чого зводиться завдання класифікації?
4. З чого складаються класифікаційні правила?
5. Перерахувати основні переваги і недоліки класифікаційних правил.
6. Що таке залежні і незалежні змінні?
7. Дати загальну характеристику методу Naive Bayes.
8. Чому метод Naive Bayes названо "наївним".
9. Дати загальну характеристику методу Decision Tree.
10. Що описують листя дерева-графа?11. Які обмеження існують на
застосування методів побудови дерев рішень в практичних умовах?

You might also like