gpt4 book ai didi

使用 multiclass.roc 的 R 多类/多项式分类 ROC(包 ‘pROC’)

转载 作者:行者123 更新时间:2023-12-04 12:09:26 33 4
gpt4 key购买 nike

我很难理解 multiclass.roc 参数应该是什么样子。这是我的数据快照:

> head(testing.logist$cut.rank)
[1] 3 3 3 3 1 3
Levels: 1 2 3
> head(mnm.predict.test.probs)
1 2 3
9 1.013755e-04 3.713862e-02 0.96276001
10 1.904435e-11 3.153587e-02 0.96846413
12 6.445101e-23 1.119782e-11 1.00000000
13 1.238355e-04 2.882145e-02 0.97105472
22 9.027254e-01 7.259787e-07 0.09727389
26 1.365667e-01 4.034372e-01 0.45999610
>

我尝试调用 multiclass.roc :

multiclass.roc(
response=testing.logist$cut.rank,
predictor=mnm.predict.test.probs,
formula=response~predictor
)

但我自然会得到一个错误:

Error in roc.default(response, predictor, levels = X, percent = percent,  : 
Predictor must be numeric or ordered.

当它是二元分类问题时,我知道“预测变量”应该包含概率(每个观察一个)。但是,在我的例子中,我有 3 个类,所以我的预测变量是一个行列表,每个行有 3 列(或 3 个值的子列表)对应于每个类的概率。有谁知道我的“预测器”应该是什么样子而不是它当前的样子?

最佳答案

pROC 包并不是真正设计用于处理您获得多个预测(作为每个类别的概率)的这种情况。通常你会评估你的 P(class = 1)

multiclass.roc(
response=testing.logist$cut.rank,
predictor=mnm.predict.test.probs[,1])

然后用 P(class = 2) 和 P(class = 3) 再做一次。或者更好的是,确定最有可能的类别:

predicted.class <- apply(mnm.predict.test.probs, 1, which.max)
multiclass.roc(
response=testing.logist$cut.rank,
predictor=predicted.class)

multiclass.roc 视为一个玩具,它有时会有帮助,但很可能不会真正满足您的需求。

关于使用 multiclass.roc 的 R 多类/多项式分类 ROC(包 ‘pROC’),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28089435/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com