Чем больше я работаю над проектами машинного обучения, тем больше у меня возникает вопросов о деревьях решений. Но деревья — это черный ящик для новичков. Что делают деревья?

В этом посте я покажу, как визуализировать деревья и понять энтропию, стоящую за этим методом. Идея деревьев решений — это просто бинарные вопросы для каждого разделения данных.

В этой записной книжке Jupyter я предоставил несколько кодов для визуализации деревьев решений, если вы хотите попробовать это сделать самостоятельно.

Энтропия — это ключевой шаг в деревьях решений. Что такое энтропия тогда?

Энтропия — это понятие, используемое в физике, информатике и т. д. И если вы проверите определение энтропии в Википедии, вы наверняка запутаетесь.

Метафора для объяснения энтропии звучит так: «Энтропия — это мера беспорядка» от физиков.

Представьте себе эту грязную комнату, обычно вы можете использовать субъективную меру, чтобы оценить, насколько она грязная.

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

Существует математическая функция для оценки беспорядка среди математических объектов, и мы применим ее к нашим данным.

почему энтропия важна в деревьях решений?

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

Математическое определение энтропии

Представим, что у нас всего N предметов. n принадлежит метке 1, m принадлежит метке 2. Отношение p=n/N, q=m/N.

Энтропия этого набора определяется следующим уравнением:

E=-plog2(p)-qlog2(q)

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

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

Посмотрите на функцию энтропии,

х есть р, у есть энтропия.

Функция энтропии симметрична (извините за мой рисунок от руки).

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

Заключение

Энтропия — это не просто математическая формула, она имеет простую интерпретацию, понятную каждому. Я надеюсь, что вы нашли этот пост полезным!