有没有办法轻松计算R预测对象的错误分类率?

时间:2013-10-29 00:34:58

标签: r

我从R中的模型和数据框进行预测

> prediction = predict (m, df)

返回一个我可以转换为行向量数据帧的因子变量。然后,我可以将行向量数据帧与正确结果的行向量合并,然后手动计算两个数据向量发散的位置。

有更简单的方法吗?

1 个答案:

答案 0 :(得分:2)

有很多方法可以解决这个问题,而且您没有提供太多信息。以下是获取此类信息的一些简单示例:

> library(randomForest)
> data(imports85)
> model <- randomForest(bodyStyle~curbWeight+cityMpg ,data=imports85)
> 
> #contingency table
> (tab <- table(predict(model,imports85),imports85$bodyStyle))

              convertible hardtop hatchback sedan wagon
  convertible           6       0         0     0     0
  hardtop               0       7         0     0     0
  hatchback             0       1        63     4     3
  sedan                 0       0         7    92     1
  wagon                 0       0         0     0    21
> #error per class
> diag(prop.table(tab,1))
convertible     hardtop   hatchback       sedan       wagon 
  1.0000000   1.0000000   0.8873239   0.9200000   1.0000000 
> #overall error
> mean(predict(model,imports85) == imports85$bodyStyle)
[1] 0.9219512

虽然我一般建议使用caret()之类的东西来训练时执行交叉验证,并为您提供这些结果。