我在以下代码中使用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%?
我没有正确阅读此交叉表吗?
答案 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'))