- •Методичні вказівки
- •Теоретична частина
- •Огляд методів класифікації та регресії.
- •Базові концепції методу побудови дерева рішень
- •Етапи побудови "дерева рішень"
- •Правила побудови «дерева рішень»
- •Алгоритми і методика побудови «дерева рішень»
- •Методика «розділяй і владарюй»
- •Алгоритм id3
- •1.5.3. Алгоритм cart
- •1.5.4. Алгоритм c4.5
- •Переваги використання «дерев рішень» та області їх застосування
- •Побудова дерев рішень засобами Deductor
- •Приклад побудови «дерева рішень»
- •Порядок виконання роботи
- •Доц. Ковівчак Ярослав Васильович
Приклад побудови «дерева рішень»
Якщо залежна, тобто цільова змінна приймає дискретні значення, за допомогою методу дерева рішень вирішується завдання класифікації.
Якщо ж залежна змінна приймає безперервні значення, то дерево рішень встановлює залежність цієї змінної від незалежних змінних, тобто вирішує задачу чисельного прогнозування.
У найбільш простому виді дерево рішень - це спосіб представлення правил в ієрархічній, послідовної структурі. Основа такої структури - відповіді "Так" або "Ні" на низку запитань.
На рис. 8 наведено приклад дерева рішень, завдання якого - відповісти на запитання: "Чи грати в гольф?" Щоб вирішити завдання, тобто прийняти рішення, чи грати в гольф, слід віднести поточну ситуацію до одного з відомих класів (в даному випадку - "грати" або "не грати"). Для цього потрібно відповісти на ряд питань, які знаходяться у вузлах цього дерева, починаючи з його кореня.
Перший вузол нашого дерева "Сонячно?" є вузлом перевірки, тобто умовою. При позитивній відповіді на питання здійснюється перехід до лівої частини дерева, званої лівою гілкою, при негативному - до правої частини дерева. Таким чином, внутрішній вузол дерева є вузлом перевірки певної умови. Далі йде наступне питання і т.д., поки не буде досягнутий кінцевий вузол дерева, що є вузлом рішення. Для нашого дерева існує два типи кінцевого вузла: "грати" і "не грати" в гольф.
У результаті проходження від кореня дерева (іноді званого кореневої вершини) до його вершини вирішується завдання класифікації, тобто вибирається один з класів - "грати" і "не грати" в гольф.
Рис. 8. Дерево рішень «Чи грати в гольф???»
Метою побудови дерева рішення в нашому випадку є визначення значення категоріальної залежної змінної.
Отже, для нашої задачі основними елементами дерева рішень є:
Корінь дерева: "Сонячно?"
Внутрішній вузол дерева або вузол перевірки: "Температура повітря висока?", "Чи йде дощ?"
Лист, кінцевий вузол дерева, вузол рішення або вершина: "Грати", "Не грати"
Гілку дерева (випадки відповіді): "Так", "Ні".
У розглянутому прикладі вирішується завдання бінарної класифікації, тобто створюється дихотомічна класифікаційна модель. Приклад демонструє роботу так званих бінарних дерев.
У вузлах бінарних дерев розгалуження може вестися тільки в двох напрямках, тобто існує можливість тільки двох відповідей на поставлене запитання ("так" і "ні").
Бінарні дерева є найпростішим, приватним випадком дерев рішень. В інших випадках, відповідей і, відповідно, гілок дерева, що виходять з його внутрішнього вузла, може бути більше двох.
Розглянемо більш складний приклад. База даних, на основі якої має здійснюватися прогнозування, містить такі ретроспективні дані про клієнтів банку, що є її атрибутами: вік, наявність нерухомості, освіта, середньомісячний дохід, повернув чи клієнт вчасно кредит. Завдання полягає в тому, щоб на підставі перерахованих вище даних (окрім останнього атрибуту) визначити, чи варто видавати кредит новому клієнтові.
Така задача вирішується в два етапи: побудова класифікаційної моделі і її використання.
На етапі побудови моделі, власне, і будується дерево класифікації або створюється набір якихось правил. На етапі використання моделі побудоване дерево, або шлях від його кореня до однієї з вершин, що є набором правил для конкретного клієнта, використовується для відповіді на поставлене питання "Видавати чи кредит?"
Правилом є логічна конструкція, представлена у вигляді "якщо: то:".
На рис. 9 наведено приклад дерева класифікації, за допомогою якого вирішується завдання "Чи видавати кредит клієнту?". Вона є типовою задачею класифікації, і за допомогою дерев рішень отримують достатньо хороші варіанти її вирішення.
Рис. 9. Дерево рішень "Чи видавати кредит?"
Як ми бачимо, внутрішні вузли дерева (вік, наявність нерухомості, дохід і освіта) є атрибутами описаної вище бази даних. Ці атрибути називають прогнозуючими, або атрибутами розщеплення (splitting attribute). Кінцеві вузли дерева, або листи, іменуються мітками класу, які є значеннями залежної категоріальної змінної "видавати" або "не видавати" кредит.
Кожна гілка дерева, що йде від внутрішнього вузла, відзначена предикатом розщеплення. Останній може ставитися лише до одного атрибуту розщеплення даного вузла. Характерна особливість предикатів розщеплення: кожний запис використовує унікальний шлях від кореня дерева тільки до одного вузла-рішення. Об'єднана інформація про атрибути розщеплення і предикат розщеплення у вузлі називається критерієм розщеплення (splitting criterion).
На рис. 9 зображено одне з можливих дерев рішень для розглянутої бази даних. Наприклад, критерій розщеплення "Яку освіту?", Міг би мати два предиката розщеплення і виглядати інакше: освіта "вищу" і "не вищу". Тоді дерево рішень мало б інший вигляд.
Таким чином, для даної задачі (як і для будь-якої іншої) може бути побудовано безліч дерев рішень різної якості, з різною прогнозуючої точністю.
Завдання 1
Таблиця 1
Небо |
Температура |
Вологість |
Вітряно |
Гуляти? |
Сонячно |
30 |
85 |
Ні |
Не гуляти |
Сонячно |
27 |
90 |
Так |
Не гуляти |
Хмарно |
28 |
78 |
Ні |
Гуляти |
Дощ |
21 |
96 |
Ні |
Гуляти |
Дощ |
20 |
80 |
Ні |
Гуляти |
Дощ |
18 |
70 |
Так |
Не гуляти |
Хмарно |
18 |
65 |
Так |
Гуляти |
Сонячно |
22 |
95 |
Ні |
Не гуляти |
Сонячно |
21 |
70 |
Ні |
Гуляти |
Дощ |
24 |
80 |
Ні |
Гуляти |
Сонячно |
24 |
70 |
Так |
Гуляти |
Хмарно |
22 |
90 |
Так |
Гуляти |
Хмарно |
27 |
75 |
Ні |
Гуляти |
Хмарно |
27 |
75 |
Ні |
Гуляти |
Дощ |
22 |
80 |
Так |
Не гуляти |
Завдання 2
Таблиця 2
Вік |
Конкуренція |
Тип |
Виручка |
Старий |
Так |
ПЗ |
Низька |
Старий |
Ні |
ПЗ |
Низька |
Старий |
Ні |
Залізо |
Низька |
Середній |
Так |
ПЗ |
Низька |
Середній |
Так |
Залізо |
Низька |
Середній |
Ні |
Залізо |
Висока |
Середній |
Ні |
ПЗ |
Висока |
Новий |
Так |
ПЗ |
Висока |
Новий |
Ні |
Залізо |
Висока |
Новий |
Ні |
ПЗ |
Висока |
Завдання 3
Таблиця 3
День |
Прогноз |
Температура |
Вологість |
Вітер |
Грати в м’яч |
D1 |
Сонячний |
Гаряча |
Висока |
Слабкі |
Ні |
D2 |
Сонячний |
Гаряча |
Висока |
Сильні |
Ні |
D3 |
Похмуро |
Гаряча |
Висока |
Слабкі |
Так |
D4 |
Дощ |
М'яка |
Висока |
Слабкі |
Так |
D5 |
Дощ |
Прохолодний |
Нормальний |
Слабкий |
Так |
D6 |
Дощ |
Прохолодний |
Нормальний |
сильний |
Ні |
D7 |
Похмуро |
Прохолодний |
Нормальний |
Сильні |
Так |
D8 |
Сонячний |
М'яка |
Висока |
Слабкі |
Ні |
D9 |
Сонячний |
Прохолодний |
Нормальний |
Слабкий |
Так |
D10 |
Дощ |
М'який |
Нормальний |
Слабкий |
Так |
D11 |
Сонячний |
М'яка |
Нормальний |
Сильні |
Так |
D12 |
Похмуро |
М'яка |
Висока |
Сильні |
Так |
D13 |
Похмуро |
Гарячі |
Нормальний |
Слабкий |
Так |
D14 |
Дощ |
М'яка |
Висока |
Сильні |
Ні |
Завдання 4
Таблиця 4
Вік>=21 |
Нерухомість |
Освіта |
Дохід>10000 |
Чи давати кредит? |
18 |
Ні |
Середня |
5000 |
Ні |
25 |
Так |
Вища |
7000 |
Так |
18 |
Ні |
Середня |
12000 |
… |
24 |
Так |
Вища |
15000 |
Так |
31 |
Так |
Вища |
18000 |
Так |
23 |
Так |
Нема |
1000 |
Ні |
Завдання 5
Таблиця 5
Студент |
Середній бал>=71 |
Стан стипендії |
С1 |
71 |
Так |
С2 |
69 |
Ні |
С3 |
88 |
Підвищена |
С4 |
74 |
Так |
С5 |
70 |
Ні |
С6 |
93 |
Підвищена |
С7 |
83 |
Так |
Завдання 6
Таблиця 6
Водій |
Порушення |
Штраф |
В1 |
Так |
Так |
В2 |
Ні |
Ні |
В3 |
Так |
Так |
В4 |
Так |
Так |
В5 |
Ні |
Ні |
В6 |
Ні |
Ні |
В7 |
Так |
Так |
Завдання 7
Таблиця 7
Тип послуги |
Ціна (грн) |
Сума на рахунку(грн) |
Чи надавати послугу ? |
Дзвінок |
0,50 |
0,45 |
Ні |
Дзвінок |
0,50 |
1,70 |
Так |
Смс |
0,45 |
0,35 |
Ні |
Смс |
0,45 |
25 |
Так |
Ммс |
0,90 |
0,89 |
Ні |
Ммс |
0,90 |
15 |
Так |
Інтернет |
1,00 |
0,97 |
Ні |
Інтернет |
1,00 |
34 |
Так |
Замовл.тарифу |
15 |
13 |
Ні |
Замовл.тарифу |
15 |
25 |
Так |
Завдання 8
Таблиця 8
Предмет |
Кількість лабораторних |
Кількість зданих лабораторних |
Чи є допуск до екзамену ? |
П1 |
3 |
3 |
Так |
П2 |
4 |
3 |
Ні |
П3 |
2 |
2 |
Так |
П4 |
4 |
4 |
Так |
П5 |
3 |
2 |
Ні |
П6 |
2 |
2 |
Так |
П7 |
1 |
1 |
Так |
П8 |
2 |
1 |
Ні |
П9 |
3 |
2 |
Ні |
П10 |
4 |
4 |
Так |
Завдання 9
Таблиця 9
Фірма |
Знання англійської(рівень) |
Знання технологій |
Чи візьмуть на роботу? |
Ф1 |
Середній |
Так |
Так |
Ф2 |
Низький |
Так |
Ні |
Ф3 |
Високий |
Ні |
Ні |
Ф4 |
Високий |
Так |
Так |
Ф5 |
Середній |
Ні |
Ні |
Ф6 |
Низький |
Ні |
Ні |
Ф7 |
Середній |
Так |
Так |
Ф8 |
Низький |
Ні |
Ні |
Ф9 |
Високий |
Так |
Так |
Ф10 |
Середній |
Ні |
Ні |
Завдання 10
Таблиця 10
Вид спорту |
Очки |
Час(хв) |
Чи буде медаль? |
Стрільба |
40 |
2 |
Ні |
Стрільба |
100 |
2 |
Так |
Плавання |
20 |
1 |
Ні |
Плавання |
110 |
2 |
Так |
Шахи |
100 |
15 |
Так |
Шахи |
30 |
15 |
Ні |
Завдання 11
Таблиця 11
Команда |
Кількість серйозних порушень |
Погода |
Місце проведення |
Чи є велика ймовірність перемоги? |
K1 |
5 |
Дощ |
В гостях |
Ні |
К2 |
7 |
Сніг |
В гостях |
Ні |
К3 |
1 |
Сонце |
дома |
Так |
К4 |
1 |
Сонце |
В гостях |
Так |
К5 |
2 |
Сонце |
дома |
Так |
Завдання 12
Таблиця 12
Громадянин |
Пакет документів |
Кількість днів до поїздки(10>=) |
Чи була вже відкрита віза |
Чи відкриють візу? |
Г1 |
весь |
5 |
так |
ні |
Г2 |
весь |
11 |
ні |
так |
Г3 |
Не весь |
11 |
ні |
ні |
Г4 |
весь |
10 |
ні |
так |
