График переменной важности с использованием пакета случайного леса в R

Опубликовано: 21 Февраля, 2023

Как видно из названия, Variable Importance Plot — это пакет случайного леса для построения графика на основе их точности и коэффициента Джини. Если точность переменной высока, то она будет точно классифицировать данные, а коэффициент Джини измеряется с точки зрения однородности узлов в случайном лесу. А средняя точность уменьшения и средний коэффициент Джини уменьшения прямо пропорциональны друг другу.

График переменной важности с использованием пакета случайного леса в R

Шаг 1: Установите и загрузите необходимый пакет.

R




install.packages("randomForest")
library(randomForest)

Шаг 2: Загрузите набор данных радужной оболочки.

R




data(iris)
iris

Выход:

Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
1            5.1         3.5          1.4         0.2     setosa
2            4.9         3.0          1.4         0.2     setosa
3            4.7         3.2          1.3         0.2     setosa
4            4.6         3.1          1.5         0.2     setosa
5            5.0         3.6          1.4         0.2     setosa

Шаг 3: Далее мы собираемся классифицировать набор данных с помощью функции randomForest() на основе результатов, полученных из нескольких деревьев решений.

Syntax: randomForest(data,subset,ntree,keep.forest,importance,proximity)

Where,

  • data – data frame which need to classified
  • subset – column/ rows of that data frame should be used to classify
  • ntree – number of trees to be grown is specified here
  • keep.forest – set to TRUE if the forest need to retained in the output object
  • importance – set to TRUE if predictors to be assessed based on importance else FALSE
  • proximity  – set to TRUE if proximity measure of rows to be considered or not

R




rand_frst <- randomForest(iris, data=iris, ntree=100, keep.forest=FALSE,
                          importance=TRUE)

Шаг 4: Наконец, используя функцию varImpPlot(), мы построим график.

Syntax: varImpPlot(x,sort,main)

Where,

  • x – Object of randomForest class is specified here
  • sort – Sorting order of variables is specified here(by default TRUE)
  • main – title of the plot is specified here

R




randomForest::varImpPlot(rand_frst,
                         sort=FALSE,
                         main="Variable Importance Plot")

Выход: