cut off optimal terdeteksi 0,13

Beranda › Forums › Belajar Data Science Tingkat Menengah › cut off optimal terdeteksi 0,13

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #48563

    Halo coach izin bertanya, mengapa saya mendapatkan cut off optimal sebesar 0,13 dan pada tabel preditcion saya mendapatkan nilai 1 sedangkan pada video modul tersebut cut off optimal sebesar 0,12 dan pada tabel preditcion nilai 0

    #ROC Table
    ROCTable=data.frame("Treshold"=pred@cutoffs[[1]],
                        "False Positives"=pred@fp[[1]],
                        "True Positives"=pred@tp[[1]],
                        "False Negatives"=pred@fn[[1]],
                        "True Negatives"=pred@tn[[1]],
                        "False Positive rate"=pred@fp[[1]]/[email protected][[1]],
                        "True Positive rate"=pred@tp[[1]]/[email protected][[1]],
                        "Precision"=pred@tp[[1]]/[email protected][[1]],
                        "Recall"=pred@tp[[1]]/[email protected][[1]],
                        "Rate of positives prediction"=(pred@tp[[1]]+pred@fp[[1]])/(pred@fp[[1]]+pred@tp[[1]]+pred@fn[[1]]+pred@tn[[1]]),
                        "Lift"=(pred@tp[[1]]/[email protected][[1]])/(pred@tp[[1]]+pred@fp[[1]])/(pred@fp[[1]]+pred@tp[[1]]+pred@fn[[1]]+pred@tn[[1]]),
                        "AUC"=rep(performance(pred,"auc")@y.values[[1]],length(pred@cutoffs[[1]])))
    ROCTable[,"F1"] = 2*ROCTable[,"Precision"]*ROCTable[,"Recall"]/(ROCTable[,"Precision"]+ROCTable[,"Recall"])
    
    #cari AUC & cut off optimal
    cutoffOptimal <- subset(ROCTable$Treshold,max(ROCTable$F1,na.rm = T) == ROCTable$F1)
    AUC <- subset(ROCTable$AUC,max(ROCTable$F1,na.rm = T) == ROCTable$F1)
    
    y_pred = as.data.frame(predictionRFProb)
    y_pred = y_pred[2]
    
    y_pred$predicted = ifelse(y_pred$'1'>=0.5,0,1)
    dataTestpred = cbind(datats,y_pred)
    
    datats_cust_no = as.data.frame(datats)
    
    dateTesResult = cbind(datatr_cust_no,dataTestpred)
    #48564

    Untuk perubahan variable saya menggunakan
    dataTrain menjadi datatr
    dataTest menjadi datats

    #48572
    Coach William
    Moderator

      Hi Sobat digital,

      Hal tersebut tidak masalah, biasanya disebabkan oleh versi algoritma yang kita gunakan mungkin berbeda atau memang dampak dari logic algoritma random forest.
      Random forest melakukan train dengan cara mengambil random sampling sebanyak n tree sesuai yang kita tentukan, nah tentu saja hal ini membuat setiap kita melakukan training, data yang diambil untuk setiap pohon berbeda.
      Jadi perubahan 0.01 merupakan hal yang wajar. Yang tidak wajar jika perubahannya ekstrim seperti berbeda 0.1 poin. Maka kemungkinan ada kesalahan yang telah terjadi.

      Saya perna menggunakan script yang sama pada versi random forest yang berbeda, memang hasilnya bisa selisih sedikit baik pada threshold, maupun pada akurasi conf matrix.

      Demikian jawabannya
      Regards,
      Coach William

    Viewing 3 posts - 1 through 3 (of 3 total)
    • You must be logged in to reply to this topic.
    Shopping cart0
    There are no products in the cart!
    Continue shopping