Beranda › Forums › Belajar Data Science Tingkat Menengah › cut off optimal terdeteksi 0,13
Tagged: cut off optima
- This topic has 2 replies, 2 voices, and was last updated 4 years, 8 months ago by Coach William.
-
AuthorPosts
-
February 23, 2022 at 12:56 PM #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)February 23, 2022 at 1:03 PM #48564Untuk perubahan variable saya menggunakan
dataTrain menjadi datatr
dataTest menjadi datatsFebruary 24, 2022 at 8:21 AM #48572Hi 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 -
AuthorPosts
- You must be logged in to reply to this topic.