Заметки к учебнику по языку R — дерево решений

алгоритм

Это второй день моего участия в августовском испытании обновлений, подробности о мероприятии:Испытание августовского обновления"

Я много занимался репетиторством с тех пор, как познакомился с языком R. Я чувствую, что могу бесплатно поделиться накопленным опытом со всеми, поэтому я сделал записи репетиторства в статью, спасибо за вашу поддержку. (ps Т.к. контент оригинальный, все виды коммерческого использования запрещены, а для перепечатки необходимо указывать источник)

1.  Теоретическое расчесывание вопрос и ответ

В: Какие проблемы может решить дерево решений?

Ответ: Он может выполнять задачи классификации или задачи регрессии (прогнозирования).

В: Как использовать модель дерева решений для задач классификации

Ответ: Пока корневой узел и внутренние узлы (дискретные значения) определены, задачу классификации можно выполнить следующим образом:

Q: Как определить корневой узел и внутренние узлы

отвечать:

можешь выбрать"как дела», когда Узел на каждом уровне Дерева находит точку разделения, он использует лучшее разделение. Этот алгоритм не может гарантировать получение глобально оптимального дерева решений, но может значительно снизить вычислительную сложность при получении приемлемого решения.

Как здесь определяется лучший сплит?

Прирост информации (снижение энтропии)

Чем меньше ожидаемая информация, тем больше прирост информации и, следовательно, выше чистота.

Алгоритм ID3 использует прирост информации для измерения выбора атрибута и выбирает атрибут с наибольшим приростом информации после разделения для разделения.

Коэффициент усиления информации / Коэффициент усиления информации

Прирост информации не может полностью отражать эффективность разделения.Преобразуя и используя формулу коэффициента прироста информации, стратегия разделения дерева решений может эффективно избежать использования функций с особенно большим значением класса uuid и числового класса и попасть в недоразумение. «Максимизация получения информации» в середине

Алгоритм C4.5 использует коэффициент усиления информации

примесь Джини

Чем меньше индекс Джини, тем выше чистота набора данных D. По сравнению с первыми двумя расчет индекса Джини не требует логарифмической операции и более эффективен; индекс Джини более склонен к непрерывным признакам, а энтропия - к дискретным признакам.

Алгоритм CART использует Джини

Q: Может ли дерево быть мультиразветвленным?

Ответ: CART бинарный, ID3, C4.5 может быть мультифорковым, но характеристики бинарного дерева заставляют его иметь собственную функцию подавления "переобучения".

В: Как дерево решений завершает задачу регрессии (требует большего понимания)

В: Поскольку сгенерированное дерево решений склонно к переоснащению, как его решить??

отвечать:

Существует два метода предварительной обрезки и последующей обрезки.Вот пример.

Если полное дерево решений установлено как:

Предварительная обрезка: начиная с корневого узла, некоторые ветви и листья не выполняют операции ветвления. Сравните, улучшится ли точность проверочного набора после разделения. Если она не улучшена, ветвление выполняться не будет. Это основано на на природе «жадность».Приносит риск недообучения.

Постобрезка: сначала создайте полное дерево решений из обучающего набора, а затем решите, нужна ли ветвь с конца.

Риск недообучения деревьев решений после обрезки невелик, а способность к обобщению часто лучше, чем у деревьев решений до обрезки. Однако процесс пост-обрезки выполняется после создания полного дерева решений, и все неконечные узлы в дереве проверяются один за другим снизу вверх, поэтому затраты времени на его обучение выше, чем у необработанного решения. дерево и предварительно обрезанное дерево решений Деревья намного больше.

2. Полный код можно приватно написать в редактор

#主体模型
bodyfat_rpart <- rpart(myFormulaa, data = bodyfat_train,  control = rpart.control(minsplit = 10))
#剪枝操作
opt <- which.min(bodyfat_rpart$cptable[,"xerror"])
cp <- bodyfat_rpart$cptable[opt, "CP"]
bodyfat_prune <- prune(bodyfat_rpart, cp = cp)

Напишите в конце:

Статья была впервые опубликована в публичном аккаунте WeChat:Календарь обучения алгоритмам

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