IMPLEMENTASI DATA MINING MARKET BASKET ANALYSIS MENGGUNAKAN ALGORITMA APRIORI UNTUK AKUISISI DATA DARI TWITTER
Nama NPM Fakultas Jurusan Pembimbing
:Victorio Sudarmadi Puika : 5A411208 : Teknologi Industri : Teknik Informatika : Dr. D. L. Crispina Pardede, DEA
Latar Belakang • • • •
Perilaku masyarakat, Fitur pada Twitter, Keperluan riset untuk data mining, Market Basket Analysis.
Perumusan Masalah • Bagaimana cara akuisisi data dari media sosial Twitter agar dapat diaplikasikan sebagai masukan data dalam proses data mining? • Bagaimana cara menggunakan metode Market Basket Analysis dengan data berasal dari tweet Twitter untuk mendapatkan asosiasi antar item ? • Bagaimana cara mengembangkan aplikasi data mining yang dilengkapi dengan akuisisi data dari Twitter?
Ruang Lingkup • • • • •
Masukan data dari Twitter menggunakan REST API Twitter v1.1, Tweet tentang makanan, Menggunakan teknik data mining metode Market Basket Analysis algoritma Apriori, Hasil berupa tabel nilai support dan confidence dengan pengurutan, Pembuatan aplikasi menggunakan berbasis web.
Tujuan Penelitian •
Membangun aplikasi untuk mengakuisisi data dari Twitter yang dapat digunakan dalam proses data mining.
•
Melakukan asosiasi antar item menggunakan metode Market Basket Analysis pada data dari Twitter.
•
Membangun aplikasi untuk data mining menggunakan data dari Twitter menggunakan metode Market Basket Analysis.
Metode Penelitian
a. b. c. d.
Akuisisi dan Seleksi Data Pre-processing/Cleaning dan Transformation Data Mining Interpretasi/Evaluasi
Akuisisi dan Seleksi Data Kebutuhan: • API key, API secret, Access token dan Access token secret • Pustaka open source milik “j7mbo” (PHP) • Query String https://api.twitter.com/1.1/search/tweets.json?q= %22mangga%22%20OR%20%22rambutan% 22%2Bexclude%3Aretweets&result_type=mix& count=100
Preprocessing/Cleaning dan Transformation { "statuses": [{ "metadata": { "iso_language_code": "in", "result_type": "popular" }, "created_at": "Sat Jul 12 14:19:23 +0000 2014", "id": 487964439895764992, "id_str": "487964439895764992", "text": "Krn di kulit mangga mengandung zat phytochemicals, mengkonsumsi mangga bserta kulitnya efektif menurunkn berat badan & tubuh tetap langsing.", . . . }, . . . ], . . . }
Preprocessing/Cleaning dan Transformation (cont.) Tabel Data Tweets Atribut
Keterangan
ID Tweet
ID Tweet merupakan identitas unik yang dimiliki tiap-tiap tweet, atribut ini digunakan sebagai Primary Key dengan
tipe data bigint. Teks Tweet
Teks Tweet berisi teks dari tweet yang mengandung salah satu keyword atau lebih, atribut ini menggunakan tipe
data text dengan panjang 140 karakter. Kata Kunci 1
Kata Kunci 1 hingga Kata Kunci n menyatakan
Kata Kunci 2
terdapatnya kata kunci tersebut pada teks tweet, berisi
. . Kata Kunci n
boolean true atau false.
Data Mining 1. Menyiapkan Data Item Contoh Data Item Item
Nama Item
1
Manggis
2
Rambutan
3
Apel
4
Jeruk
2. Mencari kombinasi • • • • • • • • • • •
Manggis – Rambutan Manggis – Apel Manggis –Jeruk Rambutan – Apel Rambutan – Jeruk Apel – Jeruk Manggis – Rambutan – Apel Manggis – Rambutan – Jeruk Manggis – Apel - Jeruk Rambutan – Apel – Jeruk Manggis – Rambutan – Apel – Jeruk
Data Mining (cont.) 3. Mem-parsing data menjadi data training Contoh Data Tabel Tweet No
ID Tweet
item_id
item_nama
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 1 1 1 2 2 2 3 3 3 4 4 5 5 6 6 6 7 7 7
1 2 3 4 1 2 4 3 1 2 3 4 3 4 2 3 4 1 3 2
Manggis Rambutan Apel Jeruk Manggis Rambutan Jeruk Apel Manggis Rambutan Apel Jeruk Apel Jeruk Rambutan Apel Jeruk Manggis Apel Rambutan
Data Mining (cont.) 4. Memisahkan masing-masing Item Item Teridentifikasi No.
Item
1
Manggis
2
Rambutan
3
Apel
4
Jeruk
Data Mining (cont.) 5. Membuat Tabel dengan field berdasarkan data pada Tabel Item Teridentifikasi dan menghitung jumlah tweet tiap kata kunci. Tabel Tweet dan Kata Kunci yang Dikandung Tweet 1
Manggis 1
Rambutan 1
Apel 1
Jeruk 1
2
1
1
0
1
3
1
1
1
0
4
0
0
1
1
5
0
0
1
1
6
0
1
1
1
7
1
1
1
0
∑
4
5
6
5
Data Mining (cont.) 6. Menetapkan besaran nilai minimum (Ф=3) F1 = { {Manggis}, {Rambutan}, {Apel}, {Jeruk} } Calon 2-Itemset Kombinasi Manggis , Rambutan Manggis , Apel Manggis , Jeruk Rambutan , Apel Rambutan , Jeruk Apel , Jeruk
Jumlah 4 3 2 4 3 4
F2 = {{Manggis, Rambutan}, {Manggis, Apel}, {Rambutan, Apel}, {Rambutan, Jeruk}, {Apel, Jeruk}} Calon 3-Itemset Kombinasi Manggis, Rambutan, Apel Rambutan, Apel, Jeruk
Jumlah 3 2
Data Mining (cont.) 7. Pembentukan Aturan Asosiasi if x then y 8. Tentukan (ss-s) sebagai antecedent dan s sebagai consequent dari Fk. Pada F2 didapatkan: Untuk {Manggis, Rambutan}: Jika (ss-s) = Manggis, Jika s = Rambutan, Maka If tweet Manggis then tweet Rambutan Jika (ss-s) = Rambutan, Jika s = Manggis, Maka If tweet Rambutan then tweet Manggis
Data Mining (cont.) Pada F3 didapatkan: • Jika (ss-s) = Manggis, Rambutan, Jika s = Apel, Maka If tweet Manggis and Rambutan then tweet Apel • Jika (ss-s) = Manggis, Apel, Jika s = Rambutan, Maka If tweet Manggis and Apel then tweet Rambutan • Jika (ss-s) = Rambutan, Apel, Jika s = Manggis, Maka If tweet Rambutan and Apel then tweet Manggis
Data Mining (cont.) 9. Didapatkan 13 rule yang dapat digunakan. • • • • • • • • • • • • •
If write Manggis then write Rambutan If write Rambutan then write Manggis If write Manggis then write Apel If write Apel then write Manggis If write Rambutan then write Apel If write Apel then write Rambutan If write Rambutan then write Jeruk If write Jeruk then write Rambutan If write Apel then write Jeruk If write Jeruk then write Apel If write Manggis and Rambutan then write Apel If write Manggis and Apel then write Rambutan If write Rambutan and Apel then write Manggis
Data Mining (cont.) 10. Hitung support dan confidence
Data Mining (cont.) Tabel Hasil Support dan Confidence If antecedent then consequent
Support
Confidence
If write Manggis then write Rambutan
(4/7) x100% =57,14%
(4/4) x100% = 100%
If write Rambutan then write Manggis
(4/7) x100% =57,14%
(4/5) x100% = 80%
If write Manggis then write Apel
(3/7) x100% =42,86%
(3/4) x100% = 75%
If write Apel then write Manggis
(3/7) x100% =42,86%
(3/6) x100% = 50%
If write Rambutan then write Apel
(4/7) x100% =57,14%
(4/5) x100% = 80%
If write Apel then write Rambutan
(4/7) x100% =57,14%
(4/6) x100% = 66,67%
If write Rambutan then write Jeruk
(3/7) x100% =42,86%
(4/5) x100% = 80%
If write Jeruk then write Rambutan
(3/7) x100% =42,86%
(4/5) x100% = 80%
If write Apel then write Jeruk
(4/7) x100% =57,14%
(4/6) x100% = 66,67%
If write Jeruk then write Apel
(4/7) x100% =57,14%
(4/5) x100% = 80%
If write Manggis and Rambutan then write Apel
(3/7) x100% =42,86%
(3/4) x100% = 75%
If write Manggis and Apel then write Rambutan
(3/7) x100% =42,86%
(3/3) x100% = 100%
If write Rambutan and Apel then write Manggis
(3/7) x100% =42,86%
(3/4) x100% = 75%
Data Mining (cont.) Tabel Hasil Perkalian Support dan Confidence setelah diurutkan No. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
13.
If atecedent then consequent If write Manggis then write Rambutan If write Rambutan then write Manggis If write Rambutan then write Apel If write Jeruk then write Apel If write Manggis and Apel then write Rambutan If write Apel then write Rambutan If write Apel then write Jeruk If write Rambutan then write Jeruk If write Jeruk then write Rambutan If write Manggis then write Apel If write Manggis and Rambutan then write Apel If write Rambutan and Apel then write Manggis If write Apel then write Manggis
Support x confidence
Support
Confidence
57,14% 57,14% 57,14% 57,14% 42,86%
100% 80% 80% 80% 100%
0,5714 0,45712 0,45712 0,45712 0,4286
57,14% 57,14% 42,86% 42,86% 42,86% 42,86%
66,67% 66,67% 80% 80% 75% 75%
0,3810 0,3810 0,34288 0,34288 0,32145 0,32145
42,86%
75%
0,32145
42,86%
50%
0,2143
Struktur Navigasi
Halaman Utama
Halaman Data Mining
Halaman Bantuan
Struktur Navigasi
Halaman Tentang
Diagram Alir ke-1 Start
Halaman Utama
Pilihan
Pilihan = Data Mining?
Ya
1
Tidak
Pilihan = Bantuan?
Ya Halaman Bantuan
Tidak Pilihan
Ya Pilihan = Kembali?
Tidak Pilihan = Tentang?
Ya Halaman Tentang
Tidak Pilihan
Ya
Pilihan = Kembali? Tidak
Pilihan = Keluar Browser?
Tidak
Ya Finish
Diagram Alir ke-1
Diagram Alir ke-2 1
1
Membangkitkan kombinasi dari katakata kunci
Halaman Data Mining
Pilihan
Kombinasi kata-kata kunci
Pilihan = Tambah Kotak Input?
Tidak
Ya
Jumlah data didapat > Target Jumlah Data?
Ya
Membaca seluruh data pada Tabel Data
Tambah Kotak Input
Tidak Indeks elemen = 0 Pilihan = Hapus Kotak Input?
Cetak tabel tweets
Tidak
Ya
Ya
Seluruh elemen telah dicari menggunakan API Search Twitter?
2
Hapus Kotak Input Tidak
Pilihan = Gunakan Contoh?
Mendapatkan data elemen kombinasi menggunakan API Search Twitter
Tidak
Ya
Tampilkan response API Search Twitter
Isi Kata-kata kunci dengan contoh
Memasukkan data pada Tabel Data
Kata-kata Kunci, Target Jumlah Data, dan Φ (Phi)
Indeks elemen berikutnya
Tidak
Pilihan = Proses?
Ya Ya Seluruh kotak Input telah terisi?
1
Tidak
Diagram Alir ke-2
Tabel Data
Diagram Alir ke-3 2
Terdapat jumlah elemen itemset yang < Φ ?
Ya
Eliminasi elemen itemset yang memiliki jumlah < Φ
Tidak
Tampilkan tabel tweets dan total
Bangkitkan kombinasi dari elemen-elemen tiap k-itemset
Indeks k-itemset = 1
k-itemset = total kitemset?
Ya
Cetak tabel Support dan Confidence beserta perkaliannya
Tidak Indeks kombinasi = 0
Ya
Tampilkan tabel kitemset
Tampilkan Fk
Melakukan sort pada data perkalian Support dan Confidence
Seluruh data kombinasi dari k-itemset telah didapatkan dari basis data?
Tidak
Membaca Tabel Data yang memiliki elemen-elemen dari kombinasi
Cetak tabel Support dan Confidence beserta perkaliannya setelah dilakukan sorting
Pilihan Indeks k-itemset berikutnya
Indeks kombinasi berikutnya
Tidak Keluar Browser? Ya
Finish
Diagram Alir ke-3
Rancangan & Output
Teks Tombol 1
Tombol 2
Tombol 3
Halaman Utama
Rancangan & Output Teks 1 Tombol 1
Tombol 2
Tombol 3
Input 1
Input 2
Teks 2 Input 3
Teks 3 Input 4
Tombol 4
Tombol 5
Tombol 7
Tombol 6
Tombol 8
Halaman Data Mining (bagian kontrol)
Rancangan Tampilan Konten 1
Konten 2
Konten 3
Konten 4
Halaman Data Mining (bagian hasil)
Output Program
Halaman Data Mining (Respon Twitter)
Halaman Data Mining (Tabel Tweets)
Output Program
Halaman Data Mining (Proses Data Mining ke-1)
Halaman Data Mining (Proses Data Mining ke-2)
Output Program
Halaman Data Mining (Hasil)
Rancangan & Output Teks 1
Konten 1
Tombol 1
Halaman Bantuan
Rancangan & Output Teks 1
Konten 1
Tombol 1
Halaman Tentang
Kesimpulan • Aplikasi untuk mengakuisisi data dari Twitter yang dapat digunakan dalam proses data mining telah berhasil dibangun. • Data dari Twitter dapat digunakan dalam proses data mining setelah melewati tahap preprocessing/cleaning dan transformasion dan disimpan dalam basis data. • Aplikasi tersebut dapat melakukan asosiasi antar elemenelemen kata kunci yang ditemukan dalam tiap tweet menggunakan metode Market Basket Analysis sehingga dihasilkan peringkat antar kombinasi elemen kata kunci yang frekuen berdasarkan besarnya hasil perkalian antara support dan confidence yang didapatkan.
Saran • Penelitian lebih lanjut dibutuhkan mengenai pengolahan tweet yang didapat agar dapat mengenali bahasa dalam tweet tersebut dan mengelompokkannya dalam tweet yang informatif atau pertanyaan atau kelompok lainnya, sehingga dapat meminimalkan noise. • Pengembangan aplikasi juga perlu dilakukan dalam hal jumlah pengguna yang dapat melakukan proses data mining secara bersamaan.
TERIMAKASIH