CrossTable的意外输出

时间:2014-06-17 16:34:17

标签: r

我在以下代码中使用gmodels包中的CrossTable方法:

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 个答案:

答案 0 :(得分:1)

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

 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'))