如何在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
廣告