分析模型过拟合情况的方法及R语言实现
过拟合是指机器学习模型在训练集上表现良好,但在测试集或新数据上表现较差的现象。为了评估模型的过拟合情况,一种常用的方法是计算训练集和测试集的预测结果之间的差值。
以下是使用R语言进行分析的示例代码:
# 导入所需的库
library(caret)
# 读取数据集
data <- read.csv("data.csv")
# 划分训练集和测试集
set.seed(123) # 设置随机数种子,保证每次运行结果一致
trainIndex <- createDataPartition(data$target, p = 0.8, list = FALSE)
trainData <- data[trainIndex, ]
testData <- data[-trainIndex, ]
# 训练模型
model <- train(target ~ ., data = trainData, method = "rf")
# 在训练集上进行预测
trainPredict <- predict(model, newdata = trainData)
# 在测试集上进行预测
testPredict <- predict(model, newdata = testData)
# 计算预测结果的差值
trainDiff <- abs(trainPredict - trainData$target)
testDiff <- abs(testPredi