Как алгоритм C4.5 обрабатывает пропущенные значения и значения атрибутов на непрерывном интервале? Кроме того, как обрезается дерево решений? Может кто-нибудь объяснить с помощью примера.
отсутствующие значения алгоритма c4.5
comment
stats.stackexchange.com/questions/96025/
- person James LT   schedule 18.10.2018
Ответы (1)
Скажем, мы построили дерево решений из канонического примера, стоит ли играть в гольф в зависимости от погодных условий. У нас может быть такой обучающий набор данных:
OUTLOOK | TEMPERATURE | HUMIDITY | WINDY | PLAY
=====================================================
sunny | 85 | 85 | false | Don't Play
sunny | 80 | 90 | true | Don't Play
overcast| 83 | 78 | false | Play
rain | 70 | 96 | false | Play
rain | 68 | 80 | false | Play
rain | 65 | 70 | true | Don't Play
overcast| 64 | 65 | true | Play
sunny | 72 | 95 | false | Don't Play
sunny | 69 | 70 | false | Play
rain | 75 | 80 | false | Play
sunny | 75 | 70 | true | Play
overcast| 72 | 90 | true | Play
overcast| 81 | 75 | false | Play
rain | 71 | 80 | true | Don't Play
И используйте его для построения дерева решений, которое может выглядеть примерно так:
Outlook
/ | \
overcast / |sunny \rain
/ | \
Play Humidity Windy
/ | | \
/ | | \
<=75 / >75| true| \false
/ | | \
Play Don'tPlay Don'tPlay Play
- Алгоритм C4.5 работает с отсутствующими значениями, возвращая распределение вероятностей меток в ветви атрибута, для которой отсутствует значение. Предположим, что у нас есть экземпляр в наших тестовых данных, который показывает прогноз как
Sunny
, но не имеет значения для атрибутаHumidity
. Кроме того, предположим, что в наших обучающих данных есть 2 экземпляра, для которых прогноз былSunny
,Humidity
был ниже 75 и меткойPlay
. Кроме того, предположим, что в обучающих данных было 3 экземпляра, где прогноз былSunny
,Humidity
был выше 75 и имел меткуDon't Play
. Таким образом, для тестового экземпляра с отсутствующим атрибутомHumidity
алгоритм C4.5 вернет распределение вероятностей[0.4, 0.6]
, соответствующее[Play, Don't Play]
. - Предполагая, что вы уже понимаете, как деревья решений используют прирост информации по набору признаков, чтобы выбрать, какие признаки следует разветвлять на каждом уровне, алгоритм C4.5 выполняет ту же процедуру для атрибута непрерывного интервала, оценивая прирост информации для каждого разделения атрибут и выбор лучшего. Пример этого можно увидеть в атрибуте
Humidity
выше. Алгоритм C4.5 проверил прирост информации, обеспечиваемый атрибутом влажности, путем разделения его на 65, 70, 75, 78...90 и обнаружил, что выполнение разделения на 75 обеспечивает наибольший прирост информации. - C4.5 выполняет сокращение, заменяя поддерево в дереве решений одним узлом решения, который либо охватывает все решения поддерева, либо дает наименьшую ошибку.
Для получения дополнительной информации я бы посоветовал этот отличный ресурс, который я использовал для написания собственного дерева решений и алгоритма случайного леса: https://cis.temple.edu/~giorgio/cis587/readings/id3-c45.html.
person
Chirag
schedule
27.02.2017
У вас есть другие вопросы?
- person Chirag; 02.03.2017
Вопрос из этого, разбив его на 65, 70, 75, 78...90. А 95 и 96?
- person Calvin; 24.10.2018
Я хотел сказать, что все значения были оценены, и было выбрано 75 значений.
- person Chirag; 24.10.2018
Я изучаю C4.5 и запутался в этом, в журнале Quinlan об улучшенном использовании непрерывных атрибутов в C4.5 на странице 79 говорится, что если есть N различных значений A в наборе случаев D, будет быть порогами N-1, которые можно было бы использовать для теста на A, это то же самое, что выбрать порог, как ваш ответ? вот так [65] 70, где 65 — это порог, если он есть. тогда порог N? тогда он отличается от журнала, который был N-1
- person Calvin; 25.10.2018
О, это N-1, потому что последний не будет оцениваться как порог, потому что это будет ‹= порог для D1 и ›порог для D2, D1 будет иметь все случаи, а D2 будет пустым.
- person Calvin; 26.10.2018
Извините, только что увидел это, но вы поняли :)
- person Chirag; 29.10.2018