Eksperimen Data Mining: Klasifikasi Pemesanan Barang Menggunakan Aplikasi Weka

download Eksperimen Data Mining: Klasifikasi Pemesanan Barang Menggunakan Aplikasi Weka

of 28

description

Dokumen ini merupakan laporan hasil eksperimen klasifikasi pemesanan barang menggunakan data sampel dari Data Mining Cup 2013. Aplikasi yang digunakan dalam eksperimen ini adalah Weka. Algoritma yang digunakan dalam aplikasi tersebut antara lain ADTree, J48, RandomTree, dan RandomForest. Tujuan dari eksperimen ini adalah menentukan strategi data mining yang tepat untuk mendapatkan akurasi prediksi paling tinggi.

Transcript of Eksperimen Data Mining: Klasifikasi Pemesanan Barang Menggunakan Aplikasi Weka

  • TUGAS KELOMPOKTEKNOLOGI SISTEM BASIS DATA

    DATA MINING

    Amir Syafrudin - 1306346771Herid Febriadi - 1306340883

    Surya Tri Wardhana 1306347181

    MAGISTER TEKNOLOGI INFORMASI UNIVERSITAS INDONESIA

    2013

  • Daftar IsiA.Abstrak................................................................................................................................................................3B.Pendahuluan.......................................................................................................................................................4C.Landasan Teori.....................................................................................................................................................5

    C.1.Data Mining.................................................................................................................................................5C.2.Data (Input) Preprocessing..........................................................................................................................6C.3.Teknik Data mining.......................................................................................................................................6C.4.Pohon Keputusan (Decision Tree)................................................................................................................7C.5.C4.5.............................................................................................................................................................9C.6.Bagging........................................................................................................................................................9C.7.Random Forest............................................................................................................................................9C.8.Weka..........................................................................................................................................................10

    D.Material dan Metode........................................................................................................................................12D.1.Perangkat yang Digunakan........................................................................................................................12D.2.Sumber Data..............................................................................................................................................12D.3.Konversi CSV Ke ARFF................................................................................................................................13D.4.Resampling................................................................................................................................................15D.5.Pemilihan Algoritma Klasifikasi..................................................................................................................15D.6.Data (Input) Preprocessing........................................................................................................................17

    D.6.a.Membuang Atribut sessionNo...........................................................................................................17D.6.b.Membuang Atribut c*.......................................................................................................................17D.6.c.Membuang Atribut bMinPrice dan bMaxPrice..................................................................................18D.6.d.Menambahkan Atribut maxVal_bSumPrice.......................................................................................18D.6.e.Pemilihan Atribut Berdasarkan Peringkat..........................................................................................18D.6.f.Teknik Lainnya.....................................................................................................................................20

    D.7.Classification..............................................................................................................................................20D.8.Bagging......................................................................................................................................................20

    E.Analisis dan Hasil Eksperimen............................................................................................................................21E.1.Hasil Eksperimen.......................................................................................................................................21

    E.1.a.Membuang Atribut sessionNo...........................................................................................................21E.1.b.Membuang Atribut c*........................................................................................................................21E.1.c.Membuang Atribut bMinPrice dan bMaxPrice...................................................................................21E.1.d.Menambahkan Atribut maxVal_bSumPrice.......................................................................................21E.1.e.Membuang Atribut address...............................................................................................................22E.1.f.Membuang Atribut age.......................................................................................................................22E.1.g.Membuang Atribut customerScore....................................................................................................22E.1.h.Membuang Atribut onlineStatus.......................................................................................................22E.1.i.Membuang Atribut lastOrder.............................................................................................................22E.1.j.Bagging Di Langkah "Membuang Atribut c*"......................................................................................23E.1.k.Bagging Di Langkah "Membuang Atribut lastOrder"..........................................................................23

    E.2.Analisis Hasil Eksperimen...........................................................................................................................23F.Kesimpulan.........................................................................................................................................................26G.Daftar Pustaka...................................................................................................................................................27

    2

  • Daftar TabelTabel 1: Atribut-atribut pada transact_train.........................................................................................................12Tabel 2: Perbandingan Akurasi "Tanpa Bagging" dan "Dengan Bagging"..............................................................25

    Daftar GrafikGrafik 1: Persentase Akurasi Klasifikasi.................................................................................................................23

    Daftar GambarGambar 1: Rangkaian Proses Data Mining..............................................................................................................5Gambar 2: Contoh Tabel dengan Atribut dan Instance...........................................................................................7Gambar 3: Skema Dasar Pohon Keputusan.............................................................................................................8Gambar 4: Contoh Pohon Keputusan Kelayakan Kredit..........................................................................................8Gambar 5: Pengaturan Mode Pengujian...............................................................................................................16Gambar 6: Fitur Attribute Selection Aplikasi Weka...............................................................................................19

    3

  • A. AbstrakKebutuhan-kebutuhan untuk menganalisis data dalam jumlah besar, misalkan data dalam sebuah datawarehouse, tidak akan terpenuhi dengan hanya mengandalkan OLAP (Online Analytical Processing).Ada kalanya data perlu diekstrak untuk menemukan pola atau relasi di dalam data yang dapatdigunakan sebagai dasar untuk pengambilan keputusan. Proses ekstraksi pola atau relasi ini disebutdata mining. Salah satu metode dalam data mining adalah melakukan klasifikasi, yaitu melakukanprediksi berdasarkan model klasifikasi yang sudah dibuat sebelumnya.

    Eksperiman ini terkait dengan proses klasifikasi tersebut, yaitu untuk memprediksi apakah seorangpelanggan toko online akan melakukan pemesanan atau tidak. Data yang dibutuhkan dalameksperimen ini diambil dari salah satu task dalam Data Mining Cup (DMC) 2013. Tujuan utama darieksperimen ini adalah untuk menemukan berbagai strategi yang dapat diterapkan untuk mendapatkanakurasi prediksi yang tinggi.

    4

  • B. PendahuluanKemajuan teknologi informasi dan komputer telah menyediakan fasilitas penyimpanan data dalamformat elektronik sehingga proses penyimpanan data menjadi lebih mudah dan efisien. Hal inimengakibatkan kuantitas data yang disimpan pun mengalami peningkatan yang sangat cepat. Jumlahdata ini yang terus menerus bertambah ini membuat proses eksplorasi data dalam menentukan relasiantara bagian data yang satu dengan yang lain menjadi sangat lambat dan cenderung tidak akurat.

    Untuk menemukan pola atau relasi yang ada di dalam sekumpulan data ini, kita dapat menggunakanteknik-teknik data mining. Implementasi dari teknik-teknik data mining ini difokuskan untukmembangun mengungkapkan pola atau relasi yang ada di dalam sekumpulan data. Pola atau relasiyang berhasil ditemukan dapat digunakan untuk membuka informasi yang tersembunyi (implisit) didalam data. Informasi implisit ini umumnya memiliki nilai yang tinggi dan dapat digunakan, misalnya,dalam proses pengambilan keputusan.

    Data mining merupakan teknologi yang sangat berguna untuk membantu menemukan informasiimplisit yang bernilai penting itu. Banyak pertanyaan-pertanyaan seputar bisnis yang, bila dijawabdengan metode eksplorasi data secara tradisional, dapat menghabiskan banyak waktu dan biaya. Adakalanya bahkan metode-metode tradisional itu tidak dapat menjawab pertanyaan-pertanyaan bisnisyang kompleks. Sebaliknya berbagai teknik data mining dapat digunakan untuk menganalisa tren danperilaku faktor-faktor terkait yang dapat dijadikan dasar dalam pengambilan keputusan bisnis.

    Salah satu contoh penerapan data mining ini adalah untuk memprediksi apakah seorang pelanggantoko online akan melakukan pemesanan atau tidak. Teknik-teknik data mining dapat dilakukanterhadap data yang merepresentasikan perilaku pelanggan, misalnya produk yang dia klik atau produkyang ada di dalam keranjang belanjanya, untuk memprediksi kemungkinan pemesanan yang dilakukanpelanggan tersebut. Akurasi hasil prediksi ini dapat membantu pemilik/pengelola toko online untukmengambil berbagai keputusan bisnis antara lain untuk menentukan target promosi produk-produkbaru atau untuk menemukan pelanggan yang layak diberi diskon.

    5

  • C. Landasan TeoriC.1. Data MiningData mining adalah serangkaian proses untuk menggali nilai tambah berupa informasi yang selama initidak diketahui secara manual dari suatu basis data. Informasi yang dihasilkan diperoleh dengan caramengekstraksi dan mengenali pola yang penting atau menarik dari data yang terdapat dalam basisdata. Data mining adalah proses yang menggunakan teknik statistik, matematika, kecerdasan buatan,dan machine learning untuk mengekstraksi dan mengidentifikasi informasi yang bermanfaat danpengetahuan yang terkait dari berbagai database besar.

    Data mining bukanlah suatu bidang yang sama sekali baru. Salah satu kesulitan untuk mendefinisikandata mining adalah kenyataan bahwa data mining mewarisi banyak aspek dan teknik dari bidang-bidang ilmu yang sudah mapan terlebih dulu. Berawal dari beberapa disiplin ilmu, data miningbertujuan untuk memperbaiki teknik tradisional sehingga bisa menangani:

    jumlah data yang sangat besar,

    dimensi data yang tinggi,

    data yang heterogen dan berbeda sifat,

    Data mining merupakan sebuah analisa dari observasi data dalam jumlah besar untuk menemukanhubungan yang tidak diketahui sebelumnya dan metode baru untuk meringkas data agar mudahdipahami serta kegunaannya untuk pemilik data.

    Data yang tersedia tidak dapat langsung diolah menggunakan teknik data mining. Data tersebut harusdipersiapkan terlebih dahulu agar hasil yang diperoleh dapat lebih maksimal dan waktu komputasinyalebih minimal. Adapun tahapan-tahapan yang harus dilalui dalam proses data mining antara lain:

    Pembersihan data (untuk membuang data yang tidak konsisten dan noise)

    Integrasi data (penggabungan data dari beberapa sumber)

    Transformasi data (data diubah menjadi bentuk yang sesuai untuk di-mining)

    Proses dalam data mining itu sendiri dapat digambarkan sebagai rangkaian proses iteratif berikut:

    Gambar 1: Rangkaian Proses Data Mining

    6

  • C.2. Data (Input) PreprocessingData Preprocessing adalah serangkaian proses yang dilakukan terhadap sumber data sebelum sumberdata tersebut melewati proses data mining. Proses ini pada dasarnya dilakukan untuk meningkatkankualitas sumber data. Perbaikan terhadap kualitas sumber data ini diharapkan dapat meningkatkankualitas hasil proses data mining itu sendiri. Selain itu, waktu eksekusi proses data mining itu sendiripun dapat dipercepat.

    Yang dapat dilakukan dalam data preprocessing ini antara lain:

    membuang data yang duplikat,

    mengisi nilai yang hilang dengan nilai pengganti tertentu, atau

    mengatur sebaran nilai agar seragam (menggunakan nilai minimal dan maksimal yang sama).

    Masih banyak lagi teknik data preprocessing yang dapat dilakukan. Pada intinya proses ini mencobamengolah data untuk meningkatkan kualitasnya sehingga dapat mempercepat dan meningkatkankualitas dari proses data mining. Walaupun begitu, tidak semua teknik dalam data preprocessingharus dilakukan. Pemilihan teknik data preprocessing yang tidak tepat justru akan mengakibatkan hasilproses data mining menjadi lebih buruk.

    C.3. Teknik Data miningAda tiga teknik data mining yang popular, yaitu :

    1. Association Rule Mining.

    Association rule mining adalah teknik untuk menemukan aturan asosiatif antara atribut-atributdalam suatu kombinasi atribut. Contoh dari aturan asosiatif adalah analisa pembelian di suatupasar swalayan untuk mengetahui berapa besar kemungkinan seorang pelanggan membeli rotisaat pelanggan ini membeli susu. Dengan pengetahuan tersebut pemilik pasar swalayan dapatmengatur penempatan barangnya atau merancang strategi pemasaran dengan memakai kupondiskon untuk kombinasi barang tertentu.

    2. Classification (Klasifikasi).

    Klasifikasi adalah proses untuk menemukan model yang membedakan konsep atau kelas datadengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidakdiketahui. Model itu sendiri bisa berupa aturan jika-maka, berupa pohon keputusan, rumusmatematika atau neural network. Proses klasifikasi biasanya dibagi menjadi dua fase: learningdan testing. Pada fase learning, sebagian data yang telah diketahui kelasnya digunakan untukmembentuk model perkiraan. Pada fase testing, model yang sudah terbentuk itu diuji dengansebagian data lainnya untuk mengetahui akurasi dari model tersebut. Bila akurasinyamencukupi, maka model tersebut dapat digunakan untuk memprediksi kelas data untuk datalain yang belum diketahui.

    3. Clustering.

    Berbeda dengan association rule mining dan klasifikasi yang memerlukan kelas data yangsudah ditentukan sebelumnya, clustering justru melakukan pengelompokan tanpa acuan kelas

    7

  • data tertentu. Dengan begitu, clustering dapat dipakai untuk memberikan label pada kelas datayang belum diketahui. Oleh karena itu clustering sering disebut sebagai metode unsupervisedlearning. Prinsip dari clustering adalah memaksimalkan kesamaan antar anggota di dalam satukelas dan meminimalkan kesamaan antara anggota dalam kelas data yang berbeda.

    C.4. Pohon Keputusan (Decision Tree)Salah satu teknik classification yang umum digunakan adalah pohon keputusan. Metode pohonkeputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikansebuah aturan untuk pengambilan keputusan. Pohon keputusan adalah salah satu metode klasifikasiyang paling popular karena mudah dimengerti oleh manusia. Konsep dari pohon keputusan adalahmengubah data menjadi pohon keputusan dan aturan-aturan keputusan.

    Data dalam pohon keputusan biasanya dinyatakan dalam bentuk tabel dengan sekumpulan attribute(atribut) dan instance. Atribut menyatakan kriteria-kriteria yang digunakan dalam pembentukanpohon keputusan. Misalkan untuk menentukan apakah seseorang layak diberikan kredit (keputusankelayakan kredit), kriteria yang diperhatikan adalah jenis pekerjaan dan jumlah penghasilan. Salah satuatribut merupakan atribut yang menyatakan data solusi (keputusan yang diambil) yang disebut denganatribut target (atribut kelas). Atribut-atribut ini memiliki nilai-nilai yang dinamakan dengan instance.Bila diumpamakan dengan tabel, maka yang dimaksud dengan atribut adalah kolom-kolom pada tabeldan setiap baris data pada tabel itu disebut instance.

    Gambar 2: Contoh Tabel dengan Atribut dan Instance

    Proses pada pohon keputusan diawali dengan mengubah bentuk data (tabel) menjadi model pohon,mengubah model pohon menjadi sekumpulan aturan, dan menyederhanakan aturan-aturan tersebut.Pohon keputusan ini mampu memecah proses pengambilan keputusan yang kompleks menjadi lebihsederhana sehingga pengambil keputusan akan lebih mudah memahami solusi dari sebuah masalah.Pohon keputusan ini juga berguna untuk menelusuri data dan menemukan hubungan tersembunyiantara sekumpulan variabel masukan (atribut) dengan sebuah variabel tujuan (atribut target).

    Seperti yang disebutkan di atas, pohon keputusan merupakan sekumpulan aturan, yaitu aturan-aturanJIKA-MAKA. Setiap alur dalam pohon dihubungkan dengan sebuah aturan, di mana premis terdiri atassekumpulan simpul (node) yang ditemui dan kesimpulan yang diambil dari aturan itu merupakan kelasyang terhubung dengan daun (leaf) dari alur yang dilewati.

    Gambar 3 memperlihatkan skema dasar pohon keputusan yang mempunyai 3 (tiga) tipe simpul yaitu:

    1. Simpul akar (Root): tidak memiliki cabang yang masuk dan memiliki lebih dari satu cabang.Simpul ini biasanya berupa atribut yang paling memiliki pengaruh terbesar pada atribut target.

    2. Simpul internal (Internal Node): memiliki 1 (satu) cabang yang masuk dan memiliki lebih dari 1(satu) cabang yang keluar.

    8

  • 3. Simpul daun (Leaf): hanya memiliki 1 cabang yang masuk dan tidak memiliki cabang samasekali. Hal ini menandakan bahwa simpul tersebut merupakan kelas (target).

    Gambar 3: Skema Dasar Pohon Keputusan

    Pengujian pertama dilakukan pada simpul akar. Hasil pengujian tersebut akan menentukan simpulinternal berikutnya yang diuji. Hasil pengujian simpul internal tersebut akan menentukan simpulinternal berikutnya yang diuji. Proses ini akan berjalan secara berulang sampai sebuah simpul daunditemukan. Proses ini merupakan strategi pencarian top-down (dari atas ke bawah) untuk menemukansolusinya. Nilai atribut akan diuji pada pohon keputusan dengan cara melacak alur dari titik akarsampai titik akhir (simpul daun) untuk memprediksi nilai dari atribut target pada instance terkait.

    Berikut contoh penerapan pohon keputusan dalam memprediksi kelayakan kredit:

    Gambar 4: Contoh Pohon Keputusan Kelayakan Kredit

    Dari pohon yang ada dalam Gambar 4, layak atau tidak layaknya permohonan kredit seseorang dapatdiputuskan. Misalnya dapat kita lihat bahwa pemohon yang penghasilannya sama dengan 2x s.d. 3xangsuran dan kepemilikan rumahnya milik sendiri diputuskan sebagai pemohon yang layak menerimakredit.

    9

  • C.5. C4.5Algoritma C4.5 adalah salah satu algoritma yang dapat digunakan untuk membangun sebuah pohonkeputusan. Algoritma ini membangun pohon keputusan tersebut dengan mengacu pada nilai entropiinformasi dari data yang ada. Yang dimaksud dengan entropi adalah distribusi probabilitas dalam teoriinformasi dan diadopsi ke dalam algoritma C4.5. Entropi menjadi tolok ukur untuk mengukur tingkathomogenitas distribusi kelas dari sebuah himpunan data (data set). Sebagai ilustrasi, semakin tinggitingkat entropi dari sebuah himpunan data, semakin homogen distribusi kelas pada himpunan datatersebut.

    Pada algoritma C4.5, pemilihan atribut yang akan menempati suatu simpul dilakukan dengan mencarinilai perhitungan entropi informasi (information entropy) yang paling rendah. Pemilihan atribut inimengacu pada asumsi bahwa kompleksitas yang dimiliki oleh pohon keputusan sangat berkaitan eratdengan jumlah informasi yang diberikan oleh nilai-nilai atributnya. Dengan kata lain, teknik heuristisberbasis informasi ini memilih atribut yang memberikan perolehan informasi terbesar (highestinformation gain) dalam menghasilkan subpohon (subtree) untuk mengklasifikasikan sampel.

    Setelah membagi data set berdasarkan sebuah atribut ke dalam subset yang lebih kecil, entropi datatersebut akan berubah. Perubahan entropi ini dapat digunakan untuk menentukan bagus tidaknyapembagian data yang telah dilakukan. Perubahan entropi ini yang disebut dengan information gain.Information gain ini diukur dengan menghitung selisih antara entropi data set sebelum dan sesudahpembagian (splitting) dilakukan. Pembagian yang terbaik akan menghasilkan entropi subset yangpaling kecil dan atribut terkait dikatakan memiliki information gain yang terbesar. Proses ini akandilakukan secara berulang untuk seluruh atribut yang ada di dalam data set.

    C.6. BaggingBagging adalah singkatan dari bootstrap aggregating. Metode ini pada dasarnya melakukan prosesklasifikasi yang sama sebanyak k kali. Sumber data training yang digunakan di setiap iterasi merupakanhasil random resampling dari sumber data training. Dengan begitu, sumber data training yangdigunakan di masing-masing iterasi tidak selalu sama.

    Setiap hasil klasifikasi dari masing-masing iterasi akan dianggap sebagai vote. Hasil klasifikasi yangdipilih di akhir proses bagging ini ditentukan oleh jumlah vote terbanyak dari k klasifikasi yang sudahdilakukan. Penentuan hasil klasifikasi berdasarkan jumlah vote terbanyak ini disebut dengan istilahmajority votes.

    Bagging diharapkan dapat meningkatkan akurasi proses data mining dengan asumsi bahwa akurasidari klasifikasi berulang akan lebih handal bila dibandingkan dengan akurasi dari klasifikasi tunggal. Halini dapat diibaratkan dengan seorang pasien yang sedang berobat. Pasien yang berkonsultasi denganbanyak dokter diasumsikan akan memperoleh diagnosa yang lebih valid bila dibandingkan denganpasien yang berkonsultasi hanya dengan 1 (satu) dokter.

    C.7. Random ForestRandom Forest adalah algoritma klasifikasi yang serupa dengan bagging. Perbedaannya adalah padarandom forest dilakukan proses random feature selection, yaitu proses pemilihan atribut secara acakdi setiap iterasi pembuatan pohon. Kompilasi dari banyak pohon yang dibangun ini pada akhirnya

    10

  • membentuk hutan (forest).

    Pada data set yang terdiri atas N instance dan M atribut, algoritma random forest dilakukan denganlangkah-langkah sebagai berikut:

    1. Lakukan penarikan contoh secara acak sejumlah n dari data set (N). Tahap ini adalah tahapbootstrap.

    2. Dengan menggunakan hasil bootstrap, pohon kemudian dibangun sampai mencapai ukuranmaksimum (tanpa pemangkasan). Pada setiap simpul, pemilihan atribut pemilah dilakukandengan memilih m atribut secara acak dengan m

  • atribut 1 pada data training akan dicocokan dengan tipe atribut 1 pada data test, tipe atribut 2pada data training akan dicocokan dengan tipe atribut 2 pada data test, dan seterusnya. Bilapada saat pencocokan ini ditemukan pasangan atribut yang tipenya berbeda, misalnya atribut2 pada data training adalah nominal dan atribut 2 pada data test adalah numerik, maka kondisiini dianggap tidak kompatibel oleh Weka.

    Variasi dan urutan nilai pada atribut nominal yang bersesuaian berbeda.

    Khusus untuk atribut dengan tipe nominal, Weka akan memeriksa variasi dan urutan nilai-nilaiyang ada di dalam atribut tersebut. Dengan format CSV, urutan nilai-nilai tersebut ditentukanWeka sesuai dengan urutan ditemukannya nilai-nilai tersebut di dalam data, sehingga variasidan urutannya bisa jadi berbeda untuk data training dan data test. Contohnya sebuah atributnominal pada data training ditentukan memiliki variasi dan urutan nilai {3, 1, 2, 4}, sementaraatribut nominal yang bersesuaian pada data test memiliki variasi dan urutan nilai {1, 2, 3, 4}.Kondisi ini dianggap tidak kompatibel oleh Weka.

    Untuk mengatasi masalah kompatibilitas, data yang ada dalam format CSV perlu diubah ke dalamformat ARFF [1]. Format ARFF ini memiliki 2 (dua) kelebihan bila dibandingkan dengan format CSV,yaitu:

    Tipe (numerik atau nominal) atribut dapat ditentukan secara langsung.

    Kemungkinan nilai (variasi dan urutan) dalam atribut bertipe nominal pun dapat ditentukansecara langsung.

    Dengan 2 (dua) kelebihan tersebut, tipe, variasi, dan urutan nilai pada atribut yang bersesuaian dapatdicocokan agar sama sehingga masalah kompatibilitas dapat dihindari.

    12

  • D. Material dan MetodeD.1. Perangkat yang DigunakanSpesifikasi perangkat yang digunakan untuk melakukan eksperimen ini:

    Perangkat Lunak: Weka 3.6.10, LibreOffice Calc 4.1.1.2

    Sistem Operasi: Windows 8 64-bit

    RAM: 4 GB

    Processor: AMD x4 Quad-Core 1 GHz

    D.2. Sumber DataData yang digunakan untuk eksperimen ini adalah data yang sama yang digunakan dalam Data MiningCup (DMC) Competition tahun 2013. Data ini merepresentasikan transaksi pemesanan barang yangdilakukan oleh para pelanggan sebuah toko online. Data ini terbagi menjadi 2 (dua) jenis data, yaitu:

    Data training (untuk selanjutnya disebut transact_train).

    Data ini merupakan data aktivitas pelanggan di toko online terkait beserta riwayat pemesananyang sudah dilakukan oleh pelanggan tersebut. Data ini terdiri dari 429.013 instance.

    Data test (untuk selanjutnya disebut transact_class).

    Data ini merupakan data aktivitas pelanggan di toko online terkait tanpa dilengkapi riwayatpemesanan. Data ini terdiri dari 45.068 instance.

    transact_train memiliki 24 atribut sebagai berikut:Tabel 1: Atribut-atribut pada transact_train

    No. Atribut Deskripsi

    1. sessionNo Urutan sesi aktivitas pelanggan

    2. startHour Jam mulainya setiap sesi

    3. startWeekday Hari (Senin s.d. Minggu) mulainya setiap sesi

    4. duration Durasi setiap sesi (dalam detik)

    5. cCount Jumlah produk yang diklik selama sesi berlangsung

    6. cMinPrice Harga paling murah dari produk yang diklik selama sesi berlangsung

    7. cMaxPrice Harga paling mahal dari produk yang diklik selama sesi berlangsung

    8. cSumPrice Total harga dari produk-produk yang diklik selama sesi berlangsung

    9. bCount Jumlah produk yang ada di dalam keranjang belanja

    10. bMinPrice Harga paling murah dari produk yang ada di dalam keranjang belanja

    11. bMaxPrice Harga paling mahal dari produk yang ada di dalam keranjang belanja

    13

  • No. Atribut Deskripsi

    12. bSumPrice Total harga dari produk-produk yang ada di dalam keranjang belanja

    13. bStep Langkah pemrosesan pesanan pelanggan

    14. onlineStatus Indikator online atau tidaknya pelanggan

    15. availability Status bisa atau tidaknya produk terkait dipesan oleh pelanggan

    16. customerID Nomor identitas pelanggan di toko online

    17. maxVal Batas maksimal total harga beli yang diperbolehkan untuk pelanggan

    18. customerScore Nilai evaluasi pelanggan dari sudut pandang toko

    19. accountLifetime Lama berlakunya akun pelanggan (dalam bulan)

    20. payments Jumlah pembayaran yang pernah dilakukan pelanggan

    21. age Usia pelanggan

    22. address Alamat yang dituju

    23. lastOrder Durasi sejak pembelian terakhir (dalam hari)

    24. order Hasil akhir dari sesi: pesan atau tidak pesan

    Dari 24 atribut yang dijelaskan pada Tabel 1, atribut order merupakan atribut klasifikasi yang akandigunakan sebagai target proses data mining (target prediksi) yang akan digunakan dalam eksperimenini. Dengan begitu, transact_class, yang nantinya akan digunakan dalam tahap evaluasi proses datamining, hanya memiliki 23 atribut dari 24 atribut yang dimiliki oleh transact_train, yaitu dari atributsessionNo s.d. atribut lastOrder.

    Untuk memudahkan eksperimen ini, atribut order yang terpisah itu disatukan terlebih dahulu kedalam transact_class. Metode untuk membentuk transact_class yang lengkap dengan atribut order inidilakukan dengan memanfaatkan fungsi VLOOKUP yang tersedia di LibreOffice Calc. Dengan begitu,transact_class yang digunakan dalam eksperimen ini pun memiliki 24 atribut yang sama dengantransact_train. transact_class yang sudah dilengkapi atribut order ini untuk selanjutnya disebut tcreal.tcreal ini yang akan digunakan sebagai data test dalam eksperimen ini (menggantikan transact_class).

    D.3. Konversi CSV Ke ARFFSumber data untuk eksperimen ini, yaitu transact_train dan tcreal, tersedia dalam format CSV. Untukmenghindari masalah kompatibilitas, kedua sumber data tersebut akan diubah formatnya dari CSVmenjadi ARFF. Konfigurasi atribut (tipe, variasi, dan urutan nilai) yang digunakan setelah mengalamiperubahan format adalah sebagai berikut:@attribute sessionNo numeric@attribute startHour {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23}@attribute startWeekday {1,2,3,4,5,6,7}@attribute duration numeric@attribute cCount numeric@attribute cMinPrice numeric

    14

  • @attribute cMaxPrice numeric@attribute cSumPrice numeric@attribute bCount numeric@attribute bMinPrice numeric@attribute bMaxPrice numeric@attribute bSumPrice numeric@attribute bStep {1,2,3,4,5}@attribute onlineStatus {y,n}@attribute availability {'completely orderable','completely not orderable','mainly orderable',mixed,'mainly not orderable','completely not determinable','mainly not determinable'}@attribute customerNo numeric@attribute maxVal numeric@attribute customerScore numeric@attribute accountLifetime numeric@attribute payments numeric@attribute age numeric@attribute address {1,2,3}@attribute lastOrder numeric@attribute order {y,n}

    Yang tercantum di atas adalah format definisi atribut yang digunakan format ARFF (tercantum dibagian header), yaitu:@attribute [nama_atribut] [tipe_atribut]

    [tipe_atribut] yang berisi numeric menandakan bahwa atribut tersebut bertipe numerik,sementara [tipe_atribut] yang berisi {[nilai1], [nilai2], ..., [nilaiN]} menandakanbahwa atribut tersebut bertipe nominal dengan variasi dan urutan nilai: [nilai1], [nilai2], danseterusnya hingga [nilaiN].

    Sesuai konfigurasi atribut di atas, transact_train dan tcreal yang digunakan dalam eksperimen ini akanmemiliki 7 (tujuh) atribut yang bersifat nominal, yaitu:

    startHour,

    dengan kemungkinan nilai {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,21, 22, 23},

    startWeekday,

    dengan kemungkinan nilai {1, 2, 3, 4, 5, 6, 7},

    bStep,

    dengan kemungkinan nilai {1, 2, 3, 4, 5},

    onlineStatus,

    dengan kemungkinan nilai {y, n},

    availability,

    dengan kemungkinan nilai {'completely orderable', 'completely not orderable', 'mainlyorderable', mixed, 'mainly not orderable', 'completely not determinable', 'mainly not

    15

  • determinable'},

    address,

    dengan kemungkinan nilai {1, 2, 3}, dan

    order,

    dengan kemungkinan nilai {y, n}.

    4 (empat) 7 (tujuh) atribut di atas, yaitu startHour, startWeekday, bStep, dan address, awalnya bertipenumerik. Keempat atribut tersebut sengaja diubah menjadi bertipe nominal karena nilai-nilainyamerepresentasikan nilai-nilai diskrit dan bukan sebaran nilai dari nilai paling rendah hingga palingtinggi layaknya atribut bertipe numerik.

    Proses merubah atribut yang bertipe numerik menjadi bertipe nominal tersebut merupakan prosesDiscretization yang umum dilakukan pada tahap preprocessing. Walaupun begitu, untuk 4 (empat)atribut di atas, proses Discretization ini kami lakukan di awal karena karakteristik nilai-nilainya sudahdapat diidentifikasi sejak awal.

    D.4. ResamplingResampling ini pada dasarnya dilakukan untuk memperoleh sebagian data dari data keseluruhan.Alasan utama melakukan resampling dalam eksperimen ini adalah karena spesifikasi perangkat yangdigunakan tidak memadai untuk mengolah data keseluruhan. Dengan begitu, untuk mendapatkankinerja eksperimen yang optimal, resampling dilakukan terhadap data keseluruhan. Data hasilresampling ini diharapkan representatif terhadap data keseluruhan.

    Data yang perlu melalui proses resampling adalah transact_train. Resampling akan menghasilkanjumlah data sebanyak 20% dari total data di dalam transact_train, yaitu sebanyak 85.802 instance.Data hasil resampling ini untuk selanjutnya disebut train20. train20 ini yang akan digunakan sebagaidata training dalam eksperimen ini (menggantikan transact_train).

    D.5. Pemilihan Algoritma KlasifikasiSebelum sumber data diproses lebih lanjut, beberapa algoritma akan diuji coba terhadap sumber datapada eksperimen ini. Hal ini dilakukan untuk menentukan apakah ada algoritma yang lebih cocokuntuk mengolah sumber data pada eksperimen ini atau tidak. Algoritma yang diuji coba (denganmenggunakan aplikasi Weka) adalah:

    1. ADTree,

    2. J48 (implementasi C4.5 di Weka),

    3. RandomTree, dan

    4. RandomForest.

    Uji coba ini dilakukan dengan 2 (dua) mode pengujian, yaitu:

    a) Percentage Split 80

    Yang dimaksud dengan percentage split 80 adalah mode pengujian yang menggunakan 20%

    16

  • dari data training sebagai data test. Jadi dengan mode pengujian ini, data training yangdigunakan adalah 80% dari train20, sementara data test yang digunakan adalah 20% daritrain20; bukan tcreal.

    b) Supplied Test Set

    Yang dimaksud dengan supplied test set adalah mode pengujian yang menggunakan sumberdata yang berbeda sebagai data test. Jadi dengan mode pengujian ini, data training yangdigunakan tetap train20 dan data test yang digunakan tetap tcreal.

    Mode pengujian ini dapat diatur di bagian Classify pada aplikasi Weka sebagaimana dapat dilihat padaGambar 5.

    Hasil pengujian dari algoritma-algoritma yang disebutkan di atas dengan menggunakan aplikasi Wekaadalah sebagai berikut:

    1. ADTree

    a) Percentage Split 80Correctly Classified Instances 12653 73.7354 %Incorrectly Classified Instances 4507 26.2646 %

    b) Supplied Test SetCorrectly Classified Instances 33458 74.2389 %Incorrectly Classified Instances 11610 25.7611 %

    2. J48

    a) Percentage Split 80Correctly Classified Instances 12646 73.6946 %Incorrectly Classified Instances 4514 26.3054 %

    b) Supplied Test SetCorrectly Classified Instances 30135 66.8656 %Incorrectly Classified Instances 14933 33.1344 %

    3. RandomTree

    a) Percentage Split 80Correctly Classified Instances 13621 79.3765 %Incorrectly Classified Instances 3539 20.6235 %

    b) Supplied Test SetCorrectly Classified Instances 27435 60.8747 %Incorrectly Classified Instances 17633 39.1253 %

    17

    Gambar 5: Pengaturan Mode Pengujian

  • 4. RandomForest

    a) Percentage Split 80Correctly Classified Instances 14234 82.9487 %Incorrectly Classified Instances 2926 17.0513 %

    b) Supplied Test SetCorrectly Classified Instances 29916 66.3797 %Incorrectly Classified Instances 15152 33.6203 %

    Hasil eksperimen di atas menunjukan bahwa algoritma yang paling konsisten saat diuji dengan modepercentage split 80 dan supplied test set adalah ADTree dan J48. Oleh karena itu, proses data miningdi tahap selanjutnya dalam eksperimen ini hanya akan menggunakan ADTree dan J48.

    Perlu ditegaskan di sini bahwa algoritma RandomForest di aplikasi Weka merupakan implementasialgoritma Random Forest (dengan pengertian yang lebih umum) yang menggunakan algoritmaklasifikasi RandomTree secara berulang. Oleh karena itu, walaupun RandomForest tidak menghasilkanakurasi yang lebih baik dari ADTree dan J48, algoritma ini tetap mampu meningkatkan akurasi dariproses internalnya, yaitu RandomTree. Ini membuktikan bahwa proses klasifikasi yang dilakukansecara berulang, seperti halnya bagging dan random forest, dapat meningkatkan akurasi klasifikasi.

    D.6. Data (Input) Preprocessing

    D.6.a.Membuang Atribut sessionNoSatu langkah mendasar yang perlu dilakukan pada tahap data preprocessing adalah membuang semuaatribut yang bersifat unik dan tidak informatif. Di dalam sumber data pada eksperimen ini, atributyang bersifat unik dan tidak informatif itu adalah sessionNo. Atribut sessionNo ini hanya berfungsisebagai pembeda antara satu sesi browsing dengan sesi browsing yang lain.

    Atribut seperti ini sudah bisa dipastikan tidak memiliki nilai perolehan informasi (information gain)yang tinggi atau dapat dikatakan tidak memiliki nilai perolehan informasi sama sekali. Bila atribut initetap diikutkan dalam proses data mining, khususnya dalam pembentukan pohon keputusan (decisiontree), maka pohon yang terbentuk akan berisi simpul (node) yang salah. Oleh karena itu, dalameksperimen ini, atribut sessionNo akan dibuang.

    D.6.b.Membuang Atribut c*Atribut-atribut yang dianggap tidak relevan juga perlu dibuang dari sumber data. Prinsipnya hampirsama dengan Membuang Atribut sessionNo, yaitu untuk membersihkan sumber data dari atribut-atribut yang dianggap tidak memiliki nilai perolehan informasi yang tinggi. Atribut-atribut tersebutadalah atribut c*, yaitu cCount, cMinPrice, cMaxPrice, dan cSumPrice.

    Atribut-atribut tersebut merepresentasikan riwayat klik di setiap sesi browsing masing-masingpelanggan. Mengacu pada deskripsi atribut yang tercantum pada Tabel 1, cCount adalah data jumlahproduk yang diklik selama sesi berlangsung, cMinPrice adalah harga paling murah dari produk-produkyang diklik, cMaxPrice adalah kebalikan dari cMinPrice (harga paling mahal), dan cSumPrice adalahtotal harga produk-produk yang diklik.

    Di dalam eksperimen ini, diasumsikan bahwa riwayat klik tidak mempengaruhi keputusan seorang

    18

  • pelanggan untuk memesan atau tidak memesan suatu barang. Hal ini bertolak belakang dengan datariwayat barang yang masuk ke dalam keranjang belanja seperti bCount, bMinPrice, bMaxPrice, danbSumPrice. Dengan dasar pemikiran ini, atribut-atribut c* akan dibuang dari sumber data.

    D.6.c.Membuang Atribut bMinPrice dan bMaxPriceDalam eksperimen ini, atribut b* (bCount, bMinPrice, bMaxPrice, dan bSumPrice) dianggap memilikinilai perolehan informasi yang tinggi. Akan tetapi, tidak semua atribut b* dianggap relevan dalameksperimen ini. 2 (dua) di antaranya, yaitu bMinPrice dan bMaxPrice, diasumsikan memiliki nilaiperolehan informasi yang rendah.

    Asumsi di atas didasari oleh pemikiran yang sejenis dengan langkah Membuang Atribut c*. Asumsiyang digunakan adalah bahwa harga paling rendah dan harga paling tinggi dari produk yang ada dikeranjang belanja seorang pelanggan itu tidak relevan dalam menentukan apakah pelanggan itu akanmemesan atau tidak. Yang perlu diperhatikan adalah informasi terkait berapa banyak barang yang adadi dalam keranjang belanja tersebut (atribut bCount) dan berapa total harga barang di dalamkeranjang belanja tersebut (atribut bSumPrice). Oleh karena itu, atribut bMinPrice dan atributbMaxPrice akan dibuang dari sumber data, sementara atribut bCount dan atribut bSumPrice tetapdisertakan dalam sumber data.

    D.6.d.Menambahkan Atribut maxVal_bSumPriceData preprocessing tidak selalu berarti membuang atribut yang tidak relevan. Di sisi lain, tahap datapreprocessing ini juga termasuk menambahkan atribut-atribut baru yang dianggap lebih relevan(memiliki nilai perolehan informasi yang lebih tinggi dari atribut-atribut yang ada). Atribut-atribut baruyang dapat ditambahkan ke dalam sumber data dapat diambil dari berbagai sumber, baik dari sumbereksternal yang terkait dengan sumber data yang ada atau dari atribut-atribut yang sudah ada di dalamsumber data itu sendiri.

    Dalam eksperimen ini, atribut baru yang dapat ditambahkan adalah atribut yang merepresentasikanapakah isi keranjang belanja seorang pelanggan melebihi batas maksimal pemesanan yang boleh dialakukan atau tidak. Untuk mendapatkan atribut ini, kita harus mengurangi nilai atribut maxVal dengannilai atribut bSumPrice untuk masing-masing instance dalam sumber data. Bila atribut baru ini kitaberi nama maxVal_bSumPrice, maka:

    maxVal_bSumPrice = maxVal bSumPrice

    Dengan adanya atribut maxVal_bSumPrice ini, atribut maxVal dan atribut bSumPrice itu sendiridiasumsikan tidak lagi relevan untuk disertakan. Dengan begitu, penambahan atribut baru ini disertaijuga dengan dibuangnya atribut maxVal dan bSumPrice.

    D.6.e.Pemilihan Atribut Berdasarkan PeringkatSelain melakukan analisis relevansi atribut secara manual (berdasarkan pemahaman terhadap data),eksperimen ini juga menggunakan fitur Attribute Selection yang tersedia pada aplikasi Weka. Fitur inidapat diakses di bagian Select attributes seperti yang dapat dilihat pada Gambar 6. Fitur ini dilengkapidengan pilihan Attribute Evaluator dan Search Method yang harus ditentukan terlebih dahulu sebelumfitur ini dapat digunakan untuk melakukan analisis relevansi atribut.

    19

  • Dalam eksperimen ini, Attribute Evaluator yang digunakan adalah InfoGainAttributeEval dan SearchMethod yang digunakan adalah Ranker. Kedua pilihan ini pada dasarnya ditujukan untuk menentukanperingkat dari semua atribut (yang tersisa) pada sumber data (selain atribut target) berdasarkan nilaiperolehan informasi yang dimiliki masing-masing atribut.

    Hasil pemeringkatan yang dilakukan dengan InfoGainAttributeEval + Ranker adalah sebagai berikut:

    1. bCount

    2. duration

    3. customerNo

    4. maxVal_bSumPrice

    5. startHour

    6. bStep

    7. accountLifetime

    8. availability

    9. payments

    10. startWeekday

    11. lastOrder

    12. onlineStatus

    13. customerScore

    14. age

    15. address

    Pemeringkatan atribut ini menunjukan urutan nilai perolehan informasi masing-masing atribut; mulaidari yang paling tinggi hingga yang paling rendah. Pemeringkatan ini dapat membantu menentukanatribut selanjutnya yang dapat dibuang dari sumber data, yaitu atribut dengan nilai perolehaninformasi paling rendah.

    Dengan mempertimbangkan bahwa proses data mining yang baik itu membutuhkan paling sedikit 10atribut [6], maka 5 (lima) atribut lain yang dapat dibuang untuk meningkatkan kualitas hasil prosesdata mining adalah:

    1. address,

    20

    Gambar 6: Fitur Attribute Selection Aplikasi Weka

  • 2. age,

    3. customerScore,

    4. onlineStatus, dan

    5. lastOrder.

    Atribut-atribut di atas akan dibuang satu per satu dari sumber data. Hal ini dilakukan untuk melihatdampak dari dibuangnya masing-masing atribut terhadap baik atau buruknya hasil proses data miningyang akan dilakukan.

    D.6.f. Teknik LainnyaBeberapa teknik lain yang dapat dimanfaatkan dalam tahap data preprocessing, tapi tidak digunakandalam eksperimen ini adalah:

    Normalisasi (Normalization)

    Teknik ini dilakukan untuk membuat agar sebaran dari dua atau lebih atribut yang bertipenumerik dalam sumber data itu dapat disandingkan. Dalam eksperimen ini tidak ditemukanatribut-atribut numerik yang memenuhi kriteria tersebut, sehingga Normalisasi pun tidakdilakukan dalam eksperimen ini.

    Mengganti Nilai yang Hilang (Replace Missing Value)

    Hal ini dilakukan untuk mengisi nilai-nilai yang hilang di setiap atribut yang ada di dalamsumber data. Aplikasi Weka memiliki fitur ReplaceMissingValue yang berfungsi untuk mengisinilai-nilai yang hilang pada atribut sesuai dengan tipenya. Untuk atribut bertipe numerik, nilaiyang hilang akan diganti dengan nilai mean pada atribut tersebut. Untuk atribut bertipenominal, nilai yang hilang akan diganti dengan nilai yang paling sering muncul pada atributtersebut. Dalam eksperimen ini, nilai yang hilang berjumlah banyak. Hal ini mengakibatkanlonjakan sebaran data yang terlalu drastis, misalnya pada nilai mean atribut numerik. Untukmenghindari masalah itu, eksperimen ini tidak akan mengganti nilai-nilai yang hilang.

    D.7. ClassificationKlasifikasi (Classification) pada prinsipnya dilakukan setelah tahap data preprocessing selesai. Akantetapi, proses klasifikasi dalam eksperimen ini dilakukan di setiap tahap data preprocessing yangtercantum di bagian Data (Input) Preprocessing. Dengan begitu, setiap perubahan yang dialami olehsumber data, baik data training maupun data test, dapat dilihat dan dianalisis dampaknya.

    D.8. BaggingTahap terakhir setelah Data (Input) Preprocessing dan Classification adalah Bagging. Algoritma iniakan diterapkan di akhir proses secara keseluruhan dengan asumsi bahwa teknik data processing danclassification yang tepat sudah berhasil ditemukan dan diimplementasikan. Dengan demikian, baggingdiharapkan dapat meningkatkan akurasi dari pilihan teknik data preprocessing dan classification yangsudah optimal untuk sumber data yang digunakan.

    21

  • E. Analisis dan Hasil EksperimenHasil eksperimen yang dicantumkan di bagian ini adalah hasil eksperimen yang dilakukan denganalgoritma ADTree dan J48 dengan mode pengujian supplied test set. Yang digunakan sebagai sumberdata training adalah train20 (hasil resampling dari transact_train), sementara yang digunakan sebagaisumber data test adalah tcreal (hasil pengolahan dari transact_class). Persentase akurasi hasil eksekusialgoritma ADTree dan J48 akan diperlihatkan untuk setiap langkah dalam tahap data preprocessingsampai dengan eksekusi algoritma bagging.

    E.1. Hasil Eksperimen

    E.1.a. Membuang Atribut sessionNoADTreeCorrectly Classified Instances 33458 74.2389 %Incorrectly Classified Instances 11610 25.7611 %J48Correctly Classified Instances 31318 69.4905 %Incorrectly Classified Instances 13750 30.5095 %

    E.1.b.Membuang Atribut c*ADTreeCorrectly Classified Instances 33458 74.2389 %Incorrectly Classified Instances 11610 25.7611 %J48Correctly Classified Instances 31818 70.6 %Incorrectly Classified Instances 13250 29.4 %

    E.1.c. Membuang Atribut bMinPrice dan bMaxPriceADTreeCorrectly Classified Instances 33244 73.7641 %Incorrectly Classified Instances 11824 26.2359 %J48Correctly Classified Instances 31700 70.3382 %Incorrectly Classified Instances 13368 29.6618 %

    E.1.d.Menambahkan Atribut maxVal_bSumPriceADTreeCorrectly Classified Instances 33175 73.611 %Incorrectly Classified Instances 11893 26.389 %J48Correctly Classified Instances 31256 69.353 %Incorrectly Classified Instances 13812 30.647 %

    22

  • E.1.e. Membuang Atribut addressADTreeCorrectly Classified Instances 33175 73.611 %Incorrectly Classified Instances 11893 26.389 %J48Correctly Classified Instances 31250 69.3397 %Incorrectly Classified Instances 13818 30.6603 %

    E.1.f. Membuang Atribut ageADTreeCorrectly Classified Instances 33175 73.611 %Incorrectly Classified Instances 11893 26.389 %J48Correctly Classified Instances 31211 69.2531 %Incorrectly Classified Instances 13857 30.7469 %

    E.1.g.Membuang Atribut customerScoreADTreeCorrectly Classified Instances 33175 73.611 %Incorrectly Classified Instances 11893 26.389 %J48Correctly Classified Instances 31244 69.3264 %Incorrectly Classified Instances 13824 30.6736 %

    E.1.h.Membuang Atribut onlineStatusADTreeCorrectly Classified Instances 33175 73.611 %Incorrectly Classified Instances 11893 26.389 %J48Correctly Classified Instances 31256 69.353 %Incorrectly Classified Instances 13812 30.647 %

    E.1.i. Membuang Atribut lastOrderADTreeCorrectly Classified Instances 33175 73.611 %Incorrectly Classified Instances 11893 26.389 %J48Correctly Classified Instances 31306 69.4639 %Incorrectly Classified Instances 13762 30.5361 %

    23

  • E.1.j. Bagging Di Langkah "Membuang Atribut c*"ADTreeCorrectly Classified Instances 34292 76.0895 %Incorrectly Classified Instances 10776 23.9105 %J48Correctly Classified Instances 32426 71.9491 %Incorrectly Classified Instances 12642 28.0509 %

    E.1.k. Bagging Di Langkah "Membuang Atribut lastOrder"ADTreeCorrectly Classified Instances 33986 75.4105 %Incorrectly Classified Instances 11082 24.5895 %J48Correctly Classified Instances 31719 70.3803 %Incorrectly Classified Instances 13349 29.6197 %

    E.2. Analisis Hasil EksperimenPerbandingan persentase correctly classified instances untuk ADTree dan J48 dapat dilihat pada Grafik1. Di grafik tersebut kita dapat melihat naik-turunnya persentase akurasi klasifikasi yang dihasilkanalgoritma ADTree dan J48 sesuai urutan langkah-langkah data preprocessing yang dijelaskan di bagiansebelumnya. Sumbu Y memperlihatkan persentase akurasi yang dimaksud, sementara langkah datapreprocessing terkait dapat dilihat berdasarkan sumbu X pada grafik tersebut.

    Persentase akurasi klasifikasi yang dihasilkan algoritma ADTree tidak menunjukan adanya kenaikanselama eksperimen dilakukan. Persentasenya tidak berubah saat atribut sessionNo dan atribut c*

    24

    Grafik 1: Persentase Akurasi Klasifikasi

    64

    66

    68

    70

    72

    74

    76

    ADTreeJ48

  • dibuang secara berurutan. Persentasenya justru menurun saat atribut bMinPrice dan bMaxPricedibuang dan saat atribut maxVal_bSumPrice ditambahkan (seiring dengan dibuangnya atribut maxValdan bSumPrice itu sendiri). Persentasenya kembali tidak berubah saat 5 (lima) atribut yang memilikinilai perolehan informasi paling rendah (berdasarkan pemeringkatan InfoGainAttributeEval + Ranker)ikut dibuang satu per satu dari sumber data.

    Berbeda dengan ADTree, algoritma J48 justru memperlihatkan kenaikan selama eksperimen dilakukan.Kenaikan yang cukup signifikan terlihat saat atribut sessionNo dan atribut c* dibuang dari sumber datayang digunakan. Namun sama seperti halnya ADTree, persentasenya juga mengalami penurunan saatatribut bMinPrice dan bMaxPrice dibuang dan saat atribut maxVal_bSumPrice ditambahkan. Setelahitu, persentasenya hanya mengalami perubahan yang sangat kecil saat 5 (lima) atribut yang memilikinilai perolehan informasi paling rendah itu dibuang satu per satu dari sumber data; tidak jauh berbedadengan apa yang dihasilkan oleh ADTree.

    Dengan membandingkan naik-turunnya persentase akurasi klasifikasi dari algoritma ADTree dan J48 didalam eksperimen ini, ada beberapa informasi yang dapat diambil, antara lain:

    Dibuangnya atribut yang tidak relevan seperti atribut sessionNo dan atribut c* akanmeningkatkan akurasi klasifikasi.

    Dibuangnya atribut yang relevan seperti bMinPrice, bMaxPrice, atau bSumPrice akanmenurunkan akurasi klasifikasi.

    Penambahan atribut baru seperti maxVal_bSumPrice, walaupun nilai perolehan informasinyaterbilang tinggi, belum tentu bisa meningkatkan akurasi klasifikasi.

    Dibuangnya atribut address, age, customerScore, onlineStatus, dan lastOrder tidak memilikidampak yang signifikan terhadap akurasi klasifikasi.

    Secara garis besar, eksperimen ini telah memperlihatkan pengaruh dibuangnya atribut-atribut yangada dan ditambahkannya atribut-atribut baru terhadap akurasi klasifikasi. Walaupun pemilihanalgoritma yang cocok untuk sumber data yang digunakan itu berpengaruh terhadap akurasi klasifikasi,seperti yang ditunjukan pada bagian Pemilihan Algoritma Klasifikasi, naik-turunnya akurasi klasifikasiitu sendiri sangat bergantung pada langkah-langkah data preprocessing. Dengan pilihan langkah yangtepat, akurasi klasifikasi akan meningkat. Sebaliknya dengan pilihan langkah yang tidak tepat, akurasiklasifikasi akan menurun.

    Persentase akurasi klasifikasi yang dihasilkan dari eksperimen ini tidak dapat dikatakan komprehensif.Selain perangkat dan waktu yang terbatas, pengetahuan yang kurang memadai tentang sumber data,teknik-teknik data preprocessing, dan algoritma klasifikasi (dalam hal ini algoritma pohon keputusan)sangat mempengaruhi akurasi klasifikasi yang dihasilkan dari eksperimen ini. Walaupun analisis tetapdapat dilakukan terhadap hasil eksperimen ini, berbagai perbaikan masih harus dilakukan untuk dapatmenghasilkan akurasi klasifikasi yang representatif terhadap pilihan teknik-teknik data preprocessingdan pilihan algoritma klasifikasi yang digunakan.

    Bagging

    Untuk eksekusi algoritma bagging, baik dengan ADTree maupun J48, perbandingan akurasinya dapatdilihat pada Tabel 2.

    25

  • LangkahTanpa Bagging Dengan Bagging

    ADTree (%) J48 (%) ADTree (%) J48 (%)

    Membuang Atribut c* 74.2389 70.6000 76.0895 71.9491

    Membuang Atribut lastOrder 73.6110 69.4639 75.4105 70.3803

    Tabel 2: Perbandingan Akurasi "Tanpa Bagging" dan "Dengan Bagging"

    Dapat dilihat bahwa akurasi prediksi klasifikasi bagging selalu mengalami peningkatan, baik denganmenggunakan ADTree maupun dengan menggunakan J48 sebagai algoritma internalnya. Walaupunakurasinya mengalami penurunan dari langkah membuang atribut c* sampai langkah membuangatribut lastOrder, akurasi prediksi klasifikasi bagging tetap memperlihatkan peningkatan.

    Bila hasil di atas disandingkan dengan eksekusi RandomForest yang tercantum di bagian PemilihanAlgoritma Klasifikasi, kita akan menemukan kecenderungan yang sama. RandomForest pun akanmeningkatkan akurasi prediksi dari algoritma internalnya; dalam hal ini adalah RandomTree. Inimenunjukan bahwa metode bagging dan random forest (dalam definisinya secara umum) memangdapat meningkatkan akurasi dari eksekusi algoritma klasifikasi tunggal.

    26

  • F. KesimpulanKesimpulan yang dapat diambil dari eksperimen ini adalah:

    1. Pemahaman yang baik terhadap atribut-atribut pada sumber data itu penting. Hal ini sangatmempengaruhi akurasi proses data mining karena pemahaman terhadap sumber data ini akanmembantu pemilihan atribut-atribut yang relevan dan teknik-teknik data preprocessing yangtepat.

    2. Dibuangnya atribut lama yang tidak relevan dapat meningkatkan akurasi. Kesalahan dalammemilih atribut lama yang dibuang ini akan menyebabkan turunnya akurasi hasil proses datamining.

    3. Ditambahkannya atribut baru tidak selalu meningkatkan akurasi. Bila atribut baru yangditambahkan itu tidak memiliki nilai perolehan informasi yang tinggi, penambahannya tidakakan mempengaruhi atau sebaliknya akan menurunkan akurasi hasil proses data mining.Dengan atribut baru yang memiliki nilai perolehan informasi yang tinggi, akurasi hasil prosesdata mining dapat ditingkatkan.

    4. Proses penambahan atribut baru itu sebaiknya tidak bersamaan dengan proses dibuangnyaatribut lama. Keputusan seperti ini dapat menghasilkan akurasi yang ambigu karena penyebabnaik atau turunnya akurasi tersebut tidak pasti; apakah karena ada penambahan atribut baruatau karena ada atribut lama yang dibuang.

    5. Tidak semua algoritma klasifikasi cocok dengan sumber data yang digunakan. Sama sepertihalnya pemilihan atribut, pemilihan algoritma yang tepat dapat membantu meningkatkanakurasi proses data mining.

    6. Algoritma klasifikasi berulang seperti halnya bagging dan random forest dapat meningkatkanakurasi proses data mining bila dibandingkan dengan eksekusi algoritma klasifikasi tunggal.Yang paling penting adalah menemukan algoritma klasifikasi tunggal yang optimal (cocok)terhadap sumber data. Dengan begitu, bagging (atau random forest) akan dilakukan denganalgoritma klasifikasi tunggal yang optimal itu sebagai algoritma internalnya.

    7. Perangkat dan waktu merupakan faktor yang signifikan saat melakukan data mining. Prosesdata mining merupakan proses berulang yang bersifat trial and error sehingga membutuhkanperangkat yang memadai dan waktu yang cukup agar kinerja eksperimen menjadi optimal.

    27

  • G. Daftar Pustaka[1] "ARFF (stable version)." The Official Weka Wiki. http://weka.wikispaces.com/ARFF+%28stable+version

    %29 (accessed December 14, 2013).[2] Breiman, Leo. "Random Forests." Machine Learning 45, no. 1 (2001): 5-32.

    http://link.springer.com/article/10.1023%2FA%3A1010933404324 (accessed December 14, 2013). [3] Han, Jiawei, Micheline Kamber, and Jian Pei. "Techniques to Improve Classification Accuracy." In Data

    mining: concepts and techniques, 377-385. 3rd ed. Amsterdam: Elsevier/Morgan Kaufmann, 2012.[4] "DMC Competition Task." DATA-MINING-CUP. http://www.data-mining-cup.de/en/dmc-

    competition/task/ (accessed December 10, 2013).[5] Connolly, Thomas M., and Carolyn E. Begg. Database systems: a practical approach to design,

    implementation, and management. 4th ed. Harlow, Essex, England: Addison-Wesley, 2005. [6] Ruldeviyani, Yova. "Data Mining." Class lecture, Database System Technology from Universitas

    Indonesia, Jakarta, December 2, 2013.

    28

    A. AbstrakB. PendahuluanC. Landasan TeoriC.1. Data MiningC.2. Data (Input) PreprocessingC.3. Teknik Data miningC.4. Pohon Keputusan (Decision Tree)C.5. C4.5C.6. BaggingC.7. Random ForestC.8. Weka

    D. Material dan MetodeD.1. Perangkat yang DigunakanD.2. Sumber DataD.3. Konversi CSV Ke ARFFD.4. ResamplingD.5. Pemilihan Algoritma KlasifikasiD.6. Data (Input) PreprocessingD.6.a. Membuang Atribut sessionNoD.6.b. Membuang Atribut c*D.6.c. Membuang Atribut bMinPrice dan bMaxPriceD.6.d. Menambahkan Atribut maxVal_bSumPriceD.6.e. Pemilihan Atribut Berdasarkan PeringkatD.6.f. Teknik Lainnya

    D.7. ClassificationD.8. Bagging

    E. Analisis dan Hasil EksperimenE.1. Hasil EksperimenE.1.a. Membuang Atribut sessionNoE.1.b. Membuang Atribut c*E.1.c. Membuang Atribut bMinPrice dan bMaxPriceE.1.d. Menambahkan Atribut maxVal_bSumPriceE.1.e. Membuang Atribut addressE.1.f. Membuang Atribut ageE.1.g. Membuang Atribut customerScoreE.1.h. Membuang Atribut onlineStatusE.1.i. Membuang Atribut lastOrderE.1.j. Bagging Di Langkah "Membuang Atribut c*"E.1.k. Bagging Di Langkah "Membuang Atribut lastOrder"

    E.2. Analisis Hasil Eksperimen

    F. KesimpulanG. Daftar Pustaka