R随机森林
使用randomForest包构建随机森林模型,进行特征重要性评估与调参 · 难度:入门 · +15XP
随机森林:集成学习的利器
随机森林由多棵决策树组成,每棵树在随机子集上训练,最终通过投票(分类)或平均(回归)得到结果,有效降低过拟合。
1. 加载包与数据
library(randomForest)
data(iris)
set.seed(42)2. 训练随机森林
rf_model <- randomForest(Species ~ ., data=iris, ntree=100, mtry=2)
print(rf_model)3. 特征重要性
importance(rf_model)
varImpPlot(rf_model, main='特征重要性')4. 预测与混淆矩阵
pred_rf <- predict(rf_model, iris)
table(pred_rf, iris$Species)5. 调参:寻找最优mtry
tune_result <- tuneRF(iris[,1:4], iris$Species, ntreeTry=100, stepFactor=1.5)
print(tune_result)随机森林关键参数:
| 参数 | 说明 |
|---|---|
| ntree | 树的数目,越大越稳定 |
| mtry | 每个节点随机选择的特征数 |
| importance | 是否计算特征重要性 |
练习提示:对mtcars数据集用随机森林回归mpg,查看特征重要性并绘图。