Nama :Victorio Sudarmadi Puika NPM : 5A411208
Fakultas : Teknologi Industri Jurusan : Teknik Informatika
Pembimbing : Dr. D. L. Crispina Pardede, DEA
IMPLEMENTASI DATA MINING MARKET BASKET ANALYSIS MENGGUNAKAN ALGORITMA APRIORI UNTUK
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,
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. Akuisisi dan Seleksi Data
b. Pre-processing/Cleaning dan Transformation
c. Data Mining
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.)
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
terdapatnya kata kunci tersebut pada teks tweet, berisi boolean true atau false.
Kata Kunci 2 .
.
Kata Kunci n
Data Mining
1. Menyiapkan Data Item
2. Mencari kombinasi
Item Nama Item
1 Manggis
2 Rambutan
3 Apel
4 Jeruk
Contoh Data Item • 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 1 1 Manggis 2 1 2 Rambutan 3 1 3 Apel 4 1 4 Jeruk 5 2 1 Manggis 6 2 2 Rambutan 7 2 4 Jeruk 8 3 3 Apel 9 3 1 Manggis 10 3 2 Rambutan 11 4 3 Apel 12 4 4 Jeruk 13 5 3 Apel 14 5 4 Jeruk 15 6 2 Rambutan 16 6 3 Apel 17 6 4 Jeruk 18 7 1 Manggis 19 7 3 Apel 20 7 2 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 Manggis Rambutan Apel Jeruk
1 1 1 1 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)
F
1= { {Manggis}, {Rambutan}, {Apel}, {Jeruk} }
F
2= {{Manggis, Rambutan}, {Manggis, Apel}, {Rambutan,
Apel}, {Rambutan, Jeruk}, {Apel, Jeruk}}
Calon 2-Itemset Kombinasi Jumlah Manggis , Rambutan 4 Manggis , Apel 3 Manggis , Jeruk 2 Rambutan , Apel 4 Rambutan , Jeruk 3 Apel , Jeruk 4 Kombinasi Jumlah
Manggis, Rambutan, Apel 3
Rambutan, Apel, Jeruk 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,
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.)
Data Mining (cont.)
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. If atecedent then consequent Support Confidence Support x confidence 1. If write Manggis then write Rambutan 57,14% 100% 0,5714
2. If write Rambutan then write Manggis 57,14% 80% 0,45712 3. If write Rambutan then write Apel 57,14% 80% 0,45712 4. If write Jeruk then write Apel 57,14% 80% 0,45712 5. If write Manggis and Apel then write
Rambutan
42,86% 100% 0,4286 6. If write Apel then write Rambutan 57,14% 66,67% 0,3810 7. If write Apel then write Jeruk 57,14% 66,67% 0,3810 8. If write Rambutan then write Jeruk 42,86% 80% 0,34288 9. If write Jeruk then write Rambutan 42,86% 80% 0,34288 10. If write Manggis then write Apel 42,86% 75% 0,32145 11. If write Manggis and Rambutan then
write Apel
42,86% 75% 0,32145 12. If write Rambutan and Apel then write
Manggis
42,86% 75% 0,32145 13. If write Apel then write Manggis 42,86% 50% 0,2143
Struktur Navigasi
Struktur Navigasi Halaman Utama Halaman Data Mining Halaman Bantuan Halaman TentangDiagram Alir ke-1
Diagram Alir ke-1
Start Halaman Utama Pilihan = Data Mining? Pilihan = Bantuan? Pilihan = Tentang? Halaman Bantuan Pilihan = Kembali? Pilihan = Keluar Browser? Finish Halaman Tentang Pilihan = Kembali? 1 Ya Tidak Ya Tidak Ya Tidak Ya Tidak Tidak Ya Tidak Ya Pilihan Pilihan Pilihan
Diagram Alir ke-2
Diagram Alir ke-2
1 Halaman Data Mining Kata-kata Kunci, Target Jumlah Data, dan Φ (Phi) Pilihan = Tambah Kotak Input?
Tambah Kotak Input
Pilihan = Hapus Kotak Input?
Hapus Kotak Input
Pilihan = Gunakan Contoh?
Isi Kata-kata kunci dengan contoh
Pilihan = Proses?
Seluruh kotak Input telah terisi? 1
1 Membangkitkan kombinasi dari
kata-kata kunci
Jumlah data didapat > Target Jumlah Data?
Seluruh elemen telah dicari menggunakan API
Search Twitter? Mendapatkan data elemen kombinasi menggunakan API Search Twitter Indeks elemen = 0 Indeks elemen berikutnya Ya Tidak Ya Ya Ya Tidak Ya Tidak Tidak Tidak Ya Ya Cetak tabel tweets Tampilkan response API Search Twitter 2 Tidak Tidak Pilihan Tabel Data Memasukkan data
pada Tabel Data
Membaca seluruh data pada Tabel Data Kombinasi
kata-kata kunci
Diagram Alir ke-3
Diagram Alir ke-3
2
Terdapat jumlah elemen itemset yang < Φ ?
Eliminasi elemen itemset yang memiliki
jumlah < Φ itemset = total k-itemset? Indeks k-itemset = 1 Bangkitkan kombinasi dari elemen-elemen tiap k-itemset
Seluruh data kombinasi dari k-itemset telah didapatkan
dari basis data? Indeks kombinasi = 0 Indeks k-itemset berikutnya Indeks kombinasi berikutnya Tampilkan tabel tweets dan total Tampilkan tabel k-itemset Tampilkan Fk
Melakukan sort pada data perkalian Support dan Confidence Cetak tabel Support dan Confidence beserta perkaliannya Cetak tabel Support dan Confidence beserta perkaliannya setelah dilakukan sorting Keluar Browser? Finish Ya Tidak Ya Tidak Ya Tidak Ya Tidak Membaca Tabel Data
yang memiliki elemen-elemen dari
kombinasi
Rancangan & Output
Halaman Utama Tombol 1 Teks Tombol 2 Tombol 3Rancangan & Output
Halaman Data Mining (bagian kontrol)
Tombol 1 Teks 1 Tombol 2 Tombol 3 Input 1 Input 2 Teks 2 Input 3 Teks 3 Input 4
Tombol 4 Tombol 5 Tombol 6
Rancangan Tampilan
Konten 1
Konten 2
Konten 3
Konten 4
Output Program
Output Program
Output Program
Rancangan & Output
Halaman Bantuan
Teks 1
Konten 1
Rancangan & Output
Halaman Tentang
Teks 1
Konten 1
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
elemen-elemen 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.