KLASIFIKASI PELANGGAN DENGAN ALGORITME POHON KEPUTUSAN DAN PELUANG PELANGGAN YANG MERESPONS PENAWARAN DENGAN REGRESI LOGISTIK
YUANDRI TRISAPUTRA & OKTARINA SAFAR NIDA (SIAP 16)
SIAP 16 β Yuandri Trisaputra dan Oktarina Safar Nida
Pendahuluan Latar Belakang Pelanggan suatu perusahaan memiliki berbagai informasi. Pada makalah ini, tersedia fitur dari 144763 pelangan. Fitur berjenis kategorik dan numerik tersebut berguna untuk menglasifikas ika n jenis pelanggan. Pelanggan juga memiliki respon target berupa 1 dan 0. Peluang pelanggan untuk memiliki target bernilai 1 dengan fitur- fitur tertentu menjadi menarik untuk diketahui sehingga perusahaan bisa menduga peluang pelanggan bertarget 1 dengan nilai cuts off yang dapat ditentuka n oleh perusahaan. Selain itu, perusahaan dapat mengklasifikasikan pelanggan dengan aturan-aturan yang didapat.
Tujuan dan Manfaat Makalah ini bertujuan dan memberikan manfaat untuk: 1. Menerapkan teknik klasifikasi pohon keputusan untuk mengklasifikasi pelanggan baru. 2. Melakukan pendugaan peluang target pelanggan dengan fitur- fitur tertentu yang bernilai 1.
Batasan Batasan pada makalah ini difokuskan pada: 1. Penggunaan data 144673 pelanggan suatu perusahaan 2. Penerapan teknik data mining klasifikasi menggunakan pohon keputusan J48 3. Penerapan statistik dengan menggunakan regresi logistik biner 4. Penerapan seleksi fitur menggunakan evaluasi subset
Metode Software Spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam penelitian yaitu sebagai berikut: Perangkat Keras: 1. Processor Intel Core i3 2. Memori 6 GB 3. Harddisk 500 GB 4. Layar 14 inci 5. Mouse dan Keyboard Perangkat Lunak: 1. Sistem operasi Windows 8 2. Microsoft Excel 2013 sebagai lembar pengolahan data tambahan, media merapihkan data penggabungan data, pembersihan data, dan transformasi data. 3. Weka versi 3.6.20 untuk melakukan proses data mining klasifikasi dan pemilihan fitur. 4. IBM SPSS versi 21.0 untuk melakukan analisis cluster dan peramalan 5. Emeditor untuk melakukan split data agar mudah dilakukan proses data mining.
Dataset Data yang digunakan dalam makalah ini adalah data fitur-fitur pelanggan dan target pelangga n suatu perusahaa. Nama variabel dirahasiakan. Sebanyak 144763 pelanggan dengan fitur sebanyak 1934.
Algoritme 1. Algoritme J48 Algoritme J48 adalah algoritme untuk membentuk pohon keputusan yang digunakan untuk klasifikasi. Pohon keputusan merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang besar menjadi pohon keputusan yang merepresentasikan aturan. Aturan dapat mudah dipahami dengan bahasa alami. Dan dapat diekspresikan dalam bentuk bahasa basis data seperti SQL (Structured Query Language) untuk mencari record kategori tertentu. Pohon keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah variabel input dengan variabel target. Karena pohon memadukan antara eksplorasi data dan dan pemodelan, pohon keputusan sangat bagus sebagai langkah awal dalam proses pemodelan bahkan ketika dijadikan sebagai model akhir dari beberapa teknik lain. 2. Klasifikasi dan Prediksi Klasifikasi merupakan penempatan objek-objek ke salah satu dari beberapa kategori yang telah ditetapkan sebelumnya. Klasifikasi bertujuan untuk memperoleh aturan klasifikasi yang dapat digunakan untuk memprediksi label kelas dari objek yang tidak yang tidak diketahui label kelasnya. (Li et al 2001) Klasifikasi terdiri atas dua proses yaitu tahap induktif yang merupakan tahap membangun model klasifikasi dari data latih dan tahap deduktif yang merupakan tahap menerapkan model untuk data uji. Klasifikasi mempunyai dua teknik pembelajaran yaitu eager learner yang membuat model berdasarkan atribut input yang dipetakan terhadap kelas label setelah data latih tersedia dan lazy learner yang melakukan proses pemodelan dari data latih ketika ada data uji yang akan diklasifikasikan (Tan et al. 2006). 3. k-Fold Cross Validation k-fold cross validation dilakukan untuk membagi data latih dan data uji. k-fold cross validation mengulang k-kali untuk membagi sebuah himpunan contoh secara acak menjadi k subset yang saling bebas, setiap ulangan disisakan satu subset untuk pengujian dan subset lainnya untuk pelatihan (Fu 1994). Pada metode tersebut, data awal dibagi menjadi k subset atau βfoldβ yang saling bebas secara acak, yaitu S1, S2, ..., Sk, dengan ukuran setiap subset kira-kira sama. Pada iterasi ke-i, subset Si diperlukan sebagai data pengujian dan subset lainnya diperlukan sebagai data pelatihan. Prosedur ini diulang sebanyak k-kali sedemikian sehingga setiap subset digunakan untuk pengujian tepat satu kali. Total akurasi ditentukan dengan menjumlahkan akurasi untuk semua k proses tersebut (Ulya 2013). 4. Confusion Matrix Evaluasi model klasifikasi berdasar pada proporsi antara data uji yang diprediksi secara tepat dengan total seluruh prediksi (Tan et al.2006). Informasi mengenai klasifikasi sebenarnya (aktual) dengan klasifikasi hasil prediksi disajikan dalam bentuk tabel yang disebut confusion matrix seperti diperlihatkan pada Tabel 1. Tabel 1 Confusion matrix Kelas Prediksi Kelas Aktual Kelas 1 Kelas 2 Kelas 1 A b Kelas 2 C d Jumlah baris dan kolom pada tabel bergantung pada banyaknya kelas target. Akurasi merupakan proporsi jumlah prediksi yang tepat. Contoh perhitungan akurasi untuk tabel tersebut adalah (Faiza 2009): SIAP 16 β Yuandri Trisaputra dan Oktarina Safar Nida
π΄ππ’πππ π =
π½π’πππβ πππππππ π π¦πππ π‘ππππ‘ πππ‘ππ πππππππ π
π΄ππ’πππ π =
π+ π π+ π+π +π·
β¦ (3)
5. Regresi Logistik Biner Regresi Logistik biner merupakan model regresi dengan peubah respon kategorik. Jika peubah respon memiliki nilai biner maka regresi ini dinamakan dengan regresi logistic biner. Regresi ini merupakan pengembangan dari regresi linear yang memiliki permasalahn jika y kategorik. Metode kuadrat terkecil sudah tidak tepat lagi digunakan untuk data regresi yang memiliki variabel respon biner. Regresi logistic juga tidak memerlukan banyak asumsi kenormalan seperti layaknya regresi linear berganda karena respon hanya berupa biner dan tidak dapat diukur kenormalan distribusinya. Kelayakan sebuah model regresi logistic bisa dilihat dari nilai hosmer dan lemeshow. H0: Model layak H1: Model tidak layak Pada kasus ini alpha yang ditetapkan adalah 0.05 sehingga apabila nilai signifikansi lebih dari 0.05 maka model regresi logistic layak digunakan. Regresi logistic tidak akan menduga nilai 1 atau 0 yang akan dikeluarkan melalui peubah-peubah penjelas yang ada. Melalui regresi logistic dapat diduga peluang pelanggan dengan fitur-fitur tertentu dapat mencapai nilai 1. Cuts off terhadap pendugaan nilai target tersebut bisa ditentukan secara fleksibel sesuai dengan keinginan dari suatu perusahaan. Cuts off default yang digunakan oleh SPSS adalah 0.5. Regresi logistik juga bisa menentukan peubah mana yang dianggap berpengaruh secara signifikan terhadap peluang pelanggan memiliki nilai target 1. Peubah yang berpengaruh signifikan secara simultan tentu memiliki p-value yang kurang dari alpha dalam kasus ini adalah 0.05. Peubah-peubah tertentu yang tidak berpengaruh bukan berarti harus dihilangka n. Peubah tersebut bisa saja memberi ukuran kebaikan model yang lebih baik sehingga peubah yang tidak berpengaruh tidak dapat dibuang begitu saja. Terlebih sudah dilakukan proses reduksi variabel melalui selected value dengan algoritma best first. Maka focus regresi logistic makalah ini adalah pendugaan pada peluang pelanggan memiliki nilai target 1.
Desain dan Implementasi Input Dataset sebagai input yang digunakan dalam makalah ini adalah data pelanggan dengan fiturfitur dan target dari suatu perusahaan. Cleaning data digunakan untuk praproses data. Pada cleaning data terdapat berbagai tahap yang dilakukan: 1. Split dan Replace Data Pada tahap ini dilakukan split data dengan Emeditor dengan memotong 10000 pelangga n dalam 1 data berformat csv. Kemudian dilakukan replace data dengan tanda β,β diganti dengan β.β dan data yang dipisahkan dengan tanda β;β diganti dengan β,β agar data dengan format csv ini mudah dibaca pada software yang digunakan (Weka dan SPSS). 2. Sampling Data mengandung fitur-fitur dari 144673 pelanggan. Sampling dari data tersebut diperlukan dalam kasus ini. Metode sampling ini digunakan karena data berupa informasi pelanggan dengan jumlah pelanggan yang sangat banyak dan sangat mungkin banyak pelanggan yang bertipikal sama. Sampling menggunakan rumus slovini dengan error yang dapat ditoleransi sebesar 0.05. SIAP 16 β Yuandri Trisaputra dan Oktarina Safar Nida
π 1 + ππ 2 dengan n merupakan jumlah sampel pelanggan yang diambil. Sampling diambil dengan menggunakan metode system random sampling. Setiap pelanggan memiliki peluang yang sama untuk terambil sebagai sampling. Dengan N sebanyak 144763, melalui kaidah slovini maka diperoleh n sebesar 398.8978 atau didekati dengan n sebanyak 399. 3. Selected variable Pemilihan variabel dengan menggunakan evaluasi atribut subset dengan algoritma pencarian best first yang dilakukan menggunakan Weka. Terdapat 24 variabel yang terpilih untuk model klasifikasi dan pendugaan peluang target, yaitu: VAR_00034, VAR_0060, VAR_0062, VAR_0208, VAR_0212, VAR_0314, VAR_0331, VAR_0362, VAR_0437, VAR_0438, VAR_0503, VAR_0542, VAR_0624, VAR_0758, VAR_0807, VAR_0915, VAR_0947, VAR_1015, VAR_1020, VAR_1023, VAR_1027, VAR_1032, VAR_1385, VAR_1502. Output Weka dapat dilihat pada gambar berikut: π=
Proses
Cleaning Data Data pelanggan dengan berbagai fitur disampling dan fitur-fitur direduksi dengan algoritme best first.
Klasifikasi
Klasifikasi pelanggan menggunakan pohon keputusan J48 untuk menentukan target
Regresi Logistik Alat statistik untuk menentukan peluang pelanggan memiliki nilai 1 pada peubah respon (target)
SIAP 16 β Yuandri Trisaputra dan Oktarina Safar Nida
Output Output dari percobaan ini adalah aturan-aturan klasifikasi untuk pelanggan baru dan pendugaan peluang pelanggan memiliki target 1.
Analisis Sebelum melakukan klasifikasi dan regresi logistik variabel yang dipilih dilakukan analis is kembali untuk penentuan variabel/fitur yang digunakan dalam model yang akan dibangun. Dari anlisis yang dilakukan terdapat 20 fitur yang akan digunakan, yaitu: VAR_00034, VAR_0060, VAR_0062, VAR_0212, VAR_0331, VAR_0362, VAR_0503, VAR_0542, VAR_0624, VAR_0758, VAR_0807, VAR_0915, VAR_0947, VAR_1015, VAR_1020, VAR_1023, VAR_1027, VAR_1032, VAR_1385, VAR_1502. Kemudian terdapat variabel yang dimodifika s i format datanya agar dapat mudah digunakan pada software, berikut modifikasi data dari setiap variabel: - Data yang bernilai NA, 999999996-999999999, 96-97, 9996-9999, -9999 akan diganti menjadi 0 - Khusus VAR_0947 data diganti menjadi nilai 1 apabila data >=1 dan bernilai 0 untuk selainnya - Arti lain, T bernilai 1 dan F bernilai 0 - Target bernilai 0 diubah menjadi A sedangkan target bernilai 1 diubah menjadi B. Dari praprocessing didapatkan data set baru dengan 399 baris dan 20 fitur sebagai data latih. Contoh data latih dapat dilihat pada gambar berikut:
1. Klasifikasi Proses klasifikasi menggunakan algoritma pohon keputusan J48 dan dijalankan pada software weka. Parameter yang digunakan pada Weka yaitu faktor kepercayaan / confidenceFactor = 0.05 dan minimal banyaknya objek / minNumObj = 2. Percobaan pertama dilakukan dengan melakukan klasifikasi dengan cross validation fold = 10. Hasil klasifikasi yang dilakukan software weka pada percobaan pertama dapat dilihat di gambar berikut:
SIAP 16 β Yuandri Trisaputra dan Oktarina Safar Nida
Berdasarkan gambar diatas, pada percobaan pertama dari total instance/objek atau pelangga n yang berjumlah 399, terdapat 78.1955% data diklasifikasikan secara benar dan 21.8045% data diklasifikasikan tidak benar.
Berdasarkan gambar diatas, pada percobaan pertama class A mempunyai TP (True Positive) rate lebih besar dari TP Rate pada B. Hasil klasifikasi A dapat dikatakan lebih baik, karena hasil FP Rate, presisi, recall, F-Measure dan ROC Area memiliki nilai yang lebih besar dibandingkan class B.
Melalui gambar confusion matrix diatas dapat diketahui, percobaan pertama menghasilka n sebanyak 272 data kelas A benar diklasifikasi class A, 40 data kelas B benar diklasifikasi class B. Sedangkan terdapat 70 data B salah diklasifikasi class A dan 17 data kelas A salah diklasifikasi class B. Pada percobaan kedua data test yang digunakan adalah hasil data split kedua yaitu sebanyak 10000 baris. Data test sudah disesuaikan dengan format data train. Hasil klasifikasi yang dilakukan software weka pada percobaan kedua dapat dilihat di gambar berikut:
SIAP 16 β Yuandri Trisaputra dan Oktarina Safar Nida
Dari gambar diatas, percobaan kedua menghasilkan akurasi sebesar 75.2093 %. Dengan jumlah data yang benar diklasifikasikan sebanyak 6826. Sebanyak 6465 data kelas A benar diklasifikasi class A, 361 data kelas B benar diklasifikasi class B. Sedangkan terdapat 1769 data B salah diklasifikasi class A dan 481 data kelas A salah diklasifikasi class B. Berikut pohon keputusan yang terbentuk yang digunakan sebagai model untuk klasifikas i pelanggan:
Dari hasil tree di atas. Hanya 11 variabel yang menjadi node keputusan, yaitu: VAR_1027, VAR_0034, VAR_1015, VAR_0759, VAR_503, VAR_1015, VAR_0915, VAR_1027, VAR_0212, VAR_1385. Variabel βVAR_1027β sebagai root dan variabel lainnya menjadi node cabangnya.
SIAP 16 β Yuandri Trisaputra dan Oktarina Safar Nida
Berikut aturan yang didapat: 1. Jika VAR_1027 <= 0 dan VAR_0034 <= 1, maka diklasifikasikan sebagai kelas A 2. Jika VAR_1027 <= 0 dan VAR_0034 >1 dan VAR_0758 > 4, maka diklasifikasikan sebagai kelas B 3. Jika VAR_1027 <= 0 dan VAR_1015 <= 1 dan VAR_0758 <= 4, maka diklasifikasikan sebagai kelas A 4. Jika VAR_1027 <= 0 dan VAR_1015 <= 1 dan VAR_0758 > 4, maka diklasifikasikan sebagai kelas B 5. Jika VAR_1027 > 0 dan VAR_503=F dan VAR_1015 <= 0, A 6. Jika VAR_1027 > 0 dan VAR_503=F dan VAR_1015 > 0 dan VAR_0915>11, B 7. Jika VAR_1027 > 0 dan VAR_503=F dan VAR_1015 > 0 dan VAR_0915<=11 dan VAR_0947 = T, B 8. Jika VAR_1027 > 0 dan VAR_503=F dan VAR_1015 > 0 dan VAR_0915<=11 dan VAR_0947 = F dan VAR_1027>1, B 9. Jika VAR_1027 > 0 dan VAR_503=F dan VAR_1015 > 0 dan VAR_0915<=11 dan VAR_0947 = F dan VAR_1027<=1, A 10. Jika VAR_1027 > 0 dan VAR_503=F dan VAR_0202>51529101604, B 11. Jika VAR_1027 > 0 dan VAR_503=F dan VAR_0202<=51529101604 dan VAR_1305<=35, B 12. Jika VAR_1027 > 0 dan VAR_503=F dan VAR_0202<=51529101604 dan VAR_1305>35, A
2. Regresi Logistik Model Logit pada regresi logistic adalah:
ᴨ(x) = peluang pelanggan mempunyai nilai target bernilai 1. x1, x2, β¦, xp = peubah penjelas (fitur-fitur) pelanggan sebanyak. Melalui SPSS dengan tools binary logistics didapatkan output sebagai berikut: Variables in the Equation B Step 1 a
S.E.
Wald
df
Sig.
Exp(B)
VAR_0034
.380
.162
5.519
1
.019
1.462
VAR_0060
.257
.117
4.826
1
.028
1.293
VAR_0062
-.066
.062
1.108
1
.292
.936
VAR_0212
.000
.000
3.257
1
.071
1.000
VAR_0331
.000
.000
.423
1
.516
1.000
VAR_0362
.161
.294
.300
1
.584
1.175
VAR_503
.899
.400
5.049
1
.025
2.456
VAR_0542
.000
.000
.045
1
.832
1.000
VAR_0624
.356
.256
1.934
1
.164
1.428
VAR_0758
.168
.070
5.688
1
.017
1.183
VAR_0807
.220
.111
3.955
1
.047
1.246
VAR_0915
.041
.090
.214
1
.644
1.042
VAR_0947
-.253
.563
.202
1
.653
.776
VAR_1015
.462
.137
11.333
1
.001
1.587
VAR_1020
-.058
.078
.544
1
.461
.944
VAR_1023
-.025
.037
.454
1
.501
.976
VAR_1027
.673
.178
14.244
1
.000
1.960
VAR_1032
-.040
.080
.254
1
.615
.960
SIAP 16 β Yuandri Trisaputra dan Oktarina Safar Nida
VAR_1385
-.005
.004
1.636
1
.201
.995
VAR_1502
.000
.000
.176
1
.675
1.000
-2.918
.520
31.444
1
.000
.054
Constant
a. Variable(s) entered on step 1: VAR_0034, VAR_0060, VAR_0062, VAR_0212, VAR_0331, VAR_0362, VAR_503, VAR_0542, VAR_0624, VAR_0758, VAR_0807, VAR_0915, VAR_0947, VAR_1015, VAR_1020, VAR_1023, VAR_1027, VAR_1032, VAR_1385, VAR_1502.
Model yang terbentuk adalah:
π (π₯ ) =
0.054x1πππ_1502 π₯0.995π£ππ _1385 π₯ β¦ . π₯1.462πππ _0034 1 + ( 0.054x1πππ1502 π₯0.995π£ππ1385 π₯ β¦ . π₯1.462ππ π0034 )
Model ini dapat digunakan untuk mengetahui peluang seorang pelangan dengan fitur tertentu memiliki target bernilai 1. Kelayakan model pada regresi logistic diukur menggunakan tes hosmer dan lemeshow. Dengan H0=Model Layak vs H1=Model tidak layak. Dengan alpha sebesar 0.05 dan kemudian didapatkan signifikansi sebesar 0.55 maka H0 dapat diterima sehingga model yang keluar pada output layak digunakan. Hosmer and Lemeshow Test Step
Chi-square
1
df
6.880
Sig. 8
.550
Output selanjutnya adalah table klasifikasi sesuai dengan model yang dibuat: Classification Table a Predicted target Observed
Step 1
target
0
Percentage 1
Correct
0
275
14
95.2
1
62
48
43.6
Overall Percentage
81.0
a. The cut value is .500
Dengan cut values sebesar 0.5 model yang dibangun memberikan keakuratan sebanyak 81%. Persentasi ini cukup baik untuk memodelkan fitur-fitur pelanggan beserta targetnya pada kasus ini.
SIAP 16 β Yuandri Trisaputra dan Oktarina Safar Nida
Kesimpulan Melalui beberapa analisis yang telah dilakukan diperoleh kesimpulan sebagai berikut: 1. Teknik klasifikasi dapat diterapkan untuk mengklasifikasikan pelanggan baru dengan aturan-aturan yang dihasilkan dari klasifikasi menggunakan pohon keputusan dengan akurasi yang didapat sekitar 78%. 2. Model logit yang terbentuk adalah: 0.054x1πππ_1502 π₯0.995π£ππ _1385 π₯ β¦ . π₯1.462πππ _0034 π (π₯) = 1 + ( 0.054x1πππ1502 π₯0.995π£ππ1385 π₯ β¦ . π₯1.462ππ π0034 ) 3. Model ini digunakan untuk menduga peluang seorang pelanggan dengan fitur tertentu memilik i nilai target 1. Kelayakan model sesuai tes klasifikasi adalah sebesar 81 %, persentase yang cukup baik untuk menjadi model penduga.
SIAP 16 β Yuandri Trisaputra dan Oktarina Safar Nida