R语言机器学习系列-随机森林多分类代码解读

多分类问题指的是因变量或者被预测变量是分类变量,且其取值水平有多个水平的情形,比如预测病人糖尿病分期的情形。整个代码大致可以分为包、数据、模型、预测评估4个部分,接下来逐一解读。

1、包部分,也就是加载各类包,包括随机森林包randomForest,数据相关包tidyverse、skimr、DataExplorer,模型评估包caret、pROC。

2、数据部分,主要是读取数据,处理缺失值,转换变量类型。此处要确保因变量被处理为factor,这样才能在训练模型时才会被自动识别成分类模型。

3、模型部分。

为了对模型的泛化能力有更准确的评估,先将数据集拆为训练集和测试集,后续将在训练集上训练模型,然后以测试集上的结果评估模型泛化能力。

模型训练部分及模型结果部分的代码如下:

# 因变量自变量构建公式
colnames(winequalityred)
form_clsm <- as.formula(
  paste0(
    "quality ~ ", 
    paste(colnames(traindata)[1:11], collapse = " + ")
  )
)
form_clsm

# 构建模型
set.seed(42) # 保证结果的可重复性
fit_rf_clsm <- randomForest(
  form_clsm,
  data = traindata,
  ntree = 500, # 决策树棵数
  mtry = 6, # 每个节点可供选择的变量数目
  importance = T # 输出变量重要性
)

# 模型概况
fit_rf_clsm

# ntree参数与error之间的关系图示
plot(fit_rf_clsm, main = "ERROR & TREES")
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mrrunsen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值