⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

R交叉验证:使用caret评估模型性能

学习使用caret包进行K折交叉验证,避免过拟合,选择最优模型参数。 · 难度:入门 · +15XP

交叉验证的意义

交叉验证将数据分成K个子集,轮流用K-1份训练、1份验证,评估模型泛化能力。常用K=5或10。

1. 加载caret并设置训练控制

library(caret)
ctrl <- trainControl(method = 'cv', number = 5)

2. 训练模型(以决策树为例)

data(iris)
set.seed(123)
model <- train(Species ~ ., data = iris, method = 'rpart', trControl = ctrl)
print(model)

3. 查看交叉验证结果

model$results
model$resample

4. 使用重复交叉验证

ctrl2 <- trainControl(method = 'repeatedcv', number = 5, repeats = 3)
model2 <- train(Species ~ ., data = iris, method = 'rf', trControl = ctrl2)
print(model2)
参数说明
method='cv'K折交叉验证
number折数K
repeats重复次数
method='repeatedcv'重复K折交叉验证

练习提示:使用5折交叉验证评估KNN模型(method='knn')在iris数据集上的准确率,并尝试调整K值。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 71 篇
0 完成
🔥 0