我有以下玩具数据集:
df1<-structure(list(X1 = c(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), X2 = c(0.564666517055852,
0.993248174442609, 0.517237113309667, 0.0128217854167603, 0.952654357126895,
0.958073009436008, 0.860038905846366, 0.425314512801637, 0.809327038447625,
0.985049417726494, 0.165982081954436, 0.517237113309667, 0.00211852090504078,
0.296898500479658, 0.994690775408805, 0.999991149759367, 0.999949243479285,
0.999979994962211, 0.409697759931823, 0.999995828877373, 0.999991594894354,
0.999999834424374, 0.952641245900919, 0.999998774453881, 0.999999777896636,
0.999998864433372, 0.998786297471059, 0.999927421881167, 0.998265361329274,
0.999550929839182, 0.999900216754163, 0.999912135543067, 0.999999924775596,
0.996227950775217, 0.998265981873947, 0.999959584436354, 0.999993039255167,
0.99968139946193, 0.999999997308486, 0.999999458017638, 0.999996417856357,
0.99958403590535, 0.999998891765696, 0.999999624757926, 0.999818190766803,
0.999997979863151, 0.999974432439759, 0.996227950775217, 0.999999771762929,
0.983441425608786, 0.99999843468322)), .Names = c("X1", "X2"), row.names = c(NA,
-51L), class = "data.frame")
当我使用Metrics包中的auc()函数时,它告诉我分数为1.
> Metrics::auc(df1$X1, df1$X2)
[1] 1
这似乎不正确。有什么建议吗?
答案 0 :(得分:4)
这是正确的。你只有3个零,这肯定会带来问题,但是看看这里(所有零的预测概率都低于1):
> dat[order(dat[,2]),]
X1 X2
13 0 0.002118521
4 0 0.012821785
11 0 0.165982082
14 1 0.296898500
19 1 0.409697760
8 1 0.425314513
3 1 0.517237113
12 1 0.517237113
1 1 0.564666517
9 1 0.809327038
7 1 0.860038906
23 1 0.952641246
5 1 0.952654357
6 1 0.958073009
50 1 0.983441426
10 1 0.985049418
2 1 0.993248174
15 1 0.994690775
34 1 0.996227951
48 1 0.996227951
29 1 0.998265361
35 1 0.998265982
27 1 0.998786297
30 1 0.999550930
42 1 0.999584036
38 1 0.999681399
45 1 0.999818191
31 1 0.999900217
32 1 0.999912136
28 1 0.999927422
17 1 0.999949243
36 1 0.999959584
47 1 0.999974432
18 1 0.999979995
16 1 0.999991150
21 1 0.999991595
37 1 0.999993039
20 1 0.999995829
41 1 0.999996418
46 1 0.999997980
51 1 0.999998435
24 1 0.999998774
26 1 0.999998864
43 1 0.999998892
40 1 0.999999458
44 1 0.999999625
49 1 0.999999772
25 1 0.999999778
22 1 0.999999834
33 1 0.999999925
39 1 0.999999997
答案 1 :(得分:0)
通过绘制数据的ROC,您将看到AUC为1.0