我从R中的模型和数据框进行预测
> prediction = predict (m, df)
返回一个我可以转换为行向量数据帧的因子变量。然后,我可以将行向量数据帧与正确结果的行向量合并,然后手动计算两个数据向量发散的位置。
有更简单的方法吗?
答案 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()
之类的东西来训练时执行交叉验证,并为您提供这些结果。