随机森林-R语言实现

昨天说了

随机森林和集成算法

,用python进行了操作,今天用R补充一下。

至于算法和逻辑就不多说了,直接上代码:

首先要调用随机森林的包:

library("randomForest")

导入数据

d

直接用randomForest包里的函数进行训练,

rf

(这里注意一下,Error in randomForest.default(m, y, ...) :

如果调用函数遇到以上报错,需要将变量转换为int, factor ,num类型,randomForest对char类型无法自动转为factor

> d$sys_status

直接查看结果

> print(rf)

直接print可以查看混淆矩阵和错误率等相关参数。

> print(importance(rf,type = 2))

可以查看每个变量的重要程度

> varImpPlot(rf)

画图展示各个变量重要程度

接下来再看下roc和auc:

首先要加载包ROCR

> library("ROCR")

> p

> pred

> performance(pred,'auc')

里面的y.valuse就是AUC值

或者可以直接

> performance(pred,'auc')@y.values

[[1]]

[1] 0.9054111

只保留y.values

> perf

> plot(perf)

ROCR包画出的图形不是很美观,我们可以用另外一个包pROC

首先安装并调用

> install.packages("pROC")

> library("pROC")

> roc

> plot(roc, print.auc=TRUE, auc.polygon=TRUE, grid=c(0.1,0.2),grid.col=c("green","red"),

这样看起来比之前要好看一点了。

好了关于R语言的随机森林操作就到这里了,感兴趣的记得关注公众号哦

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180624G0W6ZZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券