В данной статье сделан обзор деревьев принятия решений (Decision trees) и трех основных алгоритмов, использующих эти деревья для построение классификационных и регрессионных моделей. В свою очередь будет показано, как деревья принятия решения, изначально ориентированные на классификацию, используются для регрессии.
Деревья принятия решений
Дерево принятия решений — это дерево, в листьях которого стоят значения целевой функции, а в остальных узлах — условия перехода (к примеру “ПОЛ есть МУЖСКОЙ”), определяющие по какому из ребер идти. Если для данного наблюдения условие истина то осуществляется переход по левому ребру, если же ложь — по правому.
Некоторое время назад передо мной встала задача кеширования запросов в большую базу данных на диске в высоконагруженном многопоточном приложении (С++). Само приложение предназначалось для развертывания в облаке и диск очевидно стал бы самым узким местом. База при этом представляла из себя огромный граф, по которому одновременно ползало множество потоков. Таким образом кеш ко всему еще и должен был быть многопоточным.
Идею использования внешних приложений, таких как memcached, я отбросил сразу же – это внесло бы в каждый переход по ребру графа неизбежный дополнительный лаг. Встал вопрос об имплементации внутри приложения.
Группа исследователей из университета Колорадо опубликовала научную работу, посвящённую механизму сохранения костей у чёрных медведей (барибалов) во время их зимней спячки. Практическая сторона работы, помимо чисто биологических и химических вопросов, затрагивает и проблему хрупкости костей скелета космонавтов во время их пребывания в невесомости, а также во время возможных дальних космических полётов. Известно, что в условиях микрогравитации неизбежно происходит вымывание кальция из костей, откуда он попадает в кровь, вызывая гиперкальциемию. Работа опубликована в Journal of Experimental Biology и называется "Suppressed bone remodeling in black bears conserves energy and bone mass during hibernation".