SMALLDATASCIENCE Telegram 815
#термин
Есть некоторые простые понятия ML, которые мало кто знает, поскольку их нет в стандартных курсах. Например, в теме решающие деревья (Decision Trees) редко рассказывают про суррогатные расщепления (Surrogate Splits), а это очень эффективный приём обработки пропусков... Суть очень простая, пусть при построении дерева в некоторой ветке мы дошли до такой подвыборки

A B C Y=target
0 ? 0 0
1 5 1 0
2 ? 0 0
3 8 1 1
? 7 1 1
? 7 1 1

Здесь напрашивается сделать расщепление A > 2.5, но не понятно, в какое поддерево класть последние два объекта. Есть стандартные стратегии:
- положить в обе ветви дерева (не очень выгодно при большом числе пропусков и долгая работа алгоритма),
- выбрать наиболее подходящую ветвь дерева, в данном случае ту, куда попал объект с меткой 1 (но тут мы «уравниваем» объекты с пропуском),
- для неизвестных значений применить другое "запасное" расщепление, которое и называется суррогатным.

Нетрудно заметить, что расщепление B > 6 на объектах с известными значениями признаков совпадает с исходным, при этом определено для тех объектов, у которых были неизвестны значения признака A.

Теперь, если Вы пользователь R, понимаете, что выводит код
tm <- rpart(Y ~ weight + height, data = tmp_df, control = rpart.control(minsplit =1, minbucket=1, cp=0, maxdepth = 1))
summary(tm)

Primary splits:
weight < 5.5 to the left, improve=4.444444, (1 missing)
height < 4.5 to the left, improve=3.333333, (0 missing)
Surrogate splits:
height < 3.5 to the left, agree=0.889, adj=0.75, (1 split)
👍48🔥3👏2



tgoop.com/smalldatascience/815
Create:
Last Update:

#термин
Есть некоторые простые понятия ML, которые мало кто знает, поскольку их нет в стандартных курсах. Например, в теме решающие деревья (Decision Trees) редко рассказывают про суррогатные расщепления (Surrogate Splits), а это очень эффективный приём обработки пропусков... Суть очень простая, пусть при построении дерева в некоторой ветке мы дошли до такой подвыборки

A B C Y=target
0 ? 0 0
1 5 1 0
2 ? 0 0
3 8 1 1
? 7 1 1
? 7 1 1

Здесь напрашивается сделать расщепление A > 2.5, но не понятно, в какое поддерево класть последние два объекта. Есть стандартные стратегии:
- положить в обе ветви дерева (не очень выгодно при большом числе пропусков и долгая работа алгоритма),
- выбрать наиболее подходящую ветвь дерева, в данном случае ту, куда попал объект с меткой 1 (но тут мы «уравниваем» объекты с пропуском),
- для неизвестных значений применить другое "запасное" расщепление, которое и называется суррогатным.

Нетрудно заметить, что расщепление B > 6 на объектах с известными значениями признаков совпадает с исходным, при этом определено для тех объектов, у которых были неизвестны значения признака A.

Теперь, если Вы пользователь R, понимаете, что выводит код
tm <- rpart(Y ~ weight + height, data = tmp_df, control = rpart.control(minsplit =1, minbucket=1, cp=0, maxdepth = 1))
summary(tm)

Primary splits:
weight < 5.5 to the left, improve=4.444444, (1 missing)
height < 4.5 to the left, improve=3.333333, (0 missing)
Surrogate splits:
height < 3.5 to the left, agree=0.889, adj=0.75, (1 split)

BY Small Data Science for Russian Adventurers


Share with your friend now:
tgoop.com/smalldatascience/815

View MORE
Open in Telegram


Telegram News

Date: |

As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail. In the “Bear Market Screaming Therapy Group” on Telegram, members are only allowed to post voice notes of themselves screaming. Anything else will result in an instant ban from the group, which currently has about 75 members. Some Telegram Channels content management tips “[The defendant] could not shift his criminal liability,” Hui said. The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday.
from us


Telegram Small Data Science for Russian Adventurers
FROM American