- •Методичні вказівки
- •Теоретична частина:
- •Постановка завдання.
- •1R алгоритм (One rule )
- •Naive Bayes метод (nbc)
- •1R алгоритм
- •2.1. Реалізація 1r алгоритму
- •2.2. Дискретизація
- •3.1. Припущення умовної незалежності
- •Проблема арифметичного переповнення
- •Наївний баєсовський класифікатор (Naive Bayes Classifier)
- •3.3. Оцінка параметрів байєсівської моделі
- •Проблема невідомих слів
- •Реалізація класифікатора
- •Застосування методу Naive Bayas
- •Характеристика методу
- •4. Порядок виконання роботи
- •Варіанти індивідуальних завдань
- •Вимоги до звіту
- •Доц. Ковівчак Ярослав Васильович
2.1. Реалізація 1r алгоритму
Як і інші емпіричні методи навчання, 1R приймає в якості вхідних даних множину прикладів, кожен з яких складається з декількох атрибутів та залежної змінної. Мета полягає в тому, щоб вивести правило, що дозволяє визначити значення залежної змінної за заданими значеннями атрибутів. Алгоритм 1R вибирає один найбільш інформативний атрибут і засновує правило лише на цьому атрибуті. Основна ідея алгоритму:
Для кожного атрибута а, сформувати правило у такий спосіб:
Для кожного значення v з області а,
Виберіть множину значень, де а має значення v
Нехай с буде найбільш часте значення залежної змінної у цій множин
Додати доповнення до правила:
Якщо а має значення v, тоді залежна змінна є с
Розрахунок точності класифікації з цього правила.
Використовуйте правило з найвищою точністю класифікації
Алгоритм припускає, що атрибути мають дискретні значення. Якщо ні, то вони повинні бути дискретизовані , якщо у вибірці трапляються об’єкти з пропущеними значеннями, то 1R-алгоритм підраховує такі об’єкти для кожного можливого значення змінної.
Приклад 1
Таблиця 1
Погода |
Температура |
Вологість |
Вітер |
Гра |
сонячно |
85 |
85 |
Немає |
Ні |
сонячно |
80 |
90 |
Є |
Ні |
хмарно |
83 |
78 |
Немає |
Так |
дощ |
70 |
96 |
Немає |
Так |
дощ |
68 |
80 |
Немає |
Так |
дощ |
65 |
70 |
Є |
Ні |
хмарно |
64 |
65 |
Є |
Так |
сонячно |
72 |
95 |
Немає |
Ні |
сонячно |
69 |
70 |
Немає |
Так |
дощ |
75 |
80 |
Немає |
Так |
сонячно |
75 |
70 |
Є |
Так |
хмарно |
72 |
90 |
Є |
Так |
хмарно |
81 |
75 |
Немає |
Так |
дощ |
71 |
80 |
Є |
Ні |
У таблиці 1 наведений невеликий ілюстративний набір даних, який використовує погоду, щоб вирішити, чи варто грати в гольф. Набір даних має два номінальних атрибути(незалежні змінні), погода(зі значеннями сонячно, похмуро і дощ), і вітер(зі значеннями true і false), і дві неперервні величини:
температура і вологість. Для того, щоб продемонструвати основну роботу алгоритму, розглядатимемо тільки номінальні атрибути.
Частоти кожного класу для кожного значення номінального атрибуту наведені в таблиці 1.1. Правила, що випливають з цих таблиць, і їх точність, наведені в таблиці 1.2. Для кожного атрибута і значення, клас був вибраний такий, який найбільш часто зустрічається в цій комбінації, наприклад, коли
Погода=сонячно, залежна змінна одержує значення НІ, тому що, як видно з таблиці 1.1., це відбувається три рази, тоді як значення залежної змінної ТАК відбувається лише два рази. Де найвищі частоти рівні, вибір робиться випадковим чином. Наприклад, у таблиці 1.2, коли змінна вітер=true, вибір значення залежної змінної «Так», буде настільки ж прийнятним, як значення «НІ»: як показано з цього прикладу, коли незалежна змінна вітер=true, то це не має значення для прийняття рішення грати чи ні у гольф.
Частота значень незалежних змінних Таблиця 1.1
Погода |
Так |
Ні |
хмарно |
4 |
0 |
сонячно |
2 |
3 |
дощ |
3 |
2 |
Вітер |
Так |
Ні |
Є |
3 |
3 |
Немає |
6 |
2 |
Правила виведені з Таблиці 1.1 Таблиця 1.2
Погода |
if Хмарно then |
Так |
(4/4) |
|
else if сонячно then |
Ні |
(3/5) |
|
else if дощ then |
Так |
(3/5) |
|
Точність=10/14 (71,4%) |
|
|
Вітер |
if Є then |
Ні |
(3/6) |
|
else if Немає then |
Так |
(6/8) |
|
Точність=9/14 (63,3%) |
|
|
