Decision Tree Menggunakan RStudio terhadap data Curah Hujan di Australia part 2
Oleh sebab itu kita akan melanjutkan analisisnya dengan algoritma C5.0 agar dapat mengetahui variabel mana saja yang sangat berpengaruh terhadap variabel RainTomorrow.
Langkah pertama kita akan melakukan aply cross fold validation dimana membagi data set curah hujan tersebut menjadi 10 bagian untuk data test data data train, dengan syntax berikut,
fold <- cut(seq(1, nrow(rapih_datahujan_3)), breaks=10, labels=FALSE)
for (i in 1:10){
testIndexes <- which(fold==i, arr.ind=TRUE)
test_data2 <- rapih_datahujan_3[testIndexes,]
train_data2 <- rapih_datahujan_3[-testIndexes,]}
Kemudian kita aktifkan kebali packages party,
library(party)
Lalu buat persamaan seperti berikut,
hasil_tree2 <- RainTomorrow~MinTemp+MaxTemp+Rainfall+Evaporation+Sunshine+
WindGustDir+WindGustSpeed+WindDir9am+WindDir3pm+WindSpeed9am+
WindSpeed3pm+Humidity9am+Humidity3pm+Pressure9am+Pressure3pm+
Cloud9am+Cloud3pm+Temp9am+Temp3pm+RainToday
Setelah itu, install dan aktifkan packages sweperti berikut,
library(tidyrules)
library(tidyverse)
library(C50)
library(pander)
library(dplyr)
Berikutnya, kita lakukan analisis descission tree C5.0 dengan syntax berikut,
tree_c5 <- C5.0(hasil_tree2, data=train_data2)
Kemudian kita tampilkan hasil descission tree C5.0 model tersebut,
tree_c5
summary(tree_c5)
Didapatkan output berikut,
Dilihat pada bagian atribute bahwa terdapat proporsi besarnya pengaruh variabel-variabe tersebut terhadap variabel prediksi hujan untuk hari esoknya (RainTomorrow).
Selanjutnya kita akan mencoba bagaimana analisis descission tree dengan 4 variabel saja yang sangat mempengaruhi variabel RainTomorrow yaitu variabelHumidity3pm, WindGustSpeed, Sunshin dan RainToday.
Pertama kita lakukan kembali analisis descission treen tapi dengan 4 variabel pendukung saja seperti berikut,
hasil_tree3 <- ctree(RainTomorrow~Humidity3pm+WindGustSpeed+Sunshine+RainToday,
data=train_data)
Lalu tampilka plotnya,
plot(hasil_tree3)
Maka didapatkan output berikut,
Kemudian kita lihat beasarnya akurasi analsisis tersebut untuk data train dengan syntax berikut,
# prediksi di data train
pred_train3=table(predict(hasil_tree3), train_data$RainTomorrow)
pred_train3# prediksidi data test
pred_test3=table(predict(hasil_tree3, newdata=test_data), test_data$RainTomorrow)
pred_test3
Maka didapatkan,
Selanjutnya kita gunakan jumlah data yang berhasil dan tidak berhasil diprediksi tersebut untuk menghitung akurasi. Menghitung akuras dengan aplikasi microsoft excel dimana rumusnya jumlah data yang berhasil dipresiksi dibagi dengan jumlah data berhasil dan tidak berhasil diprediksi. Maka didapatkan hasil seperti berikut,
Diidapatkan akurasinya sebesar 84% dimana menujukan akurasi yang berkurang dibandingkan dengan analisis descission tree sebelumnya dimana menggunakan variabel pendukung yang banyak.
Referensi :