Обработка пропущенных значений
Часто некоторые признаки в данных могут отсутствовать. Например, в медицинской диагностике пациент мог не проходить определённых обследований, при анализе анкет респондент мог не указать возраст, а при обработке данных домов может отсутствовать дата постройки.
Пропущенные значения можно заполнить одним из ранее изученных стандартных методов. Однако специфика работы решающих деревьев позволяет обрабатывать пропуски по-особенному.
Если пропущенный признак присутствуют только в тестовых данных (но не в обучающих), то при проверке правила
объект можно направить в дочерний узел, содержащий больше объектов обучающей выборки, т.е. в априорно более вероятный.
Однако возможны разные стратегии, когда в обучающей выборке также присутствуют пропуски.
В следующих двух способах предлагается настраивать дерево, используя только известные значения признаков.
Суррогатные разбиения
В классическом алгоритме CART [1] предлагалась процедура суррогатных разбиений (surrogate splits). Поскольку при выборе правила [признакпорог] перебираются все варианты признаков, то можно запомнить, какой другой признак обеспечивал наилучшее качество, а какой оказывался наилучшим на втором месте. Такой признак назовём суррогатным. При появлении пропуска в классическом дереве CART исходное правило заменяется на правило с суррогатным признаком (и соответствующим ему порогом). Если и суррогатный признак отсутствует, то применяется следующий суррогатный признак (уже третий по качеству) и т.д., пока мы не дойдёт до признака с известным значением.