NASAL

N_RETROPOSITION_MM

tree<-rpart::rpart(N_POSITION~N_RETROPOSITION_MM,data=retropostion_data,control = rpart.control(minsplit = 10))
rpart.plot(tree,type=1,
           extra=101, box.palette="GnBu",
           branch.lty=3, shadow.col="gray", nn=TRUE
        )

rpart.rules(tree)
preds<-predict(tree,retropostion_data,type = 'class')
caret::confusionMatrix(preds,as.factor(retropostion_data$N_POSITION))
Confusion Matrix and Statistics

          Reference
Prediction CA CP  S
        CA 13  3  0
        CP  5 36  0
        S   1  0  5

Overall Statistics
                                          
               Accuracy : 0.8571          
                 95% CI : (0.7461, 0.9325)
    No Information Rate : 0.619           
    P-Value [Acc > NIR] : 3.041e-05       
                                          
                  Kappa : 0.7215          
                                          
 Mcnemar's Test P-Value : NA              

Statistics by Class:

                     Class: CA Class: CP Class: S
Sensitivity             0.6842    0.9231  1.00000
Specificity             0.9318    0.7917  0.98276
Pos Pred Value          0.8125    0.8780  0.83333
Neg Pred Value          0.8723    0.8636  1.00000
Prevalence              0.3016    0.6190  0.07937
Detection Rate          0.2063    0.5714  0.07937
Detection Prevalence    0.2540    0.6508  0.09524
Balanced Accuracy       0.8080    0.8574  0.99138

NORM_N_RETROPOSITION_MM

tree<-rpart::rpart(N_POSITION~NORM_N_RETROPOSITION,data=retropostion_data,control = rpart.control(minsplit = 10))
rpart.plot(tree,type=1,
           extra=101, box.palette="GnBu",
           branch.lty=3, shadow.col="gray", nn=TRUE
        )

rpart.rules(tree)

preds<-predict(tree,retropostion_data,type = 'class')
caret::confusionMatrix(preds,as.factor(retropostion_data$N_POSITION))
Confusion Matrix and Statistics

          Reference
Prediction CA CP  S
        CA 12  2  1
        CP  7 37  0
        S   0  0  4

Overall Statistics
                                          
               Accuracy : 0.8413          
                 95% CI : (0.7274, 0.9212)
    No Information Rate : 0.619           
    P-Value [Acc > NIR] : 0.0001057       
                                          
                  Kappa : 0.6766          
                                          
 Mcnemar's Test P-Value : NA              

Statistics by Class:

                     Class: CA Class: CP Class: S
Sensitivity             0.6316    0.9487  0.80000
Specificity             0.9318    0.7083  1.00000
Pos Pred Value          0.8000    0.8409  1.00000
Neg Pred Value          0.8542    0.8947  0.98305
Prevalence              0.3016    0.6190  0.07937
Detection Rate          0.1905    0.5873  0.06349
Detection Prevalence    0.2381    0.6984  0.06349
Balanced Accuracy       0.7817    0.8285  0.90000

NORM_N_RETRO_HALF_IOL

tree<-rpart::rpart(N_POSITION~NORM_N_RETRO_HALF_IOL,data=retropostion_data,control = rpart.control(minsplit = 15))
rpart.plot(tree,type=1,
           extra=101, box.palette="GnBu",
           branch.lty=3, shadow.col="gray", nn=TRUE
        )

rpart.rules(tree)

preds<-predict(tree,retropostion_data,type = 'class')
caret::confusionMatrix(preds,as.factor(retropostion_data$N_POSITION))
Confusion Matrix and Statistics

          Reference
Prediction CA CP  S
        CA 11  5  0
        CP  5 34  0
        S   3  0  5

Overall Statistics
                                         
               Accuracy : 0.7937         
                 95% CI : (0.673, 0.8853)
    No Information Rate : 0.619          
    P-Value [Acc > NIR] : 0.002361       
                                         
                  Kappa : 0.6107         
                                         
 Mcnemar's Test P-Value : NA             

Statistics by Class:

                     Class: CA Class: CP Class: S
Sensitivity             0.5789    0.8718  1.00000
Specificity             0.8864    0.7917  0.94828
Pos Pred Value          0.6875    0.8718  0.62500
Neg Pred Value          0.8298    0.7917  1.00000
Prevalence              0.3016    0.6190  0.07937
Detection Rate          0.1746    0.5397  0.07937
Detection Prevalence    0.2540    0.6190  0.12698
Balanced Accuracy       0.7327    0.8317  0.97414

TEMPORAL

T_RETROPOSITION_MM

tree<-rpart::rpart(T_POSITION~T_RETROPOSITION_MM,data=retropostion_data,control = rpart.control(minsplit = 10))
rpart.plot(tree,type=1,
           extra=101, box.palette="GnBu",
           branch.lty=3, shadow.col="gray", nn=TRUE
        )

rpart.rules(tree)

preds<-predict(tree,retropostion_data,type = 'class')
caret::confusionMatrix(preds,as.factor(retropostion_data$T_POSITION))
Confusion Matrix and Statistics

          Reference
Prediction CA CP  S
        CA 18  4  1
        CP  2 32  0
        S   0  0  6

Overall Statistics
                                          
               Accuracy : 0.8889          
                 95% CI : (0.7844, 0.9541)
    No Information Rate : 0.5714          
    P-Value [Acc > NIR] : 4.287e-08       
                                          
                  Kappa : 0.8034          
                                          
 Mcnemar's Test P-Value : NA              

Statistics by Class:

                     Class: CA Class: CP Class: S
Sensitivity             0.9000    0.8889  0.85714
Specificity             0.8837    0.9259  1.00000
Pos Pred Value          0.7826    0.9412  1.00000
Neg Pred Value          0.9500    0.8621  0.98246
Prevalence              0.3175    0.5714  0.11111
Detection Rate          0.2857    0.5079  0.09524
Detection Prevalence    0.3651    0.5397  0.09524
Balanced Accuracy       0.8919    0.9074  0.92857

NORM_T_RETROPOSITION

tree<-rpart::rpart(T_POSITION~NORM_T_RETROPOSITION,data=retropostion_data,control = rpart.control(minsplit = 10))
rpart.plot(tree,type=1,
           extra=101, box.palette="GnBu",
           branch.lty=3, shadow.col="gray", nn=TRUE
        )

rpart.rules(tree)

preds<-predict(tree,retropostion_data,type = 'class')
caret::confusionMatrix(preds,as.factor(retropostion_data$T_POSITION))
Confusion Matrix and Statistics

          Reference
Prediction CA CP  S
        CA 13  5  0
        CP  5 31  0
        S   2  0  7

Overall Statistics
                                          
               Accuracy : 0.8095          
                 95% CI : (0.6909, 0.8975)
    No Information Rate : 0.5714          
    P-Value [Acc > NIR] : 5.858e-05       
                                          
                  Kappa : 0.664           
                                          
 Mcnemar's Test P-Value : NA              

Statistics by Class:

                     Class: CA Class: CP Class: S
Sensitivity             0.6500    0.8611   1.0000
Specificity             0.8837    0.8148   0.9643
Pos Pred Value          0.7222    0.8611   0.7778
Neg Pred Value          0.8444    0.8148   1.0000
Prevalence              0.3175    0.5714   0.1111
Detection Rate          0.2063    0.4921   0.1111
Detection Prevalence    0.2857    0.5714   0.1429
Balanced Accuracy       0.7669    0.8380   0.9821

NORM_T_RETRO_HALF_IOL

tree<-rpart::rpart(T_POSITION~NORM_T_RETRO_HALF_IOL,data=retropostion_data,control = rpart.control(minsplit = 10))
rpart.plot(tree,type=1,
           extra=101, box.palette="GnBu",
           branch.lty=3, shadow.col="gray", nn=TRUE
        )

rpart.rules(tree)

preds<-predict(tree,retropostion_data,type = 'class')
caret::confusionMatrix(preds,as.factor(retropostion_data$T_POSITION))
Confusion Matrix and Statistics

          Reference
Prediction CA CP  S
        CA 13  4  0
        CP  5 32  0
        S   2  0  7

Overall Statistics
                                         
               Accuracy : 0.8254         
                 95% CI : (0.709, 0.9095)
    No Information Rate : 0.5714         
    P-Value [Acc > NIR] : 1.731e-05      
                                         
                  Kappa : 0.6898         
                                         
 Mcnemar's Test P-Value : NA             

Statistics by Class:

                     Class: CA Class: CP Class: S
Sensitivity             0.6500    0.8889   1.0000
Specificity             0.9070    0.8148   0.9643
Pos Pred Value          0.7647    0.8649   0.7778
Neg Pred Value          0.8478    0.8462   1.0000
Prevalence              0.3175    0.5714   0.1111
Detection Rate          0.2063    0.5079   0.1111
Detection Prevalence    0.2698    0.5873   0.1429
Balanced Accuracy       0.7785    0.8519   0.9821
LS0tCnRpdGxlOiAiSVogSUNMIFBPU0lUSU9OIEFOQUxZU0lTIChOT1JNQUxJWkFUSU9OKSIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOiAKICAgIGNvZGVfZm9sZGluZzogaGlkZQogICAgdG9jOiB0cnVlCiAgICB0b2NfZmxvYXQ6IHRydWUKICAgIHRvY19jb2xsYXBzZWQ6IHRydWUKLS0tCgoKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KbGlicmFyeShza2ltcikKbGlicmFyeShkcGx5cikKbGlicmFyeSh0aWR5cikKbGlicmFyeSh0aWJibGUpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShWSU0pCmxpYnJhcnkocmVhZHIpCmxpYnJhcnkocnBhcnQucGxvdCkKYGBgCgpgYGB7ciBpbmNsdWRlPUZBTFNFfQpwb3N0b3BfZGF0YTwtcmVhZHI6OnJlYWRfY3N2KGZpbGUgPSAicG9zdG9wX2RhdGFfY2xlYW5lZF9ub3JtYWxpemVkLXZlcnNpb240LmNzdiIpCnJldHJvcG9zdGlvbl9kYXRhPC1wb3N0b3BfZGF0YSAlPiUgc2VsZWN0KE5BTUUsTk9STV9OX1JFVFJPUE9TSVRJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUk1fVF9SRVRST1BPU0lUSU9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQT1NJVElPTixOX1JFVFJPUE9TSVRJT05fTU0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRfUkVUUk9QT1NJVElPTl9NTSxQT1NJVElPTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9STV9UX1JFVFJPX0hBTEZfSU9MLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1JNX05fUkVUUk9fSEFMRl9JT0wsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUk1fVF9SRVRST19JT0wsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUk1fTl9SRVRST19JT0wKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICU+JSBmaWx0ZXIoIWlzLm5hKFBPU0lUSU9OKSkgJT4lIHNlcGFyYXRlKFBPU0lUSU9OLGludG89YygiTl9QT1NJVElPTiIsIlRfUE9TSVRJT04iKSxzZXA9Jy0nKSAlPiUgZHJvcF9uYShUX1BPU0lUSU9OKSAlPiUgZHJvcF9uYShOT1JNX1RfUkVUUk9QT1NJVElPTikKCgpyZXRyb3Bvc3Rpb25fZGF0YTwtcmV0cm9wb3N0aW9uX2RhdGEgJT4lIG11dGF0ZShUX1BPU0lUSU9OPWlmZWxzZShUX1BPU0lUSU9OPT0iQ00iLCJDQSIsVF9QT1NJVElPTiksTl9QT1NJVElPTj1pZmVsc2UoTl9QT1NJVElPTj09IkNNIiwiQ0EiLE5fUE9TSVRJT04pKQpyZXRyb3Bvc3Rpb25fZGF0YQpgYGAKCiMgTkFTQUwKIyMgTl9SRVRST1BPU0lUSU9OX01NCgpgYGB7cn0KdHJlZTwtcnBhcnQ6OnJwYXJ0KE5fUE9TSVRJT05+Tl9SRVRST1BPU0lUSU9OX01NLGRhdGE9cmV0cm9wb3N0aW9uX2RhdGEsY29udHJvbCA9IHJwYXJ0LmNvbnRyb2wobWluc3BsaXQgPSAxMCkpCnJwYXJ0LnBsb3QodHJlZSx0eXBlPTEsCiAgICAgICAgICAgZXh0cmE9MTAxLCBib3gucGFsZXR0ZT0iR25CdSIsCiAgICAgICAgICAgYnJhbmNoLmx0eT0zLCBzaGFkb3cuY29sPSJncmF5Iiwgbm49VFJVRQogICAgICAgICkKcnBhcnQucnVsZXModHJlZSkKcHJlZHM8LXByZWRpY3QodHJlZSxyZXRyb3Bvc3Rpb25fZGF0YSx0eXBlID0gJ2NsYXNzJykKY2FyZXQ6OmNvbmZ1c2lvbk1hdHJpeChwcmVkcyxhcy5mYWN0b3IocmV0cm9wb3N0aW9uX2RhdGEkTl9QT1NJVElPTikpCmBgYAojIyBOT1JNX05fUkVUUk9QT1NJVElPTl9NTQpgYGB7cn0KdHJlZTwtcnBhcnQ6OnJwYXJ0KE5fUE9TSVRJT05+Tk9STV9OX1JFVFJPUE9TSVRJT04sZGF0YT1yZXRyb3Bvc3Rpb25fZGF0YSxjb250cm9sID0gcnBhcnQuY29udHJvbChtaW5zcGxpdCA9IDEwKSkKcnBhcnQucGxvdCh0cmVlLHR5cGU9MSwKICAgICAgICAgICBleHRyYT0xMDEsIGJveC5wYWxldHRlPSJHbkJ1IiwKICAgICAgICAgICBicmFuY2gubHR5PTMsIHNoYWRvdy5jb2w9ImdyYXkiLCBubj1UUlVFCiAgICAgICAgKQpycGFydC5ydWxlcyh0cmVlKQoKcHJlZHM8LXByZWRpY3QodHJlZSxyZXRyb3Bvc3Rpb25fZGF0YSx0eXBlID0gJ2NsYXNzJykKY2FyZXQ6OmNvbmZ1c2lvbk1hdHJpeChwcmVkcyxhcy5mYWN0b3IocmV0cm9wb3N0aW9uX2RhdGEkTl9QT1NJVElPTikpCmBgYAoKIyMgTk9STV9OX1JFVFJPX0hBTEZfSU9MCgpgYGB7cn0KdHJlZTwtcnBhcnQ6OnJwYXJ0KE5fUE9TSVRJT05+Tk9STV9OX1JFVFJPX0hBTEZfSU9MLGRhdGE9cmV0cm9wb3N0aW9uX2RhdGEsY29udHJvbCA9IHJwYXJ0LmNvbnRyb2wobWluc3BsaXQgPSAxNSkpCnJwYXJ0LnBsb3QodHJlZSx0eXBlPTEsCiAgICAgICAgICAgZXh0cmE9MTAxLCBib3gucGFsZXR0ZT0iR25CdSIsCiAgICAgICAgICAgYnJhbmNoLmx0eT0zLCBzaGFkb3cuY29sPSJncmF5Iiwgbm49VFJVRQogICAgICAgICkKcnBhcnQucnVsZXModHJlZSkKCnByZWRzPC1wcmVkaWN0KHRyZWUscmV0cm9wb3N0aW9uX2RhdGEsdHlwZSA9ICdjbGFzcycpCmNhcmV0Ojpjb25mdXNpb25NYXRyaXgocHJlZHMsYXMuZmFjdG9yKHJldHJvcG9zdGlvbl9kYXRhJE5fUE9TSVRJT04pKQpgYGAKCiMgVEVNUE9SQUwKCiMjIFRfUkVUUk9QT1NJVElPTl9NTQoKYGBge3J9CnRyZWU8LXJwYXJ0OjpycGFydChUX1BPU0lUSU9OflRfUkVUUk9QT1NJVElPTl9NTSxkYXRhPXJldHJvcG9zdGlvbl9kYXRhLGNvbnRyb2wgPSBycGFydC5jb250cm9sKG1pbnNwbGl0ID0gMTApKQpycGFydC5wbG90KHRyZWUsdHlwZT0xLAogICAgICAgICAgIGV4dHJhPTEwMSwgYm94LnBhbGV0dGU9IkduQnUiLAogICAgICAgICAgIGJyYW5jaC5sdHk9Mywgc2hhZG93LmNvbD0iZ3JheSIsIG5uPVRSVUUKICAgICAgICApCnJwYXJ0LnJ1bGVzKHRyZWUpCgpwcmVkczwtcHJlZGljdCh0cmVlLHJldHJvcG9zdGlvbl9kYXRhLHR5cGUgPSAnY2xhc3MnKQpjYXJldDo6Y29uZnVzaW9uTWF0cml4KHByZWRzLGFzLmZhY3RvcihyZXRyb3Bvc3Rpb25fZGF0YSRUX1BPU0lUSU9OKSkKYGBgCgojIyBOT1JNX1RfUkVUUk9QT1NJVElPTgoKYGBge3J9CnRyZWU8LXJwYXJ0OjpycGFydChUX1BPU0lUSU9Ofk5PUk1fVF9SRVRST1BPU0lUSU9OLGRhdGE9cmV0cm9wb3N0aW9uX2RhdGEsY29udHJvbCA9IHJwYXJ0LmNvbnRyb2wobWluc3BsaXQgPSAxMCkpCnJwYXJ0LnBsb3QodHJlZSx0eXBlPTEsCiAgICAgICAgICAgZXh0cmE9MTAxLCBib3gucGFsZXR0ZT0iR25CdSIsCiAgICAgICAgICAgYnJhbmNoLmx0eT0zLCBzaGFkb3cuY29sPSJncmF5Iiwgbm49VFJVRQogICAgICAgICkKcnBhcnQucnVsZXModHJlZSkKCnByZWRzPC1wcmVkaWN0KHRyZWUscmV0cm9wb3N0aW9uX2RhdGEsdHlwZSA9ICdjbGFzcycpCmNhcmV0Ojpjb25mdXNpb25NYXRyaXgocHJlZHMsYXMuZmFjdG9yKHJldHJvcG9zdGlvbl9kYXRhJFRfUE9TSVRJT04pKQpgYGAKCgojIyBOT1JNX1RfUkVUUk9fSEFMRl9JT0wKYGBge3J9CnRyZWU8LXJwYXJ0OjpycGFydChUX1BPU0lUSU9Ofk5PUk1fVF9SRVRST19IQUxGX0lPTCxkYXRhPXJldHJvcG9zdGlvbl9kYXRhLGNvbnRyb2wgPSBycGFydC5jb250cm9sKG1pbnNwbGl0ID0gMTApKQpycGFydC5wbG90KHRyZWUsdHlwZT0xLAogICAgICAgICAgIGV4dHJhPTEwMSwgYm94LnBhbGV0dGU9IkduQnUiLAogICAgICAgICAgIGJyYW5jaC5sdHk9Mywgc2hhZG93LmNvbD0iZ3JheSIsIG5uPVRSVUUKICAgICAgICApCnJwYXJ0LnJ1bGVzKHRyZWUpCgpwcmVkczwtcHJlZGljdCh0cmVlLHJldHJvcG9zdGlvbl9kYXRhLHR5cGUgPSAnY2xhc3MnKQpjYXJldDo6Y29uZnVzaW9uTWF0cml4KHByZWRzLGFzLmZhY3RvcihyZXRyb3Bvc3Rpb25fZGF0YSRUX1BPU0lUSU9OKSkKYGBgCgo=