昨天说了
随机森林和集成算法
,用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语言的随机森林操作就到这里了,感兴趣的记得关注公众号哦
领取专属 10元无门槛券
私享最新 技术干货