Разбор
Решающее дерево в машинном обучении: как оно выбирает ответ
Разбираем дерево решений на условной задаче обработки заказов: ветви, листья, глубина и переобучение. Чем обученная модель отличается от правил компании.
Решающее дерево получает ответ через последовательность условий над входными признаками. Для классификации в конце получается категория или распределение по категориям, для регрессии - числовой прогноз.
Такую модель удобно представить как маршрут по вопросам. Но вопросы и пороги обученное дерево выбирает по примерам. Они описывают найденные связи, а не утверждённые правила работы компании и не причины происходящих событий.
Как пройти от корня к листу
В учебной задаче нужно оценить, успеет ли склад собрать заказ к контрольному времени. Первый узел мог бы разделять заказы по числу товарных позиций, следующий - по наличию определённого типа товара. Это вымышленная иллюстрация устройства, а не результат обучения на данных магазина.
Заказ проходит по одной ветви в каждом узле. Конечный узел называют листом. В нём объединяются обучающие примеры, которые прошли похожий маршрут, и по ним формируется ответ модели.
Если условия заданы человеком заранее, перед нами может быть обычная система правил. Обученное дерево отличается способом появления этих условий: они подбираются алгоритмом по выбранному критерию и данным.
Почему глубокое дерево может обмануть
Большая глубина позволяет разделять данные на всё более мелкие группы. В пределе дерево способно подстроиться под особенности отдельных обучающих примеров. Хороший результат на знакомой таблице тогда ещё не означает хорошего прогноза для новых заказов.
Глубину и другие ограничения сложности подбирают с проверкой на данных, не использованных для обучения конкретной модели. В scikit-learn предусмотрены параметры вроде max_depth и min_samples_leaf, ограничивающие структуру дерева.
Слишком сильное ограничение также может мешать: модель не уловит полезные различия. Цель проверки - найти подходящий уровень сложности для задачи, а не сделать дерево минимальным любой ценой.
Что показывает понятная схема
Визуализация небольшого дерева позволяет увидеть, какие поля и условия повлияли на маршрут. Это полезно для поиска подозрительных признаков. Например, вопрос об итоговом статусе заказа в прогнозе до начала сборки указывает на возможную утечку будущего ответа.
Однако наглядность не гарантирует устойчивости. Небольшое изменение обучающих данных способно изменить структуру дерева. Поэтому найденный порог не стоит сразу превращать в постоянное бизнес-правило.
Сопоставьте ветви с известным процессом, затем проверьте модель на новых периодах и отдельных сегментах. Неожиданная связь может оказаться полезной, случайной или следствием ошибки выгрузки.
Учебный эксперимент без сложной инфраструктуры
Сначала определите объект, признаки и правильный ответ. Отложите часть данных для проверки. Обучите несколько деревьев с разными ограничениями сложности и сравните их с простым baseline на одинаковых случаях.
Для каждого варианта сохраните общий показатель ошибки и примеры промахов. Отдельно посмотрите листья, в которых слишком мало обучающих наблюдений. Уверенно выглядящее решение по такой группе может быть хрупким.
После выбора модели финальную оценку проводят на данных, которые не использовались при подборе настроек. Если несколько заказов относятся к одному клиенту или одной связанной операции, это нужно учитывать при разделении данных.
Когда посмотреть на ансамбль
Если отдельное дерево нестабильно, имеет смысл сравнить его с ансамблем. Например, случайный лес объединяет несколько деревьев. Это новый кандидат для эксперимента, а не автоматическое исправление плохой разметки и утечки данных.
Есть вопрос по теме?
Разберу вашу ситуацию и предложу конкретный шаг
Источники
Читайте также
Канал «Лёха Маркетолог»
Практика без воды: кейсы, инсайты, разборы. 1–2 поста в неделю.
Пока без комментариев. Будьте первым.