如何用R语言画ROC曲线图

Python0103

如何用R语言画ROC曲线图,第1张

R语言如何做ROC曲线

ROC曲线,做分类时经常会用到的一种结果表现方法。诸如此类的工作,首选工具当然是R。在CRAN上搜了一下,找到一个叫ROCR的包。尽管这个包已经很久没更新了,但用起来还是很爽的。先看一下我画的ROC曲线。

里面是三份预测结果的ROC曲线。

ROCR包中主要是两个class:prediction和performance。前者是将预测结果和真实标签组合在一起,生成一个 prediction对象,然后在用performance函数,按照给定的评价方法,生成一个performance对象,最后直接对 performance用plot函数就能绘制出相应的ROC曲线。

1

2

3

4

5

6

plot a ROC curve for a single prediction run

and color the curve according to cutoff.

data(ROCR.simple)

pred lt- prediction(ROCR.simple$predictions, ROCR.simple$labels)

perf lt- performance(pred,tpr,fpr)

plot(perf,color

文件包含三列数据:来源地、目的地、及call数量

我们都知道可视化网络,需要准备两个数据文件:

接下来基于此数据集准备点和边列表文件

至此,简单的边和点列表已经准备好了,我们接下来通过几个R包来可视化下

这是R中绘制网络图的一个基本R包,这里主要用到 graph_from_data_fram() 函数。更多关于此包绘图的细节可参考这个帖子 Network Analysis and Visualization with R and igraph (kateto.net) ,介绍的十分详细。

这两个R包目前相对比较流行,可以对network数据进行操作和可视化

ggraph包还有更多好玩的样式,详情参考: https://www.data-imaginist.com/2017/ggraph-introduction-layouts/ , 根据个人的数据去选择最合适的展现形式即可。

这两款R包都是基于浏览器的JavaScript可视化库,用于交互式的展示图形,这里我们还用到刚才的示例数据来展示。

常用来快速创建交互式桑基图、和其它种类的网络图等,核心的函数即 forceNetwork()

制作桑基图

该包绘制更加方便,

我们也可以为网络中的边添加方向,用到 layout_with_fr 方式