R编程中的随机森林法详细指南

  • 理论
  • 数据集
  • 对数据集执行随机森林
目录【R编程中的随机森林法详细指南】随机森林R编程是决策树的集合。它构建并组合了多个决策树以获得更准确的预测。这是一种非线性分类算法。每个决策树模型在单独使用时都会使用。进行案例的错误估计, 该错误估计在构建树时不使用。这被称为以百分比表示的袋外误差估计。
他们叫随机因为他们在训练时会随机选择预测变量。他们叫森林因为它们采用多个树的输出来做出决定。随机森林胜过决策树, 因为作为委员会运作的大量不相关树(模型)将始终胜过各个组成模型。
理论 随机森林从观测值, 随机初始变量(列)中获取随机样本, 并尝试建立模型。随机森林算法如下:
  • 绘制一个大小随机的引导样本?(随机选择?训练数据样本)。
  • 从引导程序样本中增长决策树。在树的每个节点上, 随机选择d特征。
  • 使用根据目标函数提供最佳拆分的特征(变量)拆分节点。例如, 通过最大化信息增益。
  • 重复步骤1到步骤2, ?次(k是要使用样本子集创建的树的数量)。
  • 汇总每棵树对新数据点的预测, 以多数表决方式分配类别标签, 即选择最多树数选择的组, 然后为该组分配新数据点。
例子:
在训练数据中考虑一个包含三个水果的苹果, 橙子和樱桃组成的水果盒, 即n =3。我们预测该水果盒中的水果数量最多。使用训练数据的随机森林模型, 其中有许多树, k = 3。
R编程中的随机森林法详细指南

文章图片
使用各种数据特征(即直径, 颜色, 形状和组)来判断模型。在橙, 爽快和橙中, 随机森林在果盒中选择橙的含量最高。
数据集 虹膜数据集包含来自3种鸢尾(鸢尾, 鸢尾, 杂色鸢尾)中的每种的50个样本, 以及英国统计学家和生物学家罗纳德·费舍尔(Ronald Fisher)在其1936年的论文中引入的多元数据集在分类学问题中使用多次测量。从每个样品中测量出四个特征, 即萼片和花瓣的长度和宽度, 并基于这四个特征的组合, Fisher开发了一个线性判别模型以区分物种。
# Loading data data(iris)# Structure str (iris)

R编程中的随机森林法详细指南

文章图片
对数据集执行随机森林 在包含11个人和6个变量或属性的数据集上使用随机森林算法。
# Installing package install.packages( "caTools" )# For sampling the dataset install.packages( "randomForest" )# For implementing random forest algorithm# Loading package library(caTools) library(randomForest)# Splitting data in train and test data split < - sample.split(iris, SplitRatio = 0.7 ) splittrain < - subset(iris, split = = "TRUE" ) test < - subset(iris, split = = "FALSE" )# Fitting Random Forest to the train dataset set .seed( 120 )# Setting seed classifier_RF = randomForest(x = train[ - 5 ], y = train$Species, ntree = 500 )classifier_RF# Predicting the Test set results y_pred = predict(classifier_RF, newdata = https://www.lsbin.com/test[ - 5 ])# Confusion Matrix confusion_mtx = table(test[, 5 ], y_pred) confusion_mtx# Plotting model plot(classifier_RF)# Importance plot importance(classifier_RF)# Variable importance plot varImpPlot(classifier_RF)

输出如下:
模型classifier_RF:
R编程中的随机森林法详细指南

文章图片
模型中的树数为500, 否。在每个分割处尝试的变量的平均值为2。setosa中的分类误差为0.000即0%, Versicolor为0.033即3.3%, virginica为0.066即6.6%。
混淆矩阵:
R编程中的随机森林法详细指南

文章图片
因此, 有20个Setosa被正确地分类为Setosa。在23种杂色中, 有20种杂色被正确分类为杂色, 3种被分类为维吉尼亚。 17个维吉尼亚州被正确分类为维吉尼亚州。
模型图:
R编程中的随机森林法详细指南

文章图片
错误率随着树木数量的增加而稳定。
重要功能:
R编程中的随机森林法详细指南

文章图片
花瓣宽度是最重要的功能, 其次是Petal.Length, Sepal.Width和Sepal.Length。
重要功能图:
R编程中的随机森林法详细指南

文章图片
该图清楚地显示Petal.Width是最重要的特征或变量, 其后是Petal.Length, Sepal.Width和Sepal.Length。
因此, 随机森林是业界用于分类的强大算法。

    推荐阅读