SlideShare a Scribd company logo
Data Mining Labs
Деревья Решений
2

Зачем нужны деревья решений ?
 Простые
 Наглядные
 «Белый ящик»
 Быстрые
 Работают с
любыми данными

 ≈Робастны

DM Labs
3

Зачем нужны деревья решений ?

Зачем?

× Простые
× Слабые
× Эвристическое
обучение (NP-complete)

× →разные деревья для
похожих данных

DM Labs
4

CART, история

CART

• CART “Classification and Regression Trees”
Breiman Friedman Olsen & Stone
• CART придумали для knn
http://www.youtube.com/watch?v=8hupHmBVvb0

• Альтернативные алгоритмы:
ID3
C4.5
ID5
CART

DM Labs
5

Из чего состоит дерево ?

DM Labs

Дерево

• Узлы (сплит) – условие

Пил яд?
bool

o Условия бинарные: >?, ==
o Условия только по одной переменной

ок

Цианид?
не полоний,
не мышьяк

• Ветки – True/False
• Листья – константы
o Регрессия: число

Больше 1мг?

ок

numeric

o Классификация: метка/число
не
ок

ок
6

Из чего состоит дерево ?

DM Labs

Дерево

• Узлы (сплит) – условие

Пил яд?
bool

o Условия бинарные: >?, ==
o Условия только по одной переменной

• Ветки – True/False

Цианид?
не полоний,
не мышьяк

• Листья – константы
o Регрессия: число
o Классификация: метка/число

Больше 1мг?

numeric
7

Как вырастить дерево ?

DM Labs

Как вырастить дерево?

Learning?
• Дерево недифференцируемо
• Допустим у нас 100 бинарных переменных...

Надо ли париться?
• Жадная схема
• Наверное не лучшое дерево, но и так сойдет
8

Как вырастить дерево ?

DM Labs

Как вырастить дерево?

1. Как делать сплиты?
2. Когда остановиться со сплитами?
~дошли до листьев
3. Что записывать в лист?
9

Откуда брать сплиты ?

Как делать сплиты?

DM Labs

• Нужно уметь сравнивать узлы – кого лучше
рассекать. Задать меру.
• Мера должна достигать максимума, если в узле
поровну всех классов (хуже будет).
• Должна быть нулем, если в узле все одного класса
(лучше не сделать).
10

Меры ( не ) хорошести сплитов

Как делать сплиты?

DM Labs

• Нужно уметь сравнивать узлы – кого лучше
рассекать. Задать меру (не)хорошести .
1. Misclassification Rate
2. Entropy

H ( p) = −∑ p j log p j
j

3. Gini Index
i ( p ) = ∑ pi p j = 1 − ∑ p 2
j
i≠ j

j

0log0 = 0
p=(p1,p2,…. pn)
11

Меры ( не ) хорошести сплитов

Как делать сплиты?

• Нужно уметь сравнивать узлы – кого лучше
рассекать. Задать меру (не)хорошести .
1. Misclassification Rate
2. Entropy
3. Gini Index

DM Labs
12

Проблемы с Misclassification Rate

Меры (не)хорошести

• Первая – самая логичная, НО:
o МБ ни один сплит ее не улучшает..

40% B

60% A

60% A

40% B

Split 1

Split 2

DM Labs
13

Проблемы с Misclassification Rate

Меры (не)хорошести

DM Labs

• Первая – самая логичная, НО:
o МБ она будет одинаковой для двух сплитов,
а один из них определенно лучше
400 A
400 B

ИЛИ?

400 A
400 B

300 A

100 A

200 A

200 A

100 B

300 B

400 B

0B
14

Хорошесть дерева

Хорошесть дерева

DM Labs

• Сумма хорошестей по узлам
помноженная на %точек в узле

400 A
400 B

ИЛИ?

400 A
400 B

300 A

100 A

200 A

200 A

100 B

300 B

400 B

0B
15

Хорошесть дерева

Хорошесть дерева

DM Labs

# точек

p классов

A

A

B

pA

pB

p2A

p2B

1- p2A- p2B

0.5

0.5

0.25

0.25

0.5

400

B

400

Gini Index
16

Хорошесть дерева
Хорошесть

# точек
A

дерева

p классов
B

Gini Index

A

pB

p2A

p2B

Вклад в
дерево

B

pA

DM Labs

1- p2A - p2B

300

100

0.75

0.25

0.5625

0.0625

0.375

0.1875

100

300

0.25

0.75

0.0625

0.5625

0.375

0.1875

Total

0.375

200

400

0.33

0.67

0.1111

0.4444

0.4444

0.3333

200

0

1

0

1

0

0

0

Total

0.3333
17

Построение сплитов

Построение сплитов

DM Labs

• Наделать кандидатов в листья:
o для всех сплитов,
o для каждой переменной,
o рекурсивно
• Выбрать сплит с наибольшим сниженим Gini Index.
• Внутрь – метку класса с majority vote или среднее
18

Построение сплитов

Построение сплитов

DM Labs

• Продолжаем процесс пока есть что сплитить
Тоесть, в листья осталось достаточно точек
• Лучше отрастить дерево, а потом сделать из него
аккуратный куст
o ...Если мы сразу не растили пень...
Игрушечный пример

DM Labs

Пример, игрушечный

• Надо выбрать по
какой переменной
делать сплит

• Записываем majority
vote/ среднее

6

A

4

A

2

A
A
A A A ABA
A
A
A
A
A A
A
A A
A A
AA
A
A
AA
A
A
A A
B
A A
A
A
A
A
A
A B A A
A
A B
B
A
BA B

B
B
B
B

B

A
A
A

B

A
B

BA

B
B B

B

B
BB
B B
BB B
B B

B
B
B
B B

B
0

• Берем оба
кандидата, ищем
оптимальный сплит,
сравниваем

Classifying A or B

y

19

B

B
B

B
B

B
B

B

B
B
B

B

B
B
B

0

2

4

6
x

8
Игрушечный пример

20

DM Labs

Пример, игрушечный

• Получаем что-то такое
(R пакет rpart)

Plot showing how Tree works

6

A

A

• Каждый сплит
локально-оптимален

4

A
A
A

2

y

x< 2.808
|

A A ABA
A
A
A
A
A A
A
A A
A A
A
A
A AA
A
A
A
A A
B
A A
A
A
A
A
A B A A A
A
A B
B
A
BA B

0
y>=2.343

y>=3.442

B
B

B

A
B

BA

B
B B

B

B
BB
B B
BB B
B B

B
B
B
B B

B
B
B

B

A
A
A

B

B
B

B
B

B
B

B

B
B
B

B

B
B
B

0

2

4

6
x

A

B

A

B

8
21

Игрушечный пример

Пример, игрушечный
:(

DM Labs
22

Пример классификации спама

Пример, spam

DM Labs
Упрощение дерева

Упрощение дерева

DM Labs

• Проверять наилучшую глубину лучше с помощью
кросс-валидации.

Misclassification Rates
1
0.9
0.8
0.7

Misclassification rate
on Training Set

0.6
Error rates

23

0.5
0.4

Misclassification rate
on Test Set

0.3
0.2
0.1
0
0

10

20

30

40
Size of the Tree

50

60

70

80

Source: CART by Breiman et al.
Упрощение дерева

24

Упрощение дерева

DM Labs

• Проверять наилучшую глубину с помощью кроссвалидации.
• Вводится параметр complexity.
Варьируя его будет оставаться меньше листьев.
size of tree

Inf

0.32

3

5

6

9

10

14

17

21

24

26

0.4

0.6

0.8

1.0

2

0.2

X-val Relative Error

1

0.0057

0.003
cp

0.0021

0.0017

0.0011

Source: CART by Breiman et al.
25

Summary

Summary

DM Labs

• Дерево это хороший и наглядный инструмент
анализа
• Скорее всего оно будет не самым-оптимальным
• Оно простое, но предсказательной силы может не
хватить
• Оно простое, поэтому его быстро строить и быстро
использовать
• Обычно строится в глубину, а потом срезается
подстать какому-то критерию
26

Случайный лес

Случайный лес

DM Labs
27

Случайный лес

Случайный лес

DM Labs

kaggle

cart

cart
cart
cart cart cart
cart
cart
cart
cart
cart
cart
cart cart cart cartcart cart
cart cart cart cart cartcart cart
cart cart cart cart cartcart cart cart cartcart cart
cart
cart
cart
cart
cart
cart
cart cart
cart
cart cart
cart
cart
cart cart cart cartcart
cart cart cartcart cart cart cart cart cart cart
cartcart
cart
cart
cart
cart cart cart cart cart cart
cart
cart
cart
cart cart cart cart
cart

cart

cart
28

Зачем нужен RF?

Случайный лес

DM Labs

Random Forest = Bagging с деревьями (Breiman et al.)
• Очень простой алгоритм
• Просто паралеллить
• Отличная точность (kaggle-рецепт)
• Быстрый (по сравнению с neural committee)
Реализует принцип «мудрость толпы».
29

Идея RF

Идея

DM Labs

• Строим много моделей.
По-хорошему, разных, на разных dataset’ах.
С высоким variance и приемлимым bias.
• Усредняем – получаем низкое и то и другое.
• Если ошибки моделей некоррелированы, ошибка
должна уменьшится в М раз (по отношению к
составляющим ансамбль моделям).
• На практике оно коррелировано, но эффект есть
30

Алгоритм RF

Случайный лес

Алгоритм:
For i in 1..M:
1. Делаем бутстрап-выборку данных.
2. Строим на ней дерево.
3. Кладем полученное дерево в ансамбль.
Использование:
1. Делаем прогноз всех M деревьев
2. Усредняем / делаем Majority Vote

DM Labs
31

Дерево в лесу

Случайный лес

DM Labs

Деревья используют по-разному:
• Любой попавшийся алгоритм
• ID5 например строит более «широкую» сетку, не
глубоко. Cubist – RF c ID5
• Строят «до упора» - R randomForest
• Строят до заданного уровня (не парятся над
глубиной)
32

История методов ML

Случайный лес

DM Labs

State-of-the-art, широкий класс задач:
• 1980-90-ые: Нейросети
• 2000-ые, начало: SVM
• 2000-ые, конец: Random Forest
• 2010-ые: Random Forest /GBM
• Сейчас: Deep Learning?
Его скоро разберут на части и вставят в RF 
33

Summary
• ...

Summary
Случайный лес

DM Labs

More Related Content

Viewers also liked

НВК "Якимівська гімназія"
НВК "Якимівська гімназія"НВК "Якимівська гімназія"
НВК "Якимівська гімназія"
NVK Yakym Gymnasia
 
How to sell more business analytics consulting services
How to sell more business analytics consulting servicesHow to sell more business analytics consulting services
How to sell more business analytics consulting services
Guillermo Hernández de Blas
 
Tema 4 bases de datos(1)
Tema 4  bases de datos(1)Tema 4  bases de datos(1)
Tema 4 bases de datos(1)
mariandrea99
 
Patrick Asiedu - Employment CV3
Patrick Asiedu - Employment CV3Patrick Asiedu - Employment CV3
Patrick Asiedu - Employment CV3
Patrick Asiedu
 
Cox et al 2016
Cox et al 2016Cox et al 2016
Cox et al 2016
Emily Cox
 
Avani jain best_buy
Avani jain best_buyAvani jain best_buy
Avani jain best_buy
Avani Jain
 
Editing colour
Editing colourEditing colour
Editing colour
Sarah Dade
 
Allocation procedures display guidelines for KIBS-KW
Allocation procedures display guidelines for KIBS-KWAllocation procedures display guidelines for KIBS-KW
Allocation procedures display guidelines for KIBS-KW
John G. Hermanson
 
Agua y p h [presentación]
Agua y p h [presentación]Agua y p h [presentación]
Agua y p h [presentación]
Armando del Río
 
Distribution ppt 2
Distribution ppt 2Distribution ppt 2
Distribution ppt 2
Cuety242
 
Молодое Имя Кубани Тлишев Харун Аминович
Молодое Имя Кубани Тлишев Харун АминовичМолодое Имя Кубани Тлишев Харун Аминович
Молодое Имя Кубани Тлишев Харун Аминович
POPOVA DIANA
 
Благотворительное Имя Кубани
Благотворительное Имя КубаниБлаготворительное Имя Кубани
Благотворительное Имя Кубани
POPOVA DIANA
 
Teen thriller
Teen thrillerTeen thriller
Teen thriller
Cuety242
 
Easy Dataweave transformations - Ashutosh
Easy Dataweave transformations - AshutoshEasy Dataweave transformations - Ashutosh
Easy Dataweave transformations - Ashutosh
StrawhatLuffy11
 
Resume Nancy Pearson 2016rev
Resume     Nancy Pearson 2016revResume     Nancy Pearson 2016rev
Resume Nancy Pearson 2016rev
Nancy Pearson
 
Academic Sample Paper-Morgan Tucker
Academic Sample Paper-Morgan TuckerAcademic Sample Paper-Morgan Tucker
Academic Sample Paper-Morgan Tucker
Morgan Tucker
 

Viewers also liked (16)

НВК "Якимівська гімназія"
НВК "Якимівська гімназія"НВК "Якимівська гімназія"
НВК "Якимівська гімназія"
 
How to sell more business analytics consulting services
How to sell more business analytics consulting servicesHow to sell more business analytics consulting services
How to sell more business analytics consulting services
 
Tema 4 bases de datos(1)
Tema 4  bases de datos(1)Tema 4  bases de datos(1)
Tema 4 bases de datos(1)
 
Patrick Asiedu - Employment CV3
Patrick Asiedu - Employment CV3Patrick Asiedu - Employment CV3
Patrick Asiedu - Employment CV3
 
Cox et al 2016
Cox et al 2016Cox et al 2016
Cox et al 2016
 
Avani jain best_buy
Avani jain best_buyAvani jain best_buy
Avani jain best_buy
 
Editing colour
Editing colourEditing colour
Editing colour
 
Allocation procedures display guidelines for KIBS-KW
Allocation procedures display guidelines for KIBS-KWAllocation procedures display guidelines for KIBS-KW
Allocation procedures display guidelines for KIBS-KW
 
Agua y p h [presentación]
Agua y p h [presentación]Agua y p h [presentación]
Agua y p h [presentación]
 
Distribution ppt 2
Distribution ppt 2Distribution ppt 2
Distribution ppt 2
 
Молодое Имя Кубани Тлишев Харун Аминович
Молодое Имя Кубани Тлишев Харун АминовичМолодое Имя Кубани Тлишев Харун Аминович
Молодое Имя Кубани Тлишев Харун Аминович
 
Благотворительное Имя Кубани
Благотворительное Имя КубаниБлаготворительное Имя Кубани
Благотворительное Имя Кубани
 
Teen thriller
Teen thrillerTeen thriller
Teen thriller
 
Easy Dataweave transformations - Ashutosh
Easy Dataweave transformations - AshutoshEasy Dataweave transformations - Ashutosh
Easy Dataweave transformations - Ashutosh
 
Resume Nancy Pearson 2016rev
Resume     Nancy Pearson 2016revResume     Nancy Pearson 2016rev
Resume Nancy Pearson 2016rev
 
Academic Sample Paper-Morgan Tucker
Academic Sample Paper-Morgan TuckerAcademic Sample Paper-Morgan Tucker
Academic Sample Paper-Morgan Tucker
 

Similar to Деревья решений

Интерпретация моделей машинного обучения
Интерпретация моделей машинного обученияИнтерпретация моделей машинного обучения
Интерпретация моделей машинного обучения
Дмитрий Колодезев
 
20120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture0620120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture06Computer Science Club
 
Перечитывая Лео Бреймана
Перечитывая Лео БрейманаПеречитывая Лео Бреймана
Перечитывая Лео Бреймана
Serge Terekhov
 
Правильная работа с динамической памятью в высоконагруженных проектах (Максим...
Правильная работа с динамической памятью в высоконагруженных проектах (Максим...Правильная работа с динамической памятью в высоконагруженных проектах (Максим...
Правильная работа с динамической памятью в высоконагруженных проектах (Максим...Ontico
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...
Ontico
 
Доклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУДоклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУ
Fedor Tsarev
 
Criteo 1TiB Benchmark
Criteo 1TiB BenchmarkCriteo 1TiB Benchmark
Criteo 1TiB Benchmark
RamblerML
 
AI and navigation in games: problems, solutions, mobile platform optimization
AI and navigation in games: problems, solutions, mobile platform optimizationAI and navigation in games: problems, solutions, mobile platform optimization
AI and navigation in games: problems, solutions, mobile platform optimization
DevGAMM Conference
 

Similar to Деревья решений (8)

Интерпретация моделей машинного обучения
Интерпретация моделей машинного обученияИнтерпретация моделей машинного обучения
Интерпретация моделей машинного обучения
 
20120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture0620120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture06
 
Перечитывая Лео Бреймана
Перечитывая Лео БрейманаПеречитывая Лео Бреймана
Перечитывая Лео Бреймана
 
Правильная работа с динамической памятью в высоконагруженных проектах (Максим...
Правильная работа с динамической памятью в высоконагруженных проектах (Максим...Правильная работа с динамической памятью в высоконагруженных проектах (Максим...
Правильная работа с динамической памятью в высоконагруженных проектах (Максим...
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...
 
Доклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУДоклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУ
 
Criteo 1TiB Benchmark
Criteo 1TiB BenchmarkCriteo 1TiB Benchmark
Criteo 1TiB Benchmark
 
AI and navigation in games: problems, solutions, mobile platform optimization
AI and navigation in games: problems, solutions, mobile platform optimizationAI and navigation in games: problems, solutions, mobile platform optimization
AI and navigation in games: problems, solutions, mobile platform optimization
 

Деревья решений

  • 2. 2 Зачем нужны деревья решений ?  Простые  Наглядные  «Белый ящик»  Быстрые  Работают с любыми данными  ≈Робастны DM Labs
  • 3. 3 Зачем нужны деревья решений ? Зачем? × Простые × Слабые × Эвристическое обучение (NP-complete) × →разные деревья для похожих данных DM Labs
  • 4. 4 CART, история CART • CART “Classification and Regression Trees” Breiman Friedman Olsen & Stone • CART придумали для knn http://www.youtube.com/watch?v=8hupHmBVvb0 • Альтернативные алгоритмы: ID3 C4.5 ID5 CART DM Labs
  • 5. 5 Из чего состоит дерево ? DM Labs Дерево • Узлы (сплит) – условие Пил яд? bool o Условия бинарные: >?, == o Условия только по одной переменной ок Цианид? не полоний, не мышьяк • Ветки – True/False • Листья – константы o Регрессия: число Больше 1мг? ок numeric o Классификация: метка/число не ок ок
  • 6. 6 Из чего состоит дерево ? DM Labs Дерево • Узлы (сплит) – условие Пил яд? bool o Условия бинарные: >?, == o Условия только по одной переменной • Ветки – True/False Цианид? не полоний, не мышьяк • Листья – константы o Регрессия: число o Классификация: метка/число Больше 1мг? numeric
  • 7. 7 Как вырастить дерево ? DM Labs Как вырастить дерево? Learning? • Дерево недифференцируемо • Допустим у нас 100 бинарных переменных... Надо ли париться? • Жадная схема • Наверное не лучшое дерево, но и так сойдет
  • 8. 8 Как вырастить дерево ? DM Labs Как вырастить дерево? 1. Как делать сплиты? 2. Когда остановиться со сплитами? ~дошли до листьев 3. Что записывать в лист?
  • 9. 9 Откуда брать сплиты ? Как делать сплиты? DM Labs • Нужно уметь сравнивать узлы – кого лучше рассекать. Задать меру. • Мера должна достигать максимума, если в узле поровну всех классов (хуже будет). • Должна быть нулем, если в узле все одного класса (лучше не сделать).
  • 10. 10 Меры ( не ) хорошести сплитов Как делать сплиты? DM Labs • Нужно уметь сравнивать узлы – кого лучше рассекать. Задать меру (не)хорошести . 1. Misclassification Rate 2. Entropy H ( p) = −∑ p j log p j j 3. Gini Index i ( p ) = ∑ pi p j = 1 − ∑ p 2 j i≠ j j 0log0 = 0 p=(p1,p2,…. pn)
  • 11. 11 Меры ( не ) хорошести сплитов Как делать сплиты? • Нужно уметь сравнивать узлы – кого лучше рассекать. Задать меру (не)хорошести . 1. Misclassification Rate 2. Entropy 3. Gini Index DM Labs
  • 12. 12 Проблемы с Misclassification Rate Меры (не)хорошести • Первая – самая логичная, НО: o МБ ни один сплит ее не улучшает.. 40% B 60% A 60% A 40% B Split 1 Split 2 DM Labs
  • 13. 13 Проблемы с Misclassification Rate Меры (не)хорошести DM Labs • Первая – самая логичная, НО: o МБ она будет одинаковой для двух сплитов, а один из них определенно лучше 400 A 400 B ИЛИ? 400 A 400 B 300 A 100 A 200 A 200 A 100 B 300 B 400 B 0B
  • 14. 14 Хорошесть дерева Хорошесть дерева DM Labs • Сумма хорошестей по узлам помноженная на %точек в узле 400 A 400 B ИЛИ? 400 A 400 B 300 A 100 A 200 A 200 A 100 B 300 B 400 B 0B
  • 15. 15 Хорошесть дерева Хорошесть дерева DM Labs # точек p классов A A B pA pB p2A p2B 1- p2A- p2B 0.5 0.5 0.25 0.25 0.5 400 B 400 Gini Index
  • 16. 16 Хорошесть дерева Хорошесть # точек A дерева p классов B Gini Index A pB p2A p2B Вклад в дерево B pA DM Labs 1- p2A - p2B 300 100 0.75 0.25 0.5625 0.0625 0.375 0.1875 100 300 0.25 0.75 0.0625 0.5625 0.375 0.1875 Total 0.375 200 400 0.33 0.67 0.1111 0.4444 0.4444 0.3333 200 0 1 0 1 0 0 0 Total 0.3333
  • 17. 17 Построение сплитов Построение сплитов DM Labs • Наделать кандидатов в листья: o для всех сплитов, o для каждой переменной, o рекурсивно • Выбрать сплит с наибольшим сниженим Gini Index. • Внутрь – метку класса с majority vote или среднее
  • 18. 18 Построение сплитов Построение сплитов DM Labs • Продолжаем процесс пока есть что сплитить Тоесть, в листья осталось достаточно точек • Лучше отрастить дерево, а потом сделать из него аккуратный куст o ...Если мы сразу не растили пень...
  • 19. Игрушечный пример DM Labs Пример, игрушечный • Надо выбрать по какой переменной делать сплит • Записываем majority vote/ среднее 6 A 4 A 2 A A A A A ABA A A A A A A A A A A A AA A A AA A A A A B A A A A A A A A B A A A A B B A BA B B B B B B A A A B A B BA B B B B B BB B B BB B B B B B B B B B 0 • Берем оба кандидата, ищем оптимальный сплит, сравниваем Classifying A or B y 19 B B B B B B B B B B B B B B B 0 2 4 6 x 8
  • 20. Игрушечный пример 20 DM Labs Пример, игрушечный • Получаем что-то такое (R пакет rpart) Plot showing how Tree works 6 A A • Каждый сплит локально-оптимален 4 A A A 2 y x< 2.808 | A A ABA A A A A A A A A A A A A A A AA A A A A A B A A A A A A A B A A A A A B B A BA B 0 y>=2.343 y>=3.442 B B B A B BA B B B B B BB B B BB B B B B B B B B B B B B A A A B B B B B B B B B B B B B B B 0 2 4 6 x A B A B 8
  • 23. Упрощение дерева Упрощение дерева DM Labs • Проверять наилучшую глубину лучше с помощью кросс-валидации. Misclassification Rates 1 0.9 0.8 0.7 Misclassification rate on Training Set 0.6 Error rates 23 0.5 0.4 Misclassification rate on Test Set 0.3 0.2 0.1 0 0 10 20 30 40 Size of the Tree 50 60 70 80 Source: CART by Breiman et al.
  • 24. Упрощение дерева 24 Упрощение дерева DM Labs • Проверять наилучшую глубину с помощью кроссвалидации. • Вводится параметр complexity. Варьируя его будет оставаться меньше листьев. size of tree Inf 0.32 3 5 6 9 10 14 17 21 24 26 0.4 0.6 0.8 1.0 2 0.2 X-val Relative Error 1 0.0057 0.003 cp 0.0021 0.0017 0.0011 Source: CART by Breiman et al.
  • 25. 25 Summary Summary DM Labs • Дерево это хороший и наглядный инструмент анализа • Скорее всего оно будет не самым-оптимальным • Оно простое, но предсказательной силы может не хватить • Оно простое, поэтому его быстро строить и быстро использовать • Обычно строится в глубину, а потом срезается подстать какому-то критерию
  • 27. 27 Случайный лес Случайный лес DM Labs kaggle cart cart cart cart cart cart cart cart cart cart cart cart cart cart cart cartcart cart cart cart cart cart cartcart cart cart cart cart cart cartcart cart cart cartcart cart cart cart cart cart cart cart cart cart cart cart cart cart cart cart cart cart cartcart cart cart cartcart cart cart cart cart cart cart cartcart cart cart cart cart cart cart cart cart cart cart cart cart cart cart cart cart cart cart cart
  • 28. 28 Зачем нужен RF? Случайный лес DM Labs Random Forest = Bagging с деревьями (Breiman et al.) • Очень простой алгоритм • Просто паралеллить • Отличная точность (kaggle-рецепт) • Быстрый (по сравнению с neural committee) Реализует принцип «мудрость толпы».
  • 29. 29 Идея RF Идея DM Labs • Строим много моделей. По-хорошему, разных, на разных dataset’ах. С высоким variance и приемлимым bias. • Усредняем – получаем низкое и то и другое. • Если ошибки моделей некоррелированы, ошибка должна уменьшится в М раз (по отношению к составляющим ансамбль моделям). • На практике оно коррелировано, но эффект есть
  • 30. 30 Алгоритм RF Случайный лес Алгоритм: For i in 1..M: 1. Делаем бутстрап-выборку данных. 2. Строим на ней дерево. 3. Кладем полученное дерево в ансамбль. Использование: 1. Делаем прогноз всех M деревьев 2. Усредняем / делаем Majority Vote DM Labs
  • 31. 31 Дерево в лесу Случайный лес DM Labs Деревья используют по-разному: • Любой попавшийся алгоритм • ID5 например строит более «широкую» сетку, не глубоко. Cubist – RF c ID5 • Строят «до упора» - R randomForest • Строят до заданного уровня (не парятся над глубиной)
  • 32. 32 История методов ML Случайный лес DM Labs State-of-the-art, широкий класс задач: • 1980-90-ые: Нейросети • 2000-ые, начало: SVM • 2000-ые, конец: Random Forest • 2010-ые: Random Forest /GBM • Сейчас: Deep Learning? Его скоро разберут на части и вставят в RF 