Óâîä

Подобни документи
Машинно обучение - въведение

Лекция Класификация с линейна обучаваща машина Обучаващата машина може да бъде дефинирана като устройство, чиито действия са повлияни от миналия опит

Логаритмична регресия

Microsoft Word - VM22 SEC55.doc

Scan Tailor Кратко ръководство за работа Преди време описах как се работи с програмата Scan Kromsator. Сега искам да Ви представя една друга програма,

Решения на задачите от Тема на месеца за м. март 2018 Даден е многоъгълник, който трябва да бъде нарязан на триъгълници. Разрязването става от връх къ

I

1 КаБел ЕООД Документация за софтуерния продукт КаБел ЕООД, подпомагащ организация на складовата дейност в железария Автор: Румен Ангелов История на в

Машинно обучение Лабораторно упражнение 9 Класификация с множество класове. Представяне на невронна мрежа Упражнението демонстрира класификация в множ

Slide 1

Проектиране на непрекъснат ПИД - регулатор. Динамичните свойства на системите за автоматично регулиране, при реализация на първия етап от проектиранет

Homework 3

ПЛОВДИВСКИ УНИВЕРСИТЕТ

Microsoft Word - nbb2.docx

МОДУЛ 2 ВАРИАНТ НА ПРАКТИЧЕСКА ЗАДАЧА ЗА НАЦИОНАЛНО ОНЛАЙН ОЦЕНЯВАНЕ НА ДИГИТАЛНИ КОМПЕТЕНТНОСТИ X КЛАС от 2016 г. УСЛОВИЕ НА ЗАДАЧАТА За тази задача

Приложение на методите на Рунге Кута за решаване на уравненията за отравяне на ядрения реактор 1. Въведение В доклада са направени поредица от изчисле

Машинно обучение Лабораторно упражнение 4 Линейна регресия и градиентно спускане Целта на упражнението е да се реализира линейна регресия, в която фун

Microsoft Word - seminar12.docx

Microsoft PowerPoint - DBoyadzhieva

doll Механична кукла Механичните кукли автоматично повтарят предварително зададена последователност от движения. В Япония има традиции в изработката н

IATI Day 1 / Senior Задача Activity (Bulgarian) X INTERNATIONAL AUTUMN TOURNAMENT IN INFORMATICS SHUMEN 2018 При лошо време навън Лора и Боби обичат д

Paint.net

X-Social_Varchev_

Microsoft Word - KZ_TSG.doc

Microsoft Word - Document5

Microsoft Word - zada4a 1.doc

СОФИЙСКА МАТЕМАТИЧЕСКА ГИМНАЗИЯ ТУРНИР ПО МАТЕМАТИКА И ИНФОРМАТИКА "ЗА ТОРТАТА НА ДИРЕКТОРА" ТЕМА ПО МАТЕМАТИКА 8 КЛАС Задача 1. Да се реши в цели чис

Задача D

Линейна алгебра 7. Умножение на матрици. Обратими матрици. Матрични уравнения специалности: Математика, Бизнес математика, Приложна математика, I курс

Университет - библиотека - образование и дигиталният достъп University - Library - Education and Digital Access

8. Вземане на последователни решения в обкръжение на риск. Конструиране на дърво на решенията

ВТОРА ГЛАВА

Microsoft Word - VM22 SEC66.doc

Как да съставим задачи като използваме подобните триъгълници, свързани с височините на триъгълника

Microsoft PowerPoint - Model_Dec_2008_17_21

Инструкция за работа с Декларации 1 и 6 Инструкция за изготвяне на Декларация образец 1 и Декларация образец 6 в ПП Омекс 2000, съгласно изискванията

Microsoft Word - Investment intermediaries analysis v2.doc

Линейна алгебра 11. Собствени стойности и собствени вектори на матрица и линейно преобразувание. Диагонализиране на матрица специалности: Математика,

Препис:

Снежана Георгиева Гочева-Илиева МАРКЕТИНГОВИ ИЗСЛЕДВАНИЯ Факултет по математика и информатика Пловдивски университет Паисий Хилендарски Пловдив, 2013-2017

Съдържание ЛЕКЦИЯ 7. Класификационни и регресионни дървета. Построяване на класификационни и регресионни дървета с метода CART. Процедури с SPSS.... 3 Въведение в методите на класификационните и регресионни дървета - (CART) методи... 3 Приложения на CART методите... 6 Алгоритъм на метода на класификационните и регресионни дървета.. 8 Регресионно CART дърво с 1 зависима и 1 независима променлива.. 10 Регресионно дърво с повече от един предиктор... 13 Кросвалидация... 15 Класификация и регресия с дървета с SPSS... 17 Построяване на дървета в SPSS... 19 2

ЛЕКЦИЯ 7. Класификационни и регресионни дървета. Построяване на класификационни и регресионни дървета с метода CART. Процедури с SPSS. Въведение в методите на класификационните и регресионни дървета - (CART) методи Методът на класификационните и регресионни дървета CART е предложен през 1984 г. от Л. Бреймън, Дж. Фрийдмън, Р. Олшен и С. Стоун. Съществуват различни варианти на CART, напр. CHAID, ExhaustiveCHAID и др. Като регресионна техника CART методът се определя като рекурсивно-разделяща регресия. Целта е разделяне на данните в относително хомогенни (с ниско стандартно отклонение или с минимална обща грешка по метода на най-малките квадрати) крайни 3

възли и получаване на средна наблюдавана стойност при всеки краен възел като прогнозна стойност. За зададена обучителна извадка моделната функция в CART има вида ˆ Yˆ I Yˆ I където X X m X (1) I X 1 е равно на 1, ако X и 0 в противен случай, m - брой крайни възли. Нека грешката на предсказване (loss function) от дървото T е: n 1 L yi y n ˆ ˆ 2 i, (2) i 1 4

yˆ ˆ X e предсказаната стойност за наблюдението i където i i Грешката L ˆ има минимална стойност при y ˆi Y, където Y е средната стойност на y за всички наблюдения, принадлежащи на възел, т.е. i X. ˆ 1 Y Y y i n X i, (3) n за - брой на наблюденията във възел. По този начин, дървото може да се разглежда и като p-мерна хистограма на данните, където p е броят на входните променливи X1, X 2,..., X p. 5

Приложения на CART методите Сегментиране: Позволява автоматично разпределяне на наблюденията по групи, например разделяне на клиентите на фирма на групи по най-съществените им предпочитания. Класификация в степувани групи: Разделяне на наблюденията в категории чрез степенуване, напр. висока категория, средна, ниска Предсказване: Създаване на правила и използването им за предсказване на бъдещи събития, напр. доколко някой се очаква да изпадне в неплатежноспособност, или е готов да рискува да продаде имота си или леката си кола. Намаляване на размерността на задачата (броя на променливите и/или случаите): Подбор на подмножество от предиктори като най-полезни за анализа и създаване на модел, описващ достатъчно добре цялия обем от данни. 6

Разкриване на взаимодействия: Отделяне на специфични подгрупи в извадката, които си взаимодействат. Сливане на категории и дискретизиране на непрекъснати променливи: Преподреждане на групови предиктори и непрекъснати променливи с минимална загуба на информация. Пример: Банка иска да класифицира кандидатите за кредит, доколко са податливи на риск слаборискови или силнорискови за изплащане на кредита им, което може да зависи от много фактори. За целта се използват известни данни за стари клиенти на банката. 7

Алгоритъм на метода на класификационните и регресионни дървета Метод CART. Изгражда се двоично дърво, което започва от възелродител, съдържащ всички наблюдения от обучителната извадка. На всяка стъпка от построяване на дървото на решенията (за всеки текущ възел) се използва правило, което дели съвкупността от наблюдения във възела на две подсъвкупности, съгласно условиe за минимизиране на грешката от тип (2) за текущото подмножество наблюдения относно някой от предикторите, напр. X. Условието има вида k X k или X k j j, (4) където j е търсена прагова стойност измежду стойностите на X k във възела. Ако за дадено наблюдение от текущия възел това условие е изпълнено, той преминава към група на левия наследствен възел, в 8

противен случай преминава към десния наследствен възел. Така разделянето по възли се повтаря многократно до достигане на краен възел R t. Поставят се и други условия за растеж на дървото като минимален брой наблюдения в краен възел, дълбочина и др. Като резултат се получава т. нар. максимално дърво T max. На втора стъпка полученото максимално дърво се редуцира (свива) с помощта на някакъв допълнителен критерий и се получава редица от дървета: с Tmax T0 T1 T2 T3... TM, (5) T - оптимално дърво. Обикновено T, q 1,2,..., M M q се оценява с помощта на независима тестова извадка чрез крос-валидация. Грешката на моделирането с V-разделна крос-валидация (V-fold CV). 9

Регресионно CART дърво с 1 зависима и 1 независима променлива Най-напред ще даден прост пример за построяване на двоично дърво по данните от таблицата с едно разделяне (само 2 поддървета). Пример 1. Нека са дадени независима променлива (предиктор) x и зависима променлива y с 10 наблюдения. i xi yi 1 1 10 2 1 12 3 1 11 4 1 10 5 2 12 6 2 14 7 2 13 8 3 15 9 3 16 10 3 16 В случая имаме 3 различни възможни стойности за прагова стойност от формула (4) по предиктора x. j j 1, с първите 4 стойности; средна стойност ymean=10.8 j 2, със средните 3 стойности; ymean=11.7; 3, с последните 3 стойности; ymean=12.9. j Тези средни са и предсказванията y ˆi за всяко наблюдение. 10

За всяка от трите прагови стойности разделяме на 2 подизвадки началната извадка, изчисляваме разликите в смисъла на (2): n j y ˆ 2 i yi, j 1,2,3. Най-малка е сумата за праг j 2 i i j, която е 14.1. tita1<=1 tita1>1 tita2<=2 tita2>2 tita3<=3 yi (yiymean)^ymean)^ymean)^ymean)^ymean)^2 (yi- (yi- (yi- (yi- yi yi yi yi 10 0.56 10 2.94 10 8.41 12 1.56 12 0.08 12 0.81 11 0.06 11 0.51 11 3.61 10 0.56 10 2.94 10 8.41 12 5.44 12 0.08 12 0.81 14 0.11 14 5.22 14 1.21 13 1.78 13 1.65 13 0.01 15 0.44 15 0.44 15 4.41 16 2.78 16 0.11 16 9.61 16 2.78 16 0.11 16 9.61 ymean 10.8 14.3 ymean 11.7 15.7 ymean 12.9 errors 2.8 13.3 errors 13.43 0.67 error 46.90 sum_error1 16.1 sum_error2 14.1 sum_error3 46.9 11

Така получаваме следното дърво на първото разделяне: n=10 ymean=12.9 x 2 x 2 n1=7 ymean=11.7 n2=3 ymean=15.7 Фиг. 1. Пример за регресионно CART дърво с 1 предиктор и 2 крайни възела. Аналогично може да се направи още едно деление на левия възел, с две възможности на прагова стойност по x : 1 или 2. 12

Регресионно дърво с повече от един предиктор Когато има 2 и повече предиктора, алгоритъмът работи така. За всеки получен възел се изпробват всички възможни прагови стойности по първата независима променлива, както в случая на един предиктор. Определя се минималната грешка и съответната прагова стойност. Същото се прави за втората и т.н. за всики други предиктори. От всички минимални грешки, се избира променливата, чиято минимална грешка е май-малка и се прави подразделяне на текущия възел със съответния праг. За да не се стигне до много малки подизвадки и да се оптимизира дървото, се задават минимален брой наблюдения за родителски и за краен възел, както и други контролни параметри на алгоритъма. Пример на регресионно дърво с 1 зависима и 2 независими променливи е даден на Фиг. 2. 13

X2 R2 R5 + - R3 + - + - R1 R4 R1 R2 R3 + - R4 R5 X1 Фиг. 2. Пример за регресионно CART дърво с 2 предиктора и 5 крайни възли. 14

Кросвалидация Ако изберем V=10, т.е. 10-разделна крос-валидация, то разделяме по случаен начин обучаващата извадка на 10 (почти) равни подгрупи. За всяка една подгрупа използваме останалите 9 като обучителна извадка за построяване и редуциране на дърво, с което се предсказват наблюденията от отделената подгрупа (тестова извадка). Ще използваме основно варианта CART. Алгоритми на различни варианти на метода са реализирани също в пакетите STATISTICA, R и др. Регресионните дървета са сравнително лесен метод за предсказване на зависимата променлива, но регресионната функция е прекъсната. Освен това не е възможно автоматично включване на локални взаимодействия между предикторните променливи. 15

Полученият модел може да се прилага за оценка и за предсказване на бъдещи наблюдения, които според установените правила ще попаднат в точно един краен възел на дървото и ще получат като предсказана стойност на зависимата променлива средната стойност на този краен възел. 16

Класификация и регресия с дървета с SPSS Цел на анализа. Построяване на аналитично дърво, моделиращо данните с помощта на правила. Получаване на крайните възли на дървото (Terminal nodes) и изчисляване на средната стойност за всеки краен възел, която да послужи за предсказване на стойност за попадащите в този възел данни. SPSS методи за нарастване на дървото: CHAID метод. Автоматично откриване на взаимодействия. Този метод на всяка стъпка избира тази независима променлива, която най-силно влияе на зависимата, например чрез регресия. Категориите на всяка независима променлива (наричана още предиктор) се сливат, ако те не са статистически различни спрямо зависимата променлива. 17

Exhaustive CHAID. Модификация на CHAID, която опитва всички възможни разделяния за всеки предиктор. Дървото не е непременно двоично. CRT. Classification and Regression Trees. CRT e вариантът на CART (двоично дърво), който разделя данните на сегменти (групи) които са колкото е възможно по-хомогенни спрямо зависимата променлива. Краен възел, в който всички случаи (наблюдения, cases) имат една и съща стойност на зависимата променлива е хомогенен и се нарича чист възел. QUEST. Бързо получавано, неизместено, ефективно статистическо дърво (Quick, Unbiased, Efficient Statistical Tree). Може да групира предикторите. QUEST работи само ако зависимата променлива е номинална. 18

Построяване на дървета в SPSS Ще използваме данни от файловете на IBM SPSS от папката : C:\Program Files\IBM\SPSS\Statistics\21\Samples\English Пример 1. За първия пример използваме файла с данни: tree_textdata.sav Той има само 2 променливи: Dependent и Independent, с размер на извадката n = 1000. Данните са от интервален тип (Scale). Възможно е предефиниране на данните като номинални и изполването на съответен метод с дървета. Ще направим класификация на случаите (наблюденията) с метода CRT на SPSS за построяване на разрешаващи дървета (Decision trees). 19

Анализът се провежда от Analyze/Classify/Tree 20

Отваря се прозорецът Decision tree, в който пренасяме променливите от лявото поле, както е показано и избираме CRT в Growing Method: Настройка на изхода показване на дървото, правилата и др. Настройка на правилата за валидиране на анализа Задаване на критерии на анализа Запомняне на предсказаните стойности Избор на метод 21

Настройка на изхода показване на дървото, правилата и др. След избиране на се показва прозорец с 4 възможности. Тук сме променили само отметката за ориентация на Left to right. 22

Оставяме по подразбиране първите 3 и отваряме Rules и правим показните настройки, избираме Continue и се връщаме в Decision Tree: 23

Настройка на правилата за валидиране на анализа В подлистника можем да изберем настройките за валидация на модела, например, Crossvalidation (10) и продължаваме с Continue. 24

Задаване на критерии на анализа Отваряме подлистника, оставяме всичко по подразбиране. Ще се направи дърво с до 5 нива (дълбочина), родителски възел ще съдържа 100 случая (наблюдения), а наследствен възел 50. 25

В подлистника ще изберем както е показано: С Predicted values ще се генерира нова променлива с предсказаните от модела стойности, получени като средна стойност за всеки краен възел на разрешаващото дърво. 26

С Continue се връщаме в основния прозорец на анализа Decision Tree и можем да го старираме с. Получаваме следните резултати: Specifica tions Results Model Summary Growing CRT Method Dependent dependent Variable Independent independent Variables Validation Cross Validation Maximum Tree 5 Depth Minimum Cases 100 in Parent Node Minimum Cases 50 in Child Node Independent independent Variables Included Number of 7 Nodes Number of 4 Terminal Nodes Depth 3 27

Дървото изглежда както е показано на фигурата. С червено са оградени крайните 4 възли.: Бутон за отваряне /затваряне на поддърво. 28

В таблица Gain Summary for Nodes са дадени разпределенията на случаите и получените предсказани стойности, означени с Mean (регресионни приближения) от модела за всеки от крайните възли. Забележете, че всеки възел има номер. Тази таблица е обобщение на резултата от фигурата на дървото. Gain Summary for Nodes Node N Percent Mean 5 161 16.1% 3.0000 6 339 33.9% 2.5221 2 329 32.9% 1.0000 3 171 17.1% 1.0000 Growing Method: CRT Dependent Variable: dependent 29

Таблицата Risk показва степента на точност на получените от модела предсказани стойности и стандартната грешка. Risk Method Estimate Std. Error Resubstitution.085.004 Cross-Validation.086.004 Growing Method: CRT Dependent Variable: dependent Предсказаното и кросвалидацията трябва да са близки. В нашия случай данните са 1000 и тези показатели, както и малката грешка на модела в последната колона, показват, че моделът е много добър. 30

В редактора на данни се появи и новата променлива PredictedValue_1. 31

Пример 2. Използваме файла с данни: tree_credit.sav Банка поддържа база данни с историческа информация, т.е. данни за старите си клиенти, които са получили заеми от банката. Зависимата променлива е Credit Rating: добрите длъжници, които са си изплатили заема без просрочки са маркирани с Good (1), лошите - с Bad (0), ако няма данни са от тип No credit history (9). За всеки клиент на банката има данни за следните 5 независими променливи: Възраст, интервална променлива Месечен доход на клиента, ординална Брой кредитни карти на клиента Образование на клиента Заем за кола 32

Цел на анализа: да се направи дърво за класификация по групи клиенти, така че банката да може по 5-те независими променливи (предиктора) да преценява кои потенциални клиенти са добри и кои лоши. Размерът на извадката е с n = 2464 данни. Провеждане на анализа: Повтаряме анализа от предния пример и получаваме дърво с 27 крайни възела, с информация, подобна на тази, която вече видяхме за пример 1. 33

34

Node Good 4 53 8 25 13 1 14 20 15 44 18 176 19 78 20 89 21 199 22 282 23 193 24 85 25 63 26 136 1444 Тълкуване на резултата: От табличката виждаме, че най-много добри клиенти на банката има във възел 22, брой=282. Правилата на класификация последователно от корена на дървото са следните: Ниво 1: Income (Доход) > Low (Нисък) Ниво 2: Number of credit cards < 5 Ниво 3: Age >30.243 Ниво 4: Age >37.350 От последното правило се вижда, че подобрението на модела е 0.000. Следователно, можем да заключим, че най-добрите клиенти (общо 506, или 20.5%) нямат нисък доход, имат под 5 кредитни карти и са над 30 годишна възраст възел 12. Дървото следва да се ограничи до помалък брой крайни възли. 35

Може да намерите подробни решени примери и в следния източник: IBM_SPSS_Decision_Trees.pdf ftp://public.dhe.ibm.com/software/analytics/spss/documentation/statistics/22.0/en/client/ Manuals/IBM_SPSS_Decision_Trees.pdf 36