R 来自交叉表的意外输出

R 来自交叉表的意外输出,r,R,我在以下代码中使用gmodels包中的交叉表方法: CrossTable(news_test_pred, news_raw_test$type, prop.chisq = F, prop.c = F, prop.t = F, dnn = c('predicted', 'actual')) 执行时,输出如下所示: Total Observations in Table: 19 | actual predicted | negative | posit

我在以下代码中使用
gmodels
包中的交叉表方法:

CrossTable(news_test_pred, news_raw_test$type, prop.chisq = F, prop.c = F, prop.t = F, dnn = c('predicted', 'actual'))
执行时,输出如下所示:

Total Observations in Table:  19 


             | actual 
   predicted |  negative |  positive | Row Total | 
-------------|-----------|-----------|-----------|
    negative |         3 |         0 |         3 | 
             |     1.000 |     0.000 |     0.158 | 
-------------|-----------|-----------|-----------|
    positive |         9 |         7 |        16 | 
             |     0.562 |     0.438 |     0.842 | 
-------------|-----------|-----------|-----------|
Column Total |        12 |         7 |        19 | 
-------------|-----------|-----------|-----------|
我的问题是,如果有12个“实际的消极因素”,而我只正确预测了其中的3个,为什么它会显示100%


我没有正确读取此交叉表吗?

内部单元格中计数下面列出的概率表示行概率

 1.00+0.00 == 1
 0.562+0.438 == 1
也就是说,对于您预测为负值的3个值,它们实际上都为负值

但是,听起来您希望以真值而不是指定值为条件。最简单的方法是将参数交换到
CrossTable

CrossTable(news_raw_test$type, news_test_pred, 
    prop.chisq = F, prop.c = F, prop.t = F, 
    dnn = c('actual', 'predicted'))

这些是低于正负计数的行概率。“1.00+0.00==1”和“0.562+0.438==1”如果您想要每个“实际”值而不是“预测”值的百分比,可以翻转前两个参数。@MrFlick谢谢:)。我不知道我能把它们翻过来。你的回答对我来说很有意义。请邮寄,我会接受你的时间允许