Дерево решений в R - Комплексное руководство по дереву решений в R

Содержание:

Anonim

Обзор дерева решений в R

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

Дерево решений в R

Для работы с деревом решений в R или в терминах непрофессионала необходимо работать с большими наборами данных, а прямое использование встроенных R-пакетов облегчает работу. Дерево решений - это нелинейная модель предположения, которая использует древовидную структуру для классификации отношений. Дерево решений в R использует два типа переменных: категориальные переменные (да или нет) и непрерывные переменные. Терминологии дерева решений, состоящие из корневого узла (образует метку класса), узлов решений (подузлов), терминального узла (не разделяются далее). Уникальная концепция этого подхода машинного обучения состоит в том, что они классифицируют данные в классы, которые формируют поток «да» или «нет» (подход «если-еще») и представляют результаты в древовидной структуре. Алгоритм, используемый в дереве решений в R, - это индекс Джини, получение информации, энтропия. Существуют различные пакеты для построения дерева решений в R: rpart (рекурсивный), party, random Forest, CART (классификация и регрессия). Довольно легко реализовать дерево решений в R.

Для ясного анализа дерево разделено на группы: обучающий набор и тестовый набор. В следующей реализации используется набор данных автомобиля. Этот набор данных содержит 1727 obs и 9 переменных, из которых построено дерево классификации. В этой статье мы рассмотрим пакет 'party'. Функция create () дает условные деревья с функцией plot.

Реализация с использованием R

Цель состоит в том, чтобы изучить набор данных автомобиля, чтобы предсказать, является ли значение автомобиля высоким / низким и средним.

я) Подготовка данных

Установка пакетов и загрузка библиотек

Этот модуль считывает набор данных как полный фрейм данных, а структура данных выглядит следующим образом:

data<-car // Reading the data as a data frame
str(data) // Displaying the structure and the result shows the predictor values.

Выход:

Determining Factordata$vhigh View(car)
> data<-car

II) Разделение данных

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

set. Seed (1234)
dt<-sample (2, nrow(data), replace = TRUE, prob=c (0.8, 0.2))
validate<-data(dt==2, )

Рис : Отображение значений данных

Далее, делая значение данных до 2

validate<-data(dt==2, )

Рис . Отображение консоли R в R Studio

Создание дерева решений в R с участником пакета

  • Нажмите пакет-> установить -> участник. Здесь мы взяли первые три входа из выборки из 1727 наблюдений на наборах данных. Создание модели для прогнозирования высокого, низкого, среднего среди входных данных.

Реализация:

library(party)
tree<-ctree(v~vhigh+vhigh.1+X2, data = train)
tree

Выход:

Графики с использованием Ctree

Прогноз:

Проб генерирует вероятность на выигрыш,

Реализация:

predict(tree, validate, type="prob")
predict(tree, validate)

(1) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(12) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(23) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(34) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(45) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(56) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(67) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(78) vhigh vhigh vhigh высокий высокий высокий высокий высокий высокий высокий высокий высокий

(89) высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий

(100) высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий

(111) высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий

(122) высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий

(133) высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий

(144) высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий

(155) высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий

(166) высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий высокий

(177) высокий высокий высокий высокий мед мед мед мед мед мед

(188) Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед

(199) Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед

(210) Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед

(221) Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед

(232) Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед

(243) Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед

(254) Мед Мед Мед Мед Мед Мед Мед Мед Мед Мед Низкий

(265) низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий

(276) низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий

(287) низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий

(298) низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий

(309) низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий

(320) низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий низкий

(331) низкий низкий низкий низкий низкий низкий

Уровни: высокий, низкий, средний, высокий

Дерево решений с использованием rpart

Для прогнозирования класса используется функция rpart () для метода класса. rpart () использует показатель индекса Джини для разделения узлов.

library(rpart)
tr<-rpart (v~vhigh+vhigh.1+X2, train)
library (rpart. plot)
rpart. plot(tr)

«

rpart.plot(tr, extra=2)

Эта линия строит дерево и отображает вероятность создания дополнительных функций для набора 2, и полученный результат приведен ниже.

Ошибка ошибочной классификации

Уровень ошибок предотвращает переоснащение.

tbl<-table(predict(tree), train $v)
print(tbl)
tepre<-predict(tree, new=validate)

Выход:

печать (TBL)

высокая низкая средняя

высокий 332 0 0 0

низкий 0 359 0 0

мед 0 0 350 0

vhigh 0 0 0 351

Вывод

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

Рекомендуемые статьи

Это руководство к Дереву решений в R. Здесь мы обсуждаем введение, как использовать и реализовывать R. Вы также можете просмотреть другие наши предлагаемые статьи, чтобы узнать больше -

  1. Что такое двоичное дерево в Java?
  2. Язык программирования R
  3. Что такое код Visual Studio?
  4. Введение в линейный график в R
  5. Руководство по биномиальному распределению в R