- 理论
- 数据集
- 对数据集执行随机森林
他们叫随机因为他们在训练时会随机选择预测变量。他们叫森林因为它们采用多个树的输出来做出决定。随机森林胜过决策树, 因为作为委员会运作的大量不相关树(模型)将始终胜过各个组成模型。
理论 随机森林从观测值, 随机初始变量(列)中获取随机样本, 并尝试建立模型。随机森林算法如下:
- 绘制一个大小随机的引导样本?(随机选择?训练数据样本)。
- 从引导程序样本中增长决策树。在树的每个节点上, 随机选择d特征。
- 使用根据目标函数提供最佳拆分的特征(变量)拆分节点。例如, 通过最大化信息增益。
- 重复步骤1到步骤2, ?次(k是要使用样本子集创建的树的数量)。
- 汇总每棵树对新数据点的预测, 以多数表决方式分配类别标签, 即选择最多树数选择的组, 然后为该组分配新数据点。
在训练数据中考虑一个包含三个水果的苹果, 橙子和樱桃组成的水果盒, 即n =3。我们预测该水果盒中的水果数量最多。使用训练数据的随机森林模型, 其中有许多树, k = 3。
文章图片
使用各种数据特征(即直径, 颜色, 形状和组)来判断模型。在橙, 爽快和橙中, 随机森林在果盒中选择橙的含量最高。
数据集 虹膜数据集包含来自3种鸢尾(鸢尾, 鸢尾, 杂色鸢尾)中的每种的50个样本, 以及英国统计学家和生物学家罗纳德·费舍尔(Ronald Fisher)在其1936年的论文中引入的多元数据集在分类学问题中使用多次测量。从每个样品中测量出四个特征, 即萼片和花瓣的长度和宽度, 并基于这四个特征的组合, Fisher开发了一个线性判别模型以区分物种。
# Loading data
data(iris)# Structure
str (iris)
文章图片
对数据集执行随机森林 在包含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:
文章图片
模型中的树数为500, 否。在每个分割处尝试的变量的平均值为2。setosa中的分类误差为0.000即0%, Versicolor为0.033即3.3%, virginica为0.066即6.6%。
混淆矩阵:
文章图片
因此, 有20个Setosa被正确地分类为Setosa。在23种杂色中, 有20种杂色被正确分类为杂色, 3种被分类为维吉尼亚。 17个维吉尼亚州被正确分类为维吉尼亚州。
模型图:
文章图片
错误率随着树木数量的增加而稳定。
重要功能:
文章图片
花瓣宽度是最重要的功能, 其次是Petal.Length, Sepal.Width和Sepal.Length。
重要功能图:
文章图片
该图清楚地显示Petal.Width是最重要的特征或变量, 其后是Petal.Length, Sepal.Width和Sepal.Length。
因此, 随机森林是业界用于分类的强大算法。
推荐阅读
- jQuery 多元素选择器用法介绍
- AngularJS orderBy过滤用法示例
- C++中的max_element用法详解
- Windows 10和Mac的12大最佳免费节拍制作软件推荐合集
- 15个免费在线钢琴键盘推荐合集(帮助你在线演奏!)
- 8款最佳免费MIDI转MP3在线转换器推荐合集(哪个最好())
- 20个最佳免费图标生成器在线网站推荐(你喜欢使用哪个())
- GNU make中文手册pdf下载,makefile文件编写经典教程
- Sketch标注和切片插件Marketch百度网盘免费下载