Pull to refresh

Comments 8

Все здорово, но где файл /home/kalinin84/data/real.csv?

Хотя бы в щелку посмотреть.

Постов про RandomForest много. Лучше бы, конечно, пост про LightGBM, там красиво деревья строят. И по точности сопоставимо, хоть и чуть хуже, с xgboost, но на большинстве данных всяко лучше, чем RandomForest.

Рассказывать о деревьях и ни разу не нарисовать дерево? Это как так? Сравните с тем, как деревья описываются тут в статье "Энтропия и деревья принятия решений". Или как Xgboost описывается в официальной документации.
Код у вас то на R, то на Python.
Вывода нет. Зачем нам видеть "print(mean_squared_error(yt, modelXGB.predict(Xt)))", если ничего не печатается, а воспроизвести результаты мы не можем (лучше к статье прикладывать код на GitHub).
"… для решения сложных задач нужно построить много глубоких деревьев". Тут бы рассказать про bias-variance decomposition, почему лес вообще лучше одного дерева.


В-общем, как-то тут ни теории, ни практики… что-то услышал, рассказал.

Ну и да… куда полезней была бы статья про Vowpal Wabbit, Xgboost (так ничего внятного на хабре и не появилось), LightGBM, факторизационные машины, Generative adversarial networks, Neural Turing Machine, обучение с подкреплением и т.д.

Желательно писать о задачах, в которых описываемый классификатор даёт результаты лучше, чем другие.

Например, попробуем предсказать результаты армрестлингового матча имея вес каждого из соперников, обхват бицепса, количество отжиманий и т.д.

Может дерево решений такую задачу решить? нет. Потому, что не в состоянии сравнивать значения факторов между собой. Деревья решений могут сравнивать факторы только с константами. Доработав набор факторов, включив туда разности между оригинальными факторами, можно и деревья приспособить под такую задачу, но опять таки — разности брать абсолютные (x — y) или относительные ( (x — y)/(x+y)). Что лучше? Вот такие советы и стоит давать.
Вы безусловно правы, но вот только
Может дерево решений такую задачу решить? нет.

Все же это не совсем так.
Если у нас есть достаточно большая и хорошая (хорошо покрывающая случаи которые будут возникать на практике) обучающая выборка, то в принципе можно достигнуть не идеальных, но приемлемых результатов.

Доработав набор факторов, включив туда разности между оригинальными факторами, можно и деревья приспособить под такую задачу, но опять таки — разности брать абсолютные (x — y) или относительные ( (x — y)/(x+y)). Что лучше?

Кстати говоря, какие-нить из алгоритмов ML умеют вытаскивать подобные зависимости по дефолту?

В 95% случаев на данных смешанного типа, с размером train set в диапазоне 10^4-10^7 ансамбли деревьев обойдут все остальные алгоритмы и часто с сильным отрывом. И ваша задача про армреслеров при наличии достаточного числа данных в эту категорию и попадает.


Какие признаки использовать? Добавляйте все сколько фантазии / опыта хватит и выкидывайте все те, что не работают или "шумят".

Sign up to leave a comment.

Articles