如何为 R 中的 rpart 模型创建混淆矩阵?
要为rpart模型创建混淆矩阵,我们首先需要找到预测值,然后可以创建预测值表和原始数据中的响应变量,这将是模型的混淆矩阵。
例如,如果我们有一个预测值向量,比如数据帧df$O中的P和原始值,那么可以使用以下命令创建混淆矩阵-
table(P,df$O)
查看以下示例以了解如何完成。
示例1
以下代码段创建了一个示例数据框-
Dep_Var1<-factor(sample(0:1,20,replace=TRUE)) Indep_Var1<-rpois(20,5) df1<-data.frame(Dep_Var1,Indep_Var1) df1
创建了以下数据框
Dep_Var1 Indep_Var1 1 0 4 2 0 11 3 0 3 4 0 6 5 0 3 6 1 5 7 1 4 8 0 4 9 1 5 10 0 3 11 1 5 12 1 4 13 0 2 14 0 3 15 0 5 16 1 9 17 1 5 18 0 9 19 1 2 20 0 2
要在上面创建的数据框上加载rpart包,请将以下代码添加到上面的代码段中-
Dep_Var1<-factor(sample(0:1,20,replace=TRUE)) Indep_Var1<-rpois(20,5) df1<-data.frame(Dep_Var1,Indep_Var1) library(rpart)
要创建rpart模型并在上面创建的数据框中找到df1中数据的预测值,请将以下代码添加到上面的代码段中-
Dep_Var1<-factor(sample(0:1,20,replace=TRUE)) Indep_Var1<-rpois(20,5) df1<-data.frame(Dep_Var1,Indep_Var1) library(rpart) Model_1<-rpart(Dep_Var1~Indep_Var1,data=df1) Prediction_Model_1<-predict(Model_1,type="class")
要在上面创建的数据框上创建混淆矩阵,请将以下代码添加到上面的代码段中-
Dep_Var1<-factor(sample(0:1,20,replace=TRUE)) Indep_Var1<-rpois(20,5) df1<-data.frame(Dep_Var1,Indep_Var1) library(rpart) Model_1<-rpart(Dep_Var1~Indep_Var1,data=df1) Prediction_Model_1<-predict(Model_1,type="class") table(Prediction_Model_1,df1$Dep_Var1)输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
Prediction_Model_1 0 1 0 6 1 1 6 7
示例2
以下代码段创建了一个示例数据框-
Dep_Var2<-factor(sample(0:1,20,replace=TRUE)) Indep_Var2<-rnorm(20) df2<-data.frame(Dep_Var2,Indep_Var2) df2
创建了以下数据框
Dep_Var2 Indep_Var2 1 0 1.139577556 2 1 0.006968284 3 1 0.438159515 4 1 0.599715153 5 1 1.870112573 6 0 -0.810537941 7 0 -0.733628480 8 1 0.625663690 9 1 0.696501333 10 1 -0.967849897 11 1 -2.392595836 12 1 1.459343862 13 1 -0.026408590 14 0 -1.254218214 15 0 -0.865296394 16 0 0.443057916 17 0 1.172367014 18 0 1.334406228 19 1 1.262094268 20 0 0.887480542
要创建rpart模型并在上面创建的数据框中找到df2中数据的预测值,请将以下代码添加到上面的代码段中-
Dep_Var2<-factor(sample(0:1,20,replace=TRUE)) Indep_Var2<-rnorm(20) df2<-data.frame(Dep_Var2,Indep_Var2) library(rpart) Model_2<-rpart(Dep_Var2~Indep_Var2,data=df2) Prediction_Model_2<-predict(Model_2,type="class")
要在上面创建的数据框上创建混淆矩阵,请将以下代码添加到上面的代码段中-
Dep_Var2<-factor(sample(0:1,20,replace=TRUE)) Indep_Var2<-rnorm(20) df2<-data.frame(Dep_Var2,Indep_Var2) library(rpart) Model_2<-rpart(Dep_Var2~Indep_Var2,data=df2) Prediction_Model_2<-predict(Model_2,type="class") table(Prediction_Model_2,df2$Dep_Var2)输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
Prediction_Model_2 0 1 0 4 3 1 5 8
示例3
以下代码段创建了一个示例数据框-
Dep_Var3<-factor(sample(0:1,20,replace=TRUE)) Indep_Var3<-sample(501:1000,20) df3<-data.frame(Dep_Var3,Indep_Var3) df3
创建了以下数据框
Dep_Var3 Indep_Var3 1 1 530 2 0 554 3 0 510 4 1 782 5 0 648 6 1 546 7 1 762 8 0 666 9 1 733 10 0 928 11 0 902 12 1 602 13 1 933 14 1 987 15 1 743 16 0 515 17 1 867 18 1 945 19 0 503 20 1 512
要创建rpart模型并在上面创建的数据框中找到df3中数据的预测值,请将以下代码添加到上面的代码段中-
Dep_Var3<-factor(sample(0:1,20,replace=TRUE)) Indep_Var3<-sample(501:1000,20) df3<-data.frame(Dep_Var3,Indep_Var3) library(rpart) Model_3<-rpart(Dep_Var3~Indep_Var3,data=df3) Prediction_Model_3<-predict(Model_3,type="class")
要在上面创建的数据框上创建混淆矩阵,请将以下代码添加到上面的代码段中-
Dep_Var3<-factor(sample(0:1,20,replace=TRUE)) Indep_Var3<-sample(501:1000,20) df3<-data.frame(Dep_Var3,Indep_Var3) library(rpart) Model_3<-rpart(Dep_Var3~Indep_Var3,data=df3) Prediction_Model_3<-predict(Model_3,type="class") table(Prediction_Model_3,df3$Dep_Var3)输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
Prediction_Model_3 0 1 0 6 4 1 2 8