Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C.50和成本时预测错误,使用类型时预测错误=";问题;在R中绘制ROC曲线_R_Decision Tree_Roc - Fatal编程技术网

使用C.50和成本时预测错误,使用类型时预测错误=";问题;在R中绘制ROC曲线

使用C.50和成本时预测错误,使用类型时预测错误=";问题;在R中绘制ROC曲线,r,decision-tree,roc,R,Decision Tree,Roc,我正在为我已经实现的一系列分类器绘制ROC曲线。问题是,当我有一个带有成本矩阵的C.50分类器(我正在使用RStudio)时,我得到了下一个错误消息 predict.C5.0(分类器.cost.1,数据,type=“prob”)中的错误:置信值(即类别概率)不应与成本一起使用 分类器很好,当我在predict命令中不使用type=“prob”时,它也可以很好地工作,但我无法绘制ROC曲线 这是我用来创建自己的ROC曲线的代码: pred.class.cost <- predict(clas

我正在为我已经实现的一系列分类器绘制ROC曲线。问题是,当我有一个带有成本矩阵的C.50分类器(我正在使用RStudio)时,我得到了下一个错误消息

predict.C5.0(分类器.cost.1,数据,type=“prob”)中的错误:置信值(即类别概率)不应与成本一起使用

分类器很好,当我在predict命令中不使用type=“prob”时,它也可以很好地工作,但我无法绘制ROC曲线

这是我用来创建自己的ROC曲线的代码:

pred.class.cost <- predict(classifier.cost.1, data, type="prob")
perf.class.cost <- performance(prediction(pred.class.cost[,2], data$class),"tpr","fpr")
ROC.class.cost <- data.frame(x=perf.class.cost@x.values[[1]],y=perf.class.cost@y.values[[1]])

pred.class.cost的预测部分说明:

当在main函数中使用cost参数时,从该类派生的类概率 终端节点中的分布可能与最终预测的类别不一致。为此 因此,使用不等成本从模型中请求类概率将抛出一个错误


为了解决这个问题,假设你想给正类更多的权重,那么你可以从正类中过采样,或者从负类中欠采样(我更喜欢后者)。这将产生与应用成本类似的效果,然后允许您获得概率并生成ROC曲线。

感谢您的回复。我没有将文档的那部分与predict命令联系起来。。。然而,尽管我会尝试你的建议,以能够生成ROC曲线。我不能(不应该)进行过采样或欠采样,因为这对解释数据来说很困难(我处理健康数据,临床医生不喜欢过采样或欠采样,它不能反映“真实”人群,长话短说……)。是否有方法将欠采样与成本矩阵联系起来?我只是想看看我是否可以做一个等价物……我想如果你的样本过多了一个X的因子,那么这可能相当于给你的正片分配了一个X的代价。谢谢!我会试试的!