2013-10-29 48 views

回答

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(),可以在训练进行交叉验证,并与这些结果提供给您。

+0

在你显示的表格中,是列的预测值和行的实际值,如混淆矩阵http://en.wikipedia.org/wiki/Confusion_matrix – ahandler

+0

当使用table()两个选项,第一个输入映射到行,第二个输入映射到行,第二个输入尝试像'table(1:5,6:10)'这样的更清晰。所以不行,不是在上面的例子中,而是根据需要切换顺序。 – David

相关问题