Практические кейсы
Практические кейсы в этом разделе посвящены именно деревьям решений и их ключевой идее – последовательному разбиению пространства признаков. Их задача не в том, чтобы научить писать собственную библиотеку машинного обучения, и не в том, чтобы продемонстрировать все возможности готовых инструментов. Эти кейсы нужны для другого: показать, как абстрактные понятия энтропии, information gain и объяснимости превращаются в конкретные шаги кода и реальные решения.
Дерево решений удобно рассматривать через практику, потому что его логика почти полностью совпадает с тем, как рассуждает человек. Каждый кейс в этом разделе – это цепочка вопросов к данным, где каждый следующий вопрос уменьшает неопределённость и делает итоговое решение более очевидным.
Первый кейс реализован на чистом PHP. Он намеренно упрощён и не претендует на эффективность или полноту. Его роль – вскрыть внутреннюю механику дерева: как считается энтропия, как оценивается качество разбиения, почему выбирается именно этот признак и этот порог. Такой код удобно читать сверху вниз, останавливаясь и мысленно "проигрывая" работу алгоритма.
Во втором кейсе используется RubixML. Здесь фокус смещается с внутренней кухни на применение. Мы используем готовую реализацию дерева решений, но уже понимаем, что происходит внутри. Это принципиальный момент: библиотека перестаёт быть чёрным ящиком и начинает восприниматься как инструмент, реализующий знакомые идеи.
Важно, что оба кейса решают одну и ту же по сути задачу. Это позволяет увидеть непрерывность между учебной реализацией и практической разработкой. Меняется уровень абстракции, но не меняется логика алгоритма.
Читая эти кейсы, полезно обращать внимание не столько на синтаксис PHP, сколько на структуру решений: где происходит ключевое разбиение, какие признаки оказываются наиболее информативными, и как глубина дерева влияет на результат. Если после прочтения вы можете словами описать путь от входных данных к решению, значит дерево решений стало для вас понятным инструментом, а не просто названием алгоритма.
Last updated