6 Data Mining Classification

80
Класификация и предсказване Задача за класификация

Transcript of 6 Data Mining Classification

Page 1: 6 Data Mining Classification

Класификация и предсказване

Задача за класификация

Page 2: 6 Data Mining Classification

Въведение Класификацията (classification) и

предвиждането (prediction) са две форми на анализа на данни, които могат да бъдат използвани за извличането на важни и полезни модели. Тези модели могат да бъдат използвани както за: описанието на важни класове от данни за предвиждането на бъдещи

тенденции в изменението на данните.

Page 3: 6 Data Mining Classification

Що е класификация? Задача на класификацията – класификацията е

операция по разпределянето на различни обекти в няколко отделни класа. Класовете могат да бъдат определени чрез бизнес-правила, чрез своите граници или чрез някаква математическа зависимост. Класификацията принадлежи към групата модели, наречени “ръководено обучение” (supervised learning)

Целта на класификацията е да създаде кратък обобщен модел на изменението на зависимия атрибут, свързано с поведението на атрибута-предиктор (атрибутите-предиктори).

Page 4: 6 Data Mining Classification

Що е класификация? Класификацията е най-простата и бай-често

решаваната задача от областта на Data Mining. Като се има предвид разпространеността на тази задача е необходимо ясно разбиране на същността на това понятие.

Популярни определения: Класификация – системно разпределение на

изучаваните предмети, явления, процеси по родове, видове, типове според някакви съществени признаци с цел удобство на изследването им; групировка на изходните данни и разполагането им в определен ред, отразяващ степента на сходството им.

Класификация – подредени по някакъв принцип множество обекти, които имат сходни класификационни признаци (едно или няколко свойства), избрани за определяне на сходството или различието между тези обекти.

Page 5: 6 Data Mining Classification

Класификация и предвиждане Класификация – предвижда резултат под формата

на категорийни (дискретни, символни) състояния на данните (етикети на класовете) Класифицираме клиентите в групи,

класифицираме стоките и услугите и т.н.) Предвиждане – резултатът се получава под формата

на стойности на непрекъсната числова функция Предвиждаме тенденцията в изменение на

обема на продажбите, тенденцията в изменение на пазарния дял и т.н.

Класификацията и предвиждането се отнасят към методите на “ръководено обучение” (обучение с учител).

Page 6: 6 Data Mining Classification

Класификация-примерКато разполагаме със стари данни за

кредитополучатели и обслужваните от тях кредити да предскажем надеждността на новите кредитоискатели.

ВъзрастПрофесияГодишен доходОбразованиеТип на клиента

Старикредитополучатели

Класификация Решаващи правилаSalary > 5 L

Prof. = ExecДА/НЕ

Данни за кредитоискателя

Page 7: 6 Data Mining Classification

Типове задачи на класификацията

Двоична класификация – принадлежи ли обектът към дадена група или не? (Два възможни изхода - ...)

Класификация с множество възможни изходи (класове) – какъв продукт от дадена гама ще купи клиентът?

Едномерна (по един признак) и многомерна класификация (по множество признаци)

Page 8: 6 Data Mining Classification

Основни въпроси при класификацията Какво е естеството на съвкупността от данни,

която трябва да се класифицира? Трябва да бъде определено предназначението на

класификацията и то трябва да бъде свързано с интерпретацията на очакваните резултати

Каква трябва да бъде точността на класификацията? Постигането на висока точност в повечето случаи изисква

продължителна работа на алгоритмите, което може да се окаже неподходящо за целите на бизнеса

Доколко разбираеми трябва да бъдат класовете? Някои от моделите (дървета на решенията) дават

резултати, които обясняват по-добре връзката между предикторната и зависимата променлива, докато при други (невронни мрежи) тази връзка не е така изяснена.

Page 9: 6 Data Mining Classification

Подготовителни стъпки за класификация1. Определя се типа на класификационната задача.

Определят се броят и видът на целевите класове.2. Определят се границите на всеки клас според типа на

входните променливи3. Конструира се съвкупност от решаващи правила,

базирани на границите на класовете за определяне на принадлежността на обекта към всеки от класовете.

4. Определя се предварителна оценка на вероятността за всеки от класовете, основаваща се на честотата на поява на този клас в общата съвкупност от данни.

5. Ако е необходимо може да бъде определена “цената” за “лош” избор в разглежданите случаи за всеки от класовете (особено важна задача за критични области като медицина, ядрена енергетика и др.).

Page 10: 6 Data Mining Classification

Фази на процеса “класификация”

1. Съставяне на модела (фаза на обучение) – описание на множеството от предефинирани класове.

1. Всеки обект от извадката се свързва с един от предефинираните класове чрез атрибута “етикет на клас” (ръководено обучение)

2. Избира се множество от обекти, използвани за съставяне на модела – т.нар. “обучаващо множество”

3. Моделът се представя като система от класификационни правила, дървета на решенията или математически формули

2. Прилагане на модела – за класифициране на нови обекти

1. Точността на модела се оценява чрез т.нар.”тестово множество

2. Точността на модела се определя от процента правилно класифицирани обекти в тестовото множество

3. Тестовото множество не бива да съвпада с обучаващото множество

Page 11: 6 Data Mining Classification

Фази на процеса “класификация”

Apply

Model

Induction

Deduction

Learn

Model

Model

Tid Attrib1 Attrib2 Attrib3 Class

1 Yes Large 125K No

2 No Medium 100K No

3 No Small 70K No

4 Yes Medium 120K No

5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No

8 No Small 85K Yes

9 No Medium 75K No

10 No Small 90K Yes 10

Tid Attrib1 Attrib2 Attrib3 Class

11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?

14 No Small 95K ?

15 No Large 67K ? 10

Test Set

Learningalgorithm

Training Set

Page 12: 6 Data Mining Classification

Съставяне на модела

Обучение – обучаващите данни се анализират от обучаващия алгоритъм

Page 13: 6 Data Mining Classification

Прилагане на модела

Класификация – тестовите данни се използват за да се оцени точността на модела

Page 14: 6 Data Mining Classification

Пример – задача за класификация

Код клиент Възраст Доход Клас

1 18 25 А

2 22 100 А

3 30 70 А

4 32 120 А

5 24 15 B

6 25 22 A

7 32 50 B

8 19 45 B

9 22 75 A

10 40 90 B

Page 15: 6 Data Mining Classification

Пример – задача за класификация (2)

Клиент клас B

Клиент клас A

Въ

зраст

Доход

Нов клиент клас ?

Page 16: 6 Data Mining Classification

Пример – задача за класификация Възможни решения

Линейна регресияДърво на решенията

Невронна мрежа

Page 17: 6 Data Mining Classification

Модели за класификация Дървета на решенията; CHAID; Случайни “гори” и усилени

дървета; Логистична регресия; Невронни мрежи; “Най-близкия съсед”; Наивна Бейсова класификация и

др.

Page 18: 6 Data Mining Classification

Оценка на ефективността и точността на класификационния модел

Класификационният модел се проверява чрез прилагане върху тестови данни с известни целеви стойности (етикети на класовете) и сравняване на предсказаните стойности с фактическите стойности.

Матрица на грешките (Confusion matrix, contingency table)

Брой (процент) на коректно класифицираните случаи. True Positive (TP) rate (дял на правилно класифицираните) – е частта от

екземпляри, които са класифицирани в клас X, разделена на всички екземпляри от клас X. За клас A: 7/(7+2)=0.778, за клас B: 4/(3+4)= 0.571.

False Positive (FP) rate (дял на неправилно класифицираните) – е частта от екземпляри, които са класифицирани в клас X, но принадлежат на други класове, разделена на всички екземпляри, които не принадлежат към клас X. За клас A:3/(3+4)= 0.428, за клас B:2/(3+4)=0.286.

А B

A 7 2

B 3 4

Дей

стви

тел

ни

Класифицирани

Page 19: 6 Data Mining Classification

Оценка на класификационния модел (2)

Точност (Precision) - е отношението на броя на екземлярите, които действително имат клас X към броя на всички екземпляри, класифицирани в клас X.

F-Measure е отношението: 2*Precision*Recall/(Precision+Recall)

Page 20: 6 Data Mining Classification

Оценка на класификационния модел (3)

False Positives

True Positives

False Negatives

Действителни

Класифицирани

Page 21: 6 Data Mining Classification

ROC-криваКривата Receiver Operating

Characteristic (ROC) изобразява графика на връзката на true positive rate (Sensitivity) във функция от false positive rate (100-Specificity) за различни точки на разделяне. Всяка точка от ROC-кривата е свързана със специфичен праг на решението. Проверката с перфектно дискриминиране (без припокриване между разпределенията) има ROC-крива, която преминава през горния ляв ъгъл. Колкото по близо е кривата ROC до горния ляв ъгъл, толкова е по-добра общата точност на проверката.

Page 22: 6 Data Mining Classification

Обща формулировка на задачата

Всеки класификационен подход използва съвкупност от признаци, за да класифицира отделен обект. Нека тези признаци се представят от случайните променливи X1, …, Xk (предикторни променливи) а Y е зависимата променлива, съдържаща стойностите (етикетите) на възможните класове. Xi притежава домейн dom(Xi) (i=1,...k). Y притежава домейн dom(Y). P е съвместното вероятностно разпределение на dom(X1) x … x dom(Xk) x dom(Y). Обучаващата база от данни Dт е случайна извадка от P.

Предиктор d е функцията:

d: dom(X1) … dom(Xk) dom(Y)

Page 23: 6 Data Mining Classification

Обща формулировка на задачата (2) Ако Y е категорийна променлива, задачата е

класификационна и използваме етикета на класа C вместо Y.|dom(C)| = J.

C – етикет на класа, d - класификатор. Нека r е запис, случайно подбран от P.

Дефинира се мярка на погрешната класификация (misclassification rate) of d:RT(d,P) = P(d(r.X1, …, r.Xk) != r.C)

Дефиниране на задачата: Нека съвкупността от данни D е случайна извадка от вероятностното разпределение P, да се намери класификатор d,който да минимизира RT(d,P).

Page 24: 6 Data Mining Classification

Класификационни дървета (дървета на решенията) - понятиеКласификационното дърво

е структура от възли и връзки между тях, като всеки възел има една входяща и две изходящи връзки към съседни възли.

Дървото моделира процеса на вземане на решение относно класа, към който трябва да бъде отнесен класифицирания обект чрез поредица от проверки на логически условия.

Възлите биват междинни (разклонения) и крайни (листа). Междинните възли съответстват на логическите проверки, крайните – на класовете.

Page 25: 6 Data Mining Classification

Елементи на дървото на решението Възлите биват

вътрешни (междинни, разклонения) и крайни (листа). Вътрешните възли съответстват на логическите проверки, крайните – на класовете.

Всеки вътрешен възел има асоцииран разделящ предикат:

Age <= 20Profession in {student,

teacher}5000*Age + 3*Salary –

10000 > 0

Page 26: 6 Data Mining Classification

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

(запис), X, за който асоциираният етикет на класа е неизвестен. Стойностите на негоеите атрибути се тестват чрез дървото на решенията. Трасира се пътят, от корена на дървото до крайния възел, който съдържа предсказания клас за този обект.

Дървото на решенията може лесно да бъде преобразувано в касификационни правила.

Page 27: 6 Data Mining Classification

Пример за дърво на решенията

Tid Refund MaritalStatus

TaxableIncome Cheat

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 No Single 90K Yes10

categoric

al

categoric

al

continuous

class

Refund

MarSt

TaxInc

YESNO

NO

NO

Yes No

Married Single, Divorced

< 80K > 80K

Splitting Attributes

Training Data Model: Decision Tree

Page 28: 6 Data Mining Classification

Друг пример за дърво на решенията

Tid Refund MaritalStatus

TaxableIncome Cheat

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 No Single 90K Yes10

categoric

al

categoric

al

continuous

classMarSt

Refund

TaxInc

YESNO

NO

NO

Yes No

Married Single,

Divorced

< 80K > 80K

За едни и същи данни може да има различни варианти на дървото на решенията!

Page 29: 6 Data Mining Classification

Дървета на решенията - предимства Интуитивно представяне – лесни за разбиране.

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

Дърветата на решенията са непараметрични модели и са подходящи за изследователско откриване на знания

Дърветата на решенията могат да бъдат конструирани относително по-бързо спрямо другите модели

Дърветата на решенията могат да поддържат и представят многомерни данни

Бърз процес на обучение на модела Мащабируемост – времето, изразходвано за обучение

расте линейно с обема на обучаващия пример Точността на дърветата на решенията е сравнима с

точността на другите модели

Page 30: 6 Data Mining Classification

Дърво на решенията (ДР) в STATISTICA Data Miner

Page 31: 6 Data Mining Classification

Процес на конструиране на дървото на решенията

Алгоритмите на конструирането на дърво на решенията се състоят от два етапа:

“построяване" или “изграждане" на дървото (tree building) и

“съкращаване“ (“окастряне”,”орязване”) на дървото (tree pruning).

В процеса на създаването на дървото се решават въпроси, свързани с избора на критерий за разклонение и прекратяване на обучението.

На етапа на съкращаване на дървото се решава въпросът за орязване на някои от клоните му и представянето му в максимално удобен и използваем вид.

Page 32: 6 Data Mining Classification

Обща схема за построяване на дърво на решенията

Низходяща схема за конструиране на дърво на решенията: Изследва се обучаващата база от

данни и се намира най-добрият разделящ предикат за възела в корена на дървото.

Разделя се обучаващата база от данни.

Процесът се повтаря рекурсивно за всеки нов възел.

Page 33: 6 Data Mining Classification

Общ алгоритъм за построяване на дърво на решенията

BuildTree(Node t, Training database D, Split Selection Method S)

(1) Приложи S към D за да намериш критерий за разделяне

(2) if (t не е краен възел)(3) Създай дъщерни възли за t(4) Раздели D на дъщерни дялове(5) Изпълни рекурсивно за всеки дял(6) endif

Page 34: 6 Data Mining Classification

Критерии за разклонениеПроцесът на създаване на дървото е низходящ (от

неговия основен възел - корен). Алгоритъмът за създаването на ДР работи с критерий за разклонение, който да раздели множеството на класифицираните обекти на подмножества, асоциирани с проверката в дадения възел. Всеки вътрешен възел се отнася до определен атрибут (възраст, доход, пол и т.н.). Правилото за избор на атрибута, проверяван във всеки възел изисква изходното множество от данни да се разделя по такъв начин, че обектите от подмножествата, получени от това разделяне да са представители само на един клас или да са максимално приближени към класовете на разделяне (количеството “примеси” във всеки от класовете да е минимално – максимално хомогенни подсъвкупности).

Page 35: 6 Data Mining Classification

Избор на “най-добрата” предикторна променлива в алгоритмите

Класификационните алгоритми, които се основават на съставяне на дърво на решенията, обикновено работят чрез избора на една променлива на всяка стъпка, която е поредната “най-добра” променлива за разделяне на множеството от обекти. Изборът на “най-добрата” предикторна променлива се определя от това, колко добре тя разделя изходното множество на подмножества, които имат същата стойност като целевата променлива. Различните алгоритми използват различни средства и метрики за определяне на “най-добрата” променлива.

Page 36: 6 Data Mining Classification

Критерии за разклонение (2)Най-често използваните критерии за разклонение са

два: Мярка на “информационната печалба” (алгоритъм

ID3) – представлява мярка за информативността на подпространствата на атрибутите и се основава на понятието “ентропия”;

Индекс Gini (предложен от Breiman, реализиран в алгоритъма CART)

30 35Age

“Да”

“Не”

Page 37: 6 Data Mining Classification

Метрики за избор на атрибути Информационна печалба (ID3/C4.5)

Предполага се, че всички атрибути са категорийни Може да бъде модифициран и за атрибути с

непрекъснати стойности

Gini-индекс Всички арибути са непрекъснати величини Предполага се, че съществувт няколко възможни

разделяния за всеки атрибут Може да се наложи използването на други техники

(напр.клъстеризация) за да се получат възможните стойности за разделяне (split-values)

Може да бъде модифициран и за категорийни атрибути

Page 38: 6 Data Mining Classification

Ентропия Формула, която изчислява хомогенноста на в една съвкупност от обекти

(данни). Напълно хомогенната съвкупност има ентропия 0. Съвкупността с еднакво поделени в подмножества стойности на атрибут

има ентропия 1. За съвкупност, състояща се от “положителни” (+) и “отрицателни” (-)

елементи ентропията E(S) е:

където p+ и p- са вероятностите, честотите на положителните и отрицателните елементи е съвкупността S.

Крайната формула за ентропия Е(S) на съвкупност S, състояща се от C подсъвкупности (класове) е:

където pi, i=1,…,n са вероятностите (честотите) на подсъвкупностите, съдържащи различните стойности на класа.

ppppSE 22 log.log.)(

C

iii ppSE

12log.)(

Page 39: 6 Data Mining Classification

Ентропия (2)

Фигурата илюстрира стойностите на максимапната ентропия за различен брой класове n, за които честотата (вероятността) е еднаква: p=1/n.

Page 40: 6 Data Mining Classification

Информационна печалба Информационната печалба се основава на намаляването на

ентропията след разделяне на съвкупността от обекти по стойностите на избран атрубут.

Въпрос:”Кой атрибут създава най-хомогенни разклонения?” Най-напред се изчислява ентропията на общата съвкупност от

обекти. Общата съвкупност се разделя по различни атрибути. Изчислява се ентропията по всяко разклонение. След това всяка от

изчислените ентропии се сумира пропорционално, за да се получи общата ентропия на разделянето.

Получената ентропия се изважда от ентропията преди разделянето.

Резултатът е информационната печалба или намаляването на ентропията.

Атрибутът, който създава най-голяма информациона печалба, се използва за възела на разделянето.

Възелът с ентропия 0 е лист и не се подлага на следващо разделяне.

Възел, за който ентропията е > 0 се подлага на разделяне, за да се класифицира съвкупността от обекти.

Page 41: 6 Data Mining Classification

Информационна печалба (2)Информационната печалба, изчислена при разделянето по

един атрибут А:

където: E(S) – ентропията на съвкупността преди

разделянето по атрибута А;m е броя на раличните стойности на атрибута А в

съвкупността S;pS(Ai) – e честотата (пропорцията) на обектите в S,

имащи стойност Ai за атрибута А;SAi е подмножество на S, в което обектите имат

стойност Ai за атрибута A.

)(.)()(),(1

iA

m

iiS SEApSEASG

Page 42: 6 Data Mining Classification

Информационна печалба – примерИзходна съвкупност от данни:

Attribute1 Attribute2 Attribute3 Class

A 70 True CLASS1

A 90 True CLASS2

A 85 False CLASS2

A 95 False CLASS2

A 70 False CLASS1

B 90 True CLASS1

B 78 False CLASS1

B 65 True CLASS1

B 75 False CLASS1

C 80 True CLASS2

C 70 True CLASS2

C 80 False CLASS1

C 80 False CLASS1

C 96 False CLASS1

Page 43: 6 Data Mining Classification

Информационна печалба – пример Ентропия на изходната съвкупност S (преди

разделянето):

Е(S)=-9/14.log2(9/14) – 5/14.log2(5/14) = 0.940 bits

Ентропия след разделянето по стойностите на Art1:

EAtr1(S) = 5/14(-2/5.log2(2/5) – 3/5.log2(3/5)) +4/14(-4/4.log2(4/4) – 0/4.log2(0/4)) + 5/4(-3/5.log2(3.5) – 2/5.log2(2/5)) = 0.694 bits

Информационна печалба:

G(S,Atr1) = 0.940 – 0.694 = 0.246 bits

Page 44: 6 Data Mining Classification

Информационна печалба – пример (2) Ентропия след разделянето по стойностите на

Art3:

EAtr2(S) = 6/14(-3/6.log2(3/6) – 3/6.log2(3/6)) +8/14(-6/8.log2(6/8) – 2/8.log2(2/8)) = 0.892 bits

Информационна печалба:

G(S,Atr1) = 0.940 – 0.892 = 0.048 bits

Въз основа на този резултат се избира Attribute1 за начална проверка за разделяне на S.

Page 45: 6 Data Mining Classification

Gini-индекс Индексът Gini се използва за оценяване на качеството

(хомогенността) на разделянето на S по алтернативи на атрибут.

Ако множеството от обекти (данни) съдържа екземпляри от C класа, индексът Gini се дефинира така:

където pi е честотата на поява на екземпляри от клас i в съвкупността C.

Ако съвкупността S е разделена на две съвкупности, то Gini-индекса за раделените обекти (данни) се изчислява така:

C

iipSgini

1

21)(

)(||

||)(

||

||)( 2

21

1 SginiS

SSgini

S

SSgini split

Page 46: 6 Data Mining Classification

Gini-индекс (2)

Фигурата показва максималните стойности на Gini-индекса за различен брой класове n, за които вероятността е еднаква: p=1/n.

Page 47: 6 Data Mining Classification

Приложение на критерия за разделяне Gini-индекс

Изисква се изчисляване само на разпределението на стойностите на класовете за всяка от подсъвкупностите на разделянето.

За да се намери най-доброто разделяне за даден възел, се обхожда списъкът от атрибути. Атрибутът, съдържащ точки на раделяне с най-ниска стойност на индекса Gini се използва за разделяне на съвкупността от обекти в този възел.

Page 48: 6 Data Mining Classification

Какъв е разумният размер на ДР?

В случаите когато ДР съдържа неоправдано голям брой възли и разклонения изходното множество от обекти се разбива на твърде много множества, съдържащи твърде малко елементи. В резултат на това способността ДР към обобщение намалява, намалява и способността на съставения модел да дава верни отговори.

В процеса на построяване на ДР се използват специални процедури, които ограничават тази опасност и позволяват да се създадат ДР с “подходящи” размери (Breiman,1984).

Page 49: 6 Data Mining Classification

Целесъобразен размер на ДР

Две възможни стратегии: Нарастване на ДР до определен размер,

в съответствие с параметри, зададени от изследователя (определени по емпиричен път).

Използване на набор от процедури, определящи “подходящия” размер на ДР (тези процедури са по-сложни от предишната стратегия):

Съкращаване на дървото чрез отсичане (pruning) на разклонения

Използване на правила за спиране на обучението

Page 50: 6 Data Mining Classification

Алгоритми за построяване на ДР

Понастоящем са известни много алгоритми за построяване на ДР: CART, C4.5, CHAID, CN2, NewId, ITrule и др. Алгоритмите за построяване на ДР се различават по следните техни особености:

Видът на разделянето – бинарен (двоичен) или множествен (multi-way)

Критерий за разделянето – ентропия, Gini или друг Възможност за обработка на липсващи стойности Процедура за съкращаване (“окастряне”) на

клоните Възможност за извличане на правила от ДР.

Page 51: 6 Data Mining Classification

Алгоритъм CART (C&RT) за построяване на ДРАлгоритъмът CART (Classification and Regression Tree), както се

вижда от наименованието, решава задачата за класификация и регресия. Разработен е през 1974-1984 г. от професорите по статистика - Leo Breiman (Berkeley), Jerry Friedman (Stanford), Charles Stone (Berkeley) и Richard Olshen (Stanford).

Атрибутите на множеството от дани (обекти) могат да имат както числови, така и нечислови стойности. Алгоритъмът е предназначен за построяване на двоично (бинарно) ДР. На всяка стъпка от построяването на ДР (за всеки негов възел) се използва правило, което дели съвкупността от обекти на две подсъвкупности – такава, в която правилото се изпълнява и такава, в която то не се изпълнява.

Други особености на алгоритъма CART: Функция за оценка на качеството на разклонението; Механизъм за орязване на ДР; Алгоритъм за обработка на липсващи стойности; Построяване на регресионни дървета.

Page 52: 6 Data Mining Classification

Предимства на CART Може да се остави ДР да се разрастне

твърде голямо, след което да бъде обратно “окастрено” до оптималния му размер. Този подход минимизира вероятността да бъде подценена същестевната структура на съвкупността от данните поради преждевремено спиране на процеса.

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

Page 53: 6 Data Mining Classification

Алгоритъм CHAID (Chi-Square Automatic Interaction Detector)Алгоритъмът CHAID се различава от CART по това, че

позволява множествено разделяне във възела. Поначало алгоритъмът работи само с категорийни променливи. CHAID се основава на χ2–тест за определяне на най-доброто разделяне на всяка стъпка.

Ключови елементи на CHAID-процеса са: Подготовка на предикторните променливи – непрекъснатите

променливи се дискретизират чрез разделяне на интервала, към които принадлежат стойностите им на подинтервали – категории. Това позволява на CHAID-алгоритъма да работи и с непрекъснати числови данни.

Обединение на категориите – категориите по отделните променливи се анализират с оглед обединяването им и намаляване на броя им.

Избор на най-доброто разделяне – търсят се точки на разделяне са най-малка изравнена p-стойност (adjusted p-value).

Page 54: 6 Data Mining Classification

Предимства на CHAID Бързодействие; CHAID изгражда “по-широко”

(“отворено”) ДР, понеже за разлика от CHAID не е ограничено от двоичен избор еъе еътрешните възли (предпочитан алгоритъм за маркетингови изследвания);

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

Page 55: 6 Data Mining Classification

Недостатъци на CHAID Тъй като се допуска множествено разделяне на

обхвата на променливите на по-малки подобхвати, алгоритъмът изисква по-големи обеми от данни за да се осигурят надеждни резултати.

Може да се получи нереалистично и безинтересно CHAID-дърво поради множественото разделяне, което в много случаи не съответства на реалните нужди на бизнеса.

Реалните стойности принудително се трансформират преди анализа в категорийни, което обезличава определената за тях наредба (CHAID може да съпостави групите “ниска стойност” и “висока стойност” срещу “средна стойност”).

Page 56: 6 Data Mining Classification

Случайни гори и усилени дървета

Алгоритъмът на “случайните гори” е алгоритъм н машинно обучение, предложен от Leo Brieman и Adele Cutler (2001). Този алгоритъм се основава на използването на ансамбъл от дървета на решенията. Резултантният клас се определя като мода от класовете, получени по отделните дървета. Алгоритъмът съчетава две основни идеи: един метод на Brieman, наречен bagging и методът на случайните подпространства на Tin Kam Ho. Алгоритъмът се прилага както в задачите за класификация, така и за целите на регресията и клъстеризацията.

Page 57: 6 Data Mining Classification

Алгоритъм на “случайните гори”Всички дървета в ансамбъла се построяват независимо едно от

друго по следната процедура: Генерира се случайна подизвадка с повторение с размер N от

обучаващата извадка (N е рамерът на обучаващата извадка – някои от обектите участват многократно в подизвадката, а други не участват).

Построява се ДР, класифициращо обектите от дадената извадка, като при създаването на поредния възел на ДР признакът, по който се извършва разделянето се избира не сред всички M признаци, а сред m случайно избрани (m<M). Изборът на най-добрия от тези m признака може да се извърши по различен начин (критерий на Gini, информационна печалба и др.).

Дървото се строи до пълно изчерпване на подизвадката и не се подлага на окастряне.

Класификацията на обектите се извършва чрез гласуване: всяко дърво от ансамбъла отнася класифицирания обект към един от класовете. Приема се класът, за който са гласували най-голям брой дървета.

Page 58: 6 Data Mining Classification

Предимства Високо качество на модела. Способност да се обработват ефективно данни с

голям брой признаци и класове. Нечувствителност към мащабирането на

признаците Еднакво добре се обработват както дискретни,

така и непрекъснати признаци. Съществуват разновидности на алгоритъма, които допускат обработката и на липсващи стойности.

Съществуват методи за оценка на значимостта на отделните признаци в модела.

Висока скалируемости паралелизуемост.Недостатък – голям размер на модела.

Page 59: 6 Data Mining Classification

Логистична регресияЧесто използван метод за двоична класификация е логистичната регресия.

Апроксимиращата функция се получава след като общото уравнение на линейната регресия:

се подложи на трансформацията:

Освен за двоична класификация, логистичната регресия се използва и за прдсказване на вероятността за настъпване на някакво събитие въз основа на множество признаци.

)1(

1)(

yeyf

nn XaXaXaaY ...22110

Page 60: 6 Data Mining Classification

Невронни мрежиИдеята на изкуствените невронни мрежи е взаимствана от

познанията ни за структурата и функционирането на централната нервна система – човешкият мозък. Невронните елементи са изградени от еднотипни елементи, значително опростени модели на клетките – изграждащи нервната система. Невроните са способни да получават външни сигнали, да ги обработват, обобщават, трансформират, да изработват съответен сигнал, който може да бъде предаден наа други съседни неврони или като обобщен резултат от работата на цялата невронна мрежа. Невроните могат да бъдат свързвани в различни конфигурации (архитектури или обработващи структури), с което да се променя характера на функционирането на модела и възможността му да решава една или друга задача.

Page 61: 6 Data Mining Classification

Невронни мрежи (2)

Архитектура на неврон:X1,…,Xl – са входни сигнали за неврона;W1,…,Wl – тегла на входните сигнали.

Обобощаващафункция

Активационнафункция

Page 62: 6 Data Mining Classification

Активационна функция

Активационната (предавателна) функция е ненамаляваща: най-често стъпаловидна, линейна, полулинейна или сигмоидална:

Page 63: 6 Data Mining Classification

Основни характеристики на невронните мрежи

Невронните мрежи се типизират според характеристиките:

топология на мрежата; параметрите на обработващите

елементи; типът на входните стойности; метод за обучение на мрежата и

използваното обучаващо правило.

Page 64: 6 Data Mining Classification

Архитектура на невронна мрежаWij – са тегла на връзките между невроните в мрежата;

Fj(…), F(…) – са активационни функции на вътрешния и на изходния слой;

Xi – са входните сигнали. За класификационните задачи изходният слой съдържа толкова изхода, колкото са класовете.

Page 65: 6 Data Mining Classification

Обучение на невронната мрежа Математически е доказано, че всяка невронна мрежа с

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

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

Обучението на една невронна мрежа се постига чрез промяна на теглата на връзките между невроните и се осъществява чрез правила, които определят как да се променят тези тегла. Най-разпространеното сред тях е метода на обратното разпространение на сигнал за грешка (back-propagation).

Page 66: 6 Data Mining Classification

Невронна мрежа с обратно разпространение на грешката

Page 67: 6 Data Mining Classification

Предимства на невронните мрежи Те са универсален общ класификатор. Те могат да

решават задачи с много променливи и са в състояние да класифицират добре обекти, дори когато разпределението на тези обекти в N-мерното пространство на параметрите е много сложно.

Могат да работят със силно изразена нелинейност на предикторните променливи.

Могат да бъдат използвани в числени предикторни задачи (напр.регресия).

Не изискват предварителна информация за вероятностното разпрееление на данните.

Те са много добри за моделиране на нелинейни връзки. Скритият слой на невронната мрежа притежава способността да моделира ефективно силно нелинейни функции.

Page 68: 6 Data Mining Classification

Недостатъци на невронните мрежи

Възможно е да се окажат сравнително бавни както във фазата на обучение, така и в приложението си.

Трудно е да се проследи как мрежата прави избора си. По тази причина невронните мрежи се разглеждат като модели на “черната кутия”.

Не се проверяват хипотези и не се определят p-стойности на изхода за сравняване на променливите.

Page 69: 6 Data Mining Classification

“Наивна” Бейсова класификация

Това е метод за класификация на категорийни данни, основаващ се на теоремата на Бейс със строги (“наивни”) предположения за независимост.

По своята производителност “наивният” Бейсов класификатор е сравним с дървото на решенията и с някои невронни класификатори.

Page 70: 6 Data Mining Classification

Бейсова теорема - основи Нека X е екземпляр от данни

Нека H е хипотеза, че X принадлежи към клас C

Класификационната задача изисква да се определи P(H|X), т.е. Вероятността да се реализира хипотеза H, при условие, че се наблюдава екземляра X

Пример: потребителят X ще купи ли компютър, като са известни неговата възраст и доход.

Page 71: 6 Data Mining Classification

Бейсова теорема - основи P(H) (априорна вероятност), начална вероятност

Напр., X ще купи компютър, независимо от възрастта, дохода и т.н.

P(X): вероятност да се наблюдава екземпляр X

P(X|H) (постериорна вероятност), вероятността да се наблюдава X, при условие, че е реализирана хипотезата H Напр. Като приемем, че X ще купи компютър, каква е

вероятността X да е между 31..40, да има среден доход и т.н.

Page 72: 6 Data Mining Classification

Теорема на Бейс

Като се имат предвид обучаващите данни X, постстериорната вероятност на хипотезата H, P(H|X), съгласно теоремата на Бейс е:

)()()|()|(

XXX

PHPHPHP

Page 73: 6 Data Mining Classification

Идея на Бейсовата класификация Нека D е обучаващо множество от

записи и асоциираните с тях етикети на класовете, и всеки запис се представя чрез n-мерния вектор на атрибутите X = (x1, x2, …, xn)

Допускаме, че имаме m класа C1, C2, …, Cm.

Класификацията изисква да се определи максималната постстериорна вероятност на класа P(Ci|X)

Page 74: 6 Data Mining Classification

Идея на Бейсовата класификация

Това може да бъде изведено от теоремата на Бейс:

Тъй като P(X) е константа за всички класове, то се максимизира:

)()()|(

)|(X

XX

PiCPiCP

iCP

)()|()|( iCPiCPiCP XX

Page 75: 6 Data Mining Classification

Идея на Бейсовата класификация

Опростяващо допускане: атрибутите са условно независими (т.е.няма релация на зависимост между атрибутите):

Това рязко съкращава изчислителните операции:

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

)|(...)|()|(1

)|()|(21

CixPCixPCixPn

kCixPCiP

nk

X

Page 76: 6 Data Mining Classification

Идея на Бейсовата класификация

Ако атрибутът Ak е категориен, P(xk|Ci) е броят на записите в Ci имащи стойност xk за Ak, разделен на |Ci, D| (броят на записите Ci в D).

Ако Ak взема непрекъснати стойности, P(xk|Ci) обикновено се изчислява на база на Гаусово разпределение с матем.очакване μ и стандартно отклонение σ:

и P(xk|Ci) е:

2

2

2

)(

2

1),,(

x

exg

),,()|(ii CCkxgCiP X

Page 77: 6 Data Mining Classification

НБ класификация – обучаващо множество данни - пример

age income studentcredit_ratingbuys_computer<=30 high no fair no<=30 high no excellent no31…40 high no fair yes>40 medium no fair yes>40 low yes fair yes>40 low yes excellent no31…40 low yes excellent yes<=30 medium no fair no<=30 low yes fair yes>40 medium yes fair yes<=30 medium yes excellent yes31…40 medium no excellent yes31…40 high yes fair yes>40 medium no excellent no

Клас:C1:buys_computer =

‘yes’C2:buys_computer = ‘no’

Екземляр от данни: X = (age <= 30, Income = medium, Student = yes Credit_rating = Fair)

Page 78: 6 Data Mining Classification

НБ класификация - пример P(Ci): P(buys_computer = “yes”) = 9/14 = 0.643 P(buys_computer = “no”) = 5/14 = 0.357

Изчислява се P(X|Ci) за всеки клас:

P(age = “<=30” | buys_computer = “yes”) = 2/9 = 0.222 P(age = “<= 30” | buys_computer = “no”) = 3/5 = 0.6 P(income = “medium” | buys_computer = “yes”) = 4/9 = 0.444 P(income = “medium” | buys_computer = “no”) = 2/5 = 0.4 P(student = “yes” | buys_computer = “yes) = 6/9 = 0.667 P(student = “yes” | buys_computer = “no”) = 1/5 = 0.2 P(credit_rating = “fair” | buys_computer = “yes”) = 6/9 = 0.667 P(credit_rating = “fair” | buys_computer = “no”) = 2/5 = 0.4

Page 79: 6 Data Mining Classification

НБ класификация - пример Тестов екземпляр:

X = (age <= 30 , income = medium, student = yes, credit_rating = fair)

P(X|Ci) :

P(X|buys_computer = “yes”) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044 P(X|buys_computer = “no”) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019

P(X|Ci)*P(Ci) : P(X|buys_computer = “yes”) * P(buys_computer = “yes”) = 0.028 P(X|buys_computer = “no”) * P(buys_computer = “no”) =

0.007

Следователно, X принадлежи към класа (“buys_computer = yes”)

Page 80: 6 Data Mining Classification

Сравнение на моделите за класификация и предвиждане

Характеристиките, по които могат да бъдат сравнявани моделите за класификация са:

Скорост – време, необходимо за създаването на модела и за неговото внедряване

Робастност – устойчивост към някакви отклонения в изходните предпоставки (“шум” в данните, пропуснати стойности и т.н.)

Интерпретируемост – възможност за разбиране на модела Размер на класификационното дърво Компактност на клсификационните правила

Надеждност