r - 在混淆矩阵中显示决策树的结果

标签 r decision-tree

我试图预测比赛的结果。因此,我在测试和训练集上使用 rpart 算法。

当我训练我的算法时,我这样做:

 tree <- rpart(won ~ EXPG1 + EXPG2, data=training, method="class")

据此我可以预测一场比赛的最终结果是 0,1 还是 2。

 predict <- predict(tree, testing)

这会导致以下结果:

 head(predict)
       0         1         2
2  0.7368421 0.1578947 0.1052632
7  0.2777778 0.5000000 0.2222222

这一切都运行良好。但现在我想比较我在混淆矩阵中的结果。

但这显然行不通

confusionMatrix(testing$won, predict)

因为我的testing$won列只包含0,1或2。关于如何在混淆矩阵中查看结果有什么建议吗?

最佳答案

将类型传递给预测函数以返回类标签:

predict <- predict(tree, testing, type = "class")

完整的工作示例:

library(rpart)
library(caret)

data(iris)

mod <- rpart(Species~., iris)
p <- predict(mod, type="class")

输出:

> confusionMatrix(p, iris$Species)
Confusion Matrix and Statistics

            Reference
Prediction   setosa versicolor virginica
  setosa         50          0         0
  versicolor      0         49         5
  virginica       0          1        45

Overall Statistics

               Accuracy : 0.96           
                 95% CI : (0.915, 0.9852)
    No Information Rate : 0.3333         
    P-Value [Acc > NIR] : < 2.2e-16      

                  Kappa : 0.94           
 Mcnemar's Test P-Value : NA             

Statistics by Class:

                     Class: setosa Class: versicolor Class: virginica
Sensitivity                 1.0000            0.9800           0.9000
Specificity                 1.0000            0.9500           0.9900
Pos Pred Value              1.0000            0.9074           0.9783
Neg Pred Value              1.0000            0.9896           0.9519
Prevalence                  0.3333            0.3333           0.3333
Detection Rate              0.3333            0.3267           0.3000
Detection Prevalence        0.3333            0.3600           0.3067
Balanced Accuracy           1.0000            0.9650           0.9450

关于r - 在混淆矩阵中显示决策树的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34635788/

相关文章:

windows - Windows 的 R 环境中的自动换行

machine-learning - 决策树解释(泰坦尼克号数据)

java - weka决策树java

python - 在 scikit-learn 中可视化决策树

python - 递归树生成器中的无限递归

r - 结构()中的 "class"参数是什么?

R Shiny 的应用程序,输入取决于更新的数据

r - 按组和列的加权均值

r - 将两个不同的图例放在ggplot2的两列中

machine-learning - Weka FilteredClassifier arrayOutOfBoundsException