如何在R中为rpart模型创建混淆矩阵?
要为rpart模型创建混淆矩阵,我们首先需要找到预测值,然后创建预测值表和原始数据中的响应变量表,这将是该模型的混淆矩阵。
例如,如果我们有一个预测值的向量,例如P,以及数据框df$O中的原始值,则可以使用以下命令创建混淆矩阵:
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
广告