Просте класифікаційне дерево



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Просте класифікаційне дерево



[Ви будете читати цей розділ?] / \ Так Ні / \ [Ви його зрозумієте?] [Не вивчите] / \ Так Ні / \ [Вивчите] [Не вивчите]

 

Це просте класифікаційне дерево визначає відповідь на питання «Чи вивчите ви принцип побудови класифікаційного дерева?» У кожному вузлі ви відповідаєте на відповідне питання і переходьте за відповідній гілці до наступного вузла, до тих пір, поки не дійдете до листа з остаточною відповіддю «так» чи «ні». Ця модель застосовна до будь-яких сутностей, і ви зможете відповісти, чи в змозі ці сутності вивчити класифікаційні дерева, за допомогою двох простих питань. У цьому і полягає основна перевага класифікаційних дерев - вони не вимагають надмірної кількості інформації для створення досить точного і інформативного дерева рішень.

Модель класифікаційного дерева використовує підхід, аналогічний тому, який ми застосовували при створенні моделі регресійного аналізу, а саме створення моделі на основі навчальної послідовності (training set). Цей підхід використовує відомі дані для аналізу впливу вхідних значень на результат і будує модель на основі отриманих залежностей. Таким чином, коли у нас є новий набір даних з невідомим результатом, ми підставляємо наші дані в модель і отримуємо очікуваний висновок.

Поки що новий метод працює так само, як регресійна модель. Проте, існують і відмінності. Метод класифікаційного аналізу використовує покращений підхід, суть якого полягає в тому, що набір відомих даних ділиться на дві частини. Перша частина (60-80% даних) використовується в якості навчального набору для створення моделі. Після цього дані, що залишилися проганяються через цю модель, і змодельовані результати порівнюються з реальними. Такий підхід дозволяє оцінити точність аналітичної моделі.

Для чого потрібен додатковий крок перевірки моделі? Він дозволяє уникнути зайвої підгонки моделі під зібрані дані. Якщо ми будемо використовувати занадто багато даних для розробки моделі, то отримана модель буде ідеально відповідати зібраними даними і тільки їм. Наше завдання - створити модель для прогнозування невідомих нам даних, а не для прогнозування даних, які і так вже відомі. Для перевірки цього і використовується тестовий набір. З його допомогою ми визначаємо, що точність моделі на тестовому наборі не зменшується. Таким чином, ми гарантуємо, що наша модель зможе з досить високою ймовірністю визначити невідомі значення. З допомогою WEKA ми розглянемо, як це працює на конкретному прикладі.

Питання надмірної кількості даних приводить нас до обговорення ще одного важливого принципу побудови класифікаційних дерев - принципу відсікання гілок. Відсікання гілок, як випливає з назви, має на увазі видалення гілок з класифікаційного дерева. Але навіщо видаляти інформацію з дерева рішень? Знову ж, для того, щоб уникнути зайвої підгонки дерева під відомі дані. У міру зростання даних зростає і кількість атрибутів, так що наше дерево може стати надмірно складним і розгалуженим. Теоретично, можна створити дерево з кількістю листків leaves = (rows * attributes) , проте наскільки корисне таке дерево? Воно навряд чи зможе допомогти нам визначити невідомий результат, так як воно всього лише визначає вже відомі дані. Необхідно досягти певного балансу між точністю аналізу і простотою моделі. Нам потрібна аналітична модель з мінімальною кількістю вузлів і листків, яка, тим не менш, відрізнялася б високою точністю. Тут, як ми бачимо, необхідний певний компроміс.

І останнє питання, на якому ми хотіли б зупинитися, перш ніж приступити до створення конкретних моделей в WEKA, це проблема помилкового розпізнавання (false positive і false negative). Основний сенс проблеми помилкового розпізнавання полягає в тому, що модель розглядає який-небудь атрибут який має вплив на кінцевий результат, в той час як насправді цей атрибут ніякого впливу на результат не надає. І навпаки, істотний атрибут трактується моделлю як несуттєвий.

Хибне розпізнавання свідчить про помилковість моделі і невірну класифікацію даних. Безумовно, певна похибка в класифікації припустима, і завдання розробника моделі - визначити допустимий відсоток помилок. Наприклад, при розробці моделі оцінки кардіомоніторів для лікарень від вас будуть потрібні виключно низькі показники помилковості результатів. Навпаки, якщо ви розробляєте навчальну модель для ілюстрації статті про інтелектуальний аналізі даних, ви можете дозволити собі достатньо високий рівень похибки моделі. Розвиваючи цю тему, корисно визначити прийнятне процентне відношення хибно-негативного розпізнавання до хибно-позитивного. Найбільш очевидний приклад - модель визначення спаму. Хибно-позитивне розпізнавання (потрібний лист позначається як спам), швидше за все, буде мати більше негативних наслідків, ніж хибно-негативні (лист-спам потрапить в розряд потрібних листів). У цьому випадку може вважатися прийнятним співвідношення хибно-негативних розпізнавань до хибно-позитивних як 100:1.

Тепер візьмемо реальні дані і пропустимо їх через аналітичний механізм WEKA.

Набір даних для WEKA

Набір даних, який ми будемо використовувати для прикладу класифікаційного аналізу, містить інформацію, зібрану дилерським центром BMW. Центр починає рекламну кампанію, пропонуючи розширену дворічну гарантію своїм постійним клієнтам. Подібні кампанії вже проводилися, так що дилерський центр має 4500 показники щодо попередніх продажів з розширеною гарантією. Цей набір даних має такі атрибути:

 

· Розподіл за доходами

[0=$0-$30k,

1=$31k-$40k,

2=$41k-$60k,

3=$61k-$75k,

4=$76k-$100k,

5=$101k-$150k,

6=$151k-$500k,

7=$501k+]

· Рік / місяць покупки першого автомобіля BMW

· Рік / місяць покупки останнього автомобіля BMW

· Чи скористався клієнт розширеною гарантією

Файл даних у форматі Attribute-Relation File Format (ARFF) буде виглядати наступним чином:

@attribute IncomeBracket {0,1,2,3,4,5,6,7} @attribute FirstPurchase numeric @attribute LastPurchase numeric @attribute responded {1,0}   @data   4,200210,200601,0 5,200301,200601,1 ...

Класифікація в WEKA

Завантажте файл bmw-training.arff в програмний пакет WEKA, використовуючи ті ж кроки, які ми виконали для завантаження даних у випадку регресійного аналізу.

Зауваження: в пропонованому файлі містяться 3000 з наявних 4500 записів. Ми розділили набір даних так, щоб частина їх використовувалася для створення моделі, а частина - для перевірки її точності, щоб переконатися, що модель не є підігнаною під конкретний набір даних.

Після завантаження даних вікно WEKA має виглядати так, як показано на рис. 1.


Рис. 1. Дані дилерського центру BMW для класифікації в WEKA

 

Аналогічно тому, як ми вибирали тип моделі для регресійного аналізу в попередній лабораторній роботі, тепер нам слід вибрати модель для класифікації: відкрийте закладку Classify , виберіть опцію trees, а потім опцію J48.


Рис. 2. Алгоритм класифікації даних BMW


Тепер ми готові приступити до створення конкретної моделі аналізу засобами пакета WEKA. Переконайтеся, що обрана опція Use training set , щоб пакет WEKA при створенні моделі використовував саме ті дані, які ми тільки що завантажили у вигляді файлу. Натисніть кнопку Start і надайте WEKA можливість попрацювати з нашими даними. Результуюча модель повинна виглядати так, як показано нижче:

 



Последнее изменение этой страницы: 2016-04-19; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.237.16.210 (0.009 с.)