R语言 使用randomForest包在R中计算随机森林的MSE

R语言 使用randomForest包在R中计算随机森林的MSE

随机森林是一种有监督的机器学习算法。它是一种集合算法,在后台使用自举聚合的方法来进行预测。

要了解更多关于R编程语言中的随机森林回归的信息,请参考下面的文章–《随机森林》。

R编程中回归的随机森林方法

我们知道,随机森林算法可用于预测连续值(回归)和离散值(分类)。在这篇文章中,我们将阅读关于如何计算使用R中的 “随机森林 “库建立的随机森林模型的平均平方误差。

平均平方误差是一个评价指标,用于计算实际值和预测值之间的平均平方差。MSE是一个非负值,标志着回归线与实际数据点集的接近程度。为了评估一个回归模型的性能,我们使用平均平方误差(MSE)。MSE的值越接近于0,预测效果就越好。平均平方误差的数学公式为:。

使用randomForest包在R中计算随机森林的MSE

为了创建一个模型,我们在这里使用的数据集取自Dockship的电厂能源预测AI挑战赛。

在这个挑战中,我们需要预测每小时的电厂能量输出。PE是我们数据集中的目标列。要了解更多关于数据集的信息,请通过上面分享的相关链接中的挑战仪表板。

使用randomForest包在R中计算随机森林的MSE

第1步 : 在第一步中,我们将导入我们将在程序中使用的必要库。

# Importing the required libraries 
library("readr")
library("randomForest")
R

在这里,我们导入了两个名为 “readr “和 “randomForest “的库,前者帮助我们从CSV文件中读取和加载数据到环境中,后者则用于创建随机森林模型。

第2步: 我们将使用 “readr “库中的read_csv()函数开始在我们的环境中加载数据集。

# specifying the path
path <- "/power_plant_energy_prediction/TRAIN.csv"
  
# reading contents of csv file
content <- read_csv(path)
  
print(content)
R

输出

使用randomForest包在R中计算随机森林的MSE

数据集中的前10行

第3步: 为了建立一个机器学习模型,我们需要在训练集上训练模型,然后在验证集上验证我们模型的性能。因此,我们将把数据集分成一个名为train_set的训练集和一个名为val_set的验证集。整个数据集包含8000行,我们将使用train_set中的前7000行进行学习,其余1000行用于验证。

# Splitting data for training 
# and validation purpose
train_set <- content[1:7000,]
val_set <- tail(content, -7000)
R

第4步: 我们现在将使用’randomForest’包中的randomForest()来创建一个随机森林模型。我们使用train_set来训练我们的模型,其中PE是我们的目标特征。该模型是用100棵树创建的,用于训练目的。

rf_model <- randomForest(PE~., data=train_set,
                         ntree=100,
                         importance=TRUE)
R

第5步: 现在,我们将使用我们训练好的随机森林模型来预测验证集的输出值,这可以通过predict()函数来完成,方法是传递训练好的模型对象,即rf_model,和验证集,即val_set。预测值被存储在EnergyPred变量中。

EnergyPred <- predict(rf_model, val_set)
R

第6步: 在这一步,我们将通过计算实际值和预测值之间的平均平方误差来评估我们模型的性能。它可以这样做。

print(mean((EnergyPred-val_set$PE)^2))
R

输出

12:26536
R

因此,我们可以说我们的模型在验证集上有很好的表现。我们甚至可以通过调整超参数来提高我们的随机森林模型的性能,这有助于减少过拟合,从而提高模型性能。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册