Data Mining Mengapa DM: Banjir Data • Twitter: 8000an tweet per detik 600 juta tweet per hari. • Facebook: 30 milyar item (link, status, note, foto dst) per bulan. 500 juta user menghabiskan 700 milyar menit per bulan di situs FB. • Indomaret: 4500an gerai, asumsikan 3 transaksi per menit = 12 juta transaksi per hari se Indonesia. • Kartu kredit visa: berlaku di 200 negara. 10 ribu transaksi per detik 850 juta transaksi per hari. Mengapa Datamining We are drowning in data, but starving for knowledge! Mengapa data mining? • Digitalisasi, kemajuan sistem informasi data, data, data (Tera Peta) • Web berita, blog, twitter, forum, flickr, fb, youtube • Streaming data twitter, sensor (satelit) Evolusi DB • • • • 60-an: koleksi data (file system primitif) 70-80: MIS (Sistem Informasi Management) 80-sekarang: OO, Deductive, Spatial, Multimedia 90-sekarang: Web based (XML, web mining), Datawarehouse, OLAP, Text Database, Text + Data mining • 05-sekarang: Stream data management and mining, Cloud, Web Apa Data Mining? • Data mining (pencarian pengetahuan dari data) – Mengekstrak secara otomatis pola atau pengetahuan yang menarik (tidak sederhana, tersembunyi, tidak diketahui sebelumnya, berpotensi berguna) dari data dalam jumlah sangat besar. Apa Datamining? (lanj) • Nama alternatif: Knowledge discovery (mining) in databases (KDD), knowledge extraction, data/pattern analysis, data archeology, data dredging, information harvesting, business intelligence dsb • Keuntungan bagi organisasi yang menerapkan data mining? Keuntungan Datamining • Perusahaan fokus ke informasi yg berharga di datawarehouse/databasenya. • Meramalkan masa depan perusahaan dapat mempersiapkan diri Contoh: Midwest grocery chain menggunakan DM untuk menganalisisi pola pembelian: saat pria membeli popok di hari Kamis dan Sabtu, mereka juga membeli minuman. Analisis lebih lanjut: pembeli ini belanja di hari kamis dan sabtu, tapi di hari kamis jumlah item lebih sedikit. Kesimpulan yang diambil: pembeli membeli minuman untuk dihabiskan saat weekend. Tindak lanjut: menjual minuman dengan harga full di hari Kamis dan Sabtu. Mendekatkan posisi popok dan minuman. Contoh Aplikasi Bank me-mining transaksi customer untuk mengidentifikasi customer yang kemungkinan besar tertarik terhadap produk baru. Setelah teknik ini digunakan, terjadi peningkatan 20 kali lipat penurunan biaya dibandingkan dengan cara biaya. Contoh Aplikasi Perusahaan kartu kredit memining data customer untuk mengelompokan customer yang memiliki nilai tinggi yang perlu diprioritaskan. Proses Datamining Pattern Evaluation Data Mining Task-relevant Data Data Warehouse Selection Pembersihan Data Data Integration Databases Diambil dari www.cs.uiuc.edu/~hanj Data Mining dan Business Intelligence Semakin mendukung pengambilan keputusan End User Pengambil an Keputusan Presentasi Data Teknik Visualiasi Data Mining Penemuan Informasi Business Analyst Data Analyst Eksplorasi Data Statistical Summary, Querying, and Reporting Data Preprocessing/Integrasi, Data Warehouses Sumber Data Database, Web, Paper, Files, Web, eksperimen DBA Diambil dari www.cs.uiuc.edu/~hanj Data Mining: Multi Disiplin Ilmu Teknologi DB Machine Learning Pattern Recognition Statistik Data Mining Algoritma Visualisasi Ilmu Lain Mengapa tidak analisis data biasa? • Jumlah data yang sangat besar – Algoritma harus scalable untuk menangani data yang sangat besar (tera) • Dimensi yang sangat besar: ribuan field • Data Kompleks – Aliran data dan sensor – Data terstruktur, graph, social networdk, multi-linked data – Database dari berbagai sumber, database lama – Spasial (peta), multimedia, text, web – Software Simulator Tugas (task) dari Data Mining Prediksi: Bagaimana perilaku atribut tertentu dalam data dimasa datang? (predictive) Time series Pattern Sequence Independent-dependent relation Klasifikasi: mengelompokkan data ke dalam kategori berdasarkan sampel yang ada (label diskrit) Feature selection Clustering: mengklasterkan obyek tanpa ada sampel sebagai contoh (descriptive) Association: object association Association Rules • Tujuan Memberikan aturan yang berkaitan dengan kehadiran set item dengan set item yang lain Contoh: Association Rules Market-basket model Mencari kombinasi beberapa produk Letakkan SHOES dekat dengan SOCK sehingga jika seorang customer membeli satu dia akan membeli yang lain Transaksi: seseorang membeli beberapa items dalam itemset di supermarket Klasifikasi married Yes no salary Acct balance >5k <20k >=20k <50k Poor risk Fair risk >=50 <5k Poor risk age <25 >=25 Good risk Fair risk Good risk RID Married Salary Acct balance Age Loanworthy 1 No >=50 <5k >=25 Yes 2 Yes >=50 >=5k >=25 Yes 3 Yes 20k..50k <5k <25 No 4 No <20k >=5k <25 No 5 No <20k <5k >=25 No 6 Yes 20k..50k >=5k >=25 Yes Expected information i 1 I(3,3)=1 E(Married)=0.92 Gain(Married)=0.08 E(Salary)=0.33 Gain(Salary)=0.67 E(A.balance)=0.82 Gain(A.balance)=0.18 E(Age)=0.81 Gain(Age)=0.19 Salary n I ( S1 , S 2 ,...S n ) pi log 2 pi Class attribute <20k 20k..50k >=50k age Class is “yes” {1,2} Class is “no” {4,5} Entropy n E ( A) S j1 ... S jn j 1 S Information gain Gain(A) = 12/30/2011 I-E(A) <25 * I (S j1 ,..., S jn ) Class is “no” {3} >=25 Class is “yes” {6} Klasifikasi Ex# Country Marital Status Income 1 England Single 125K 2 England Married 3 England Single 4 Italy Married 5 USA 6 England Married 7 England hooligan Country Marital Status Income Yes England Single 75K ? 70K Yes Turkey 50K ? 40K No England Married 150K ? Divorced 95K No Divorced 90K ? 60K Yes Single 40K ? 20K Yes Married 80K ? Yes Itlay Married Hooligan 10 10 8 Italy Single 85K Yes 9 France Married 75K No 10 Denmark Single 50K No Training Set Learn Classifier Test Set Model Text Classification Ex# Hooligan 1 2 3 4 5 6 7 8 An English football fan … During a game in Italy … England has been beating France … Italian football fans were cheering … An average USA salesman earns 75K The game in London was horrific Manchester city is likely to win the championship Rome is taking the lead in the football league Yes Hooligan Yes Yes No A Danish football fan ? Turkey is playing vs. France. The Turkish fans … ? 10 No Yes Test Set Yes Yes 10 Training Set Learn Classifier Model Klastering Klastering adalah proses mengelompokkan obyek-obyek yang mirip ke dalam satu klaster. Obyek bisa berasal dari data base customer, produk, gen, mahasiswa, dsb. Klastering Berapa Konsep Salah satu hal yang sangat penting adalah penggunaan ukuran kemiripan (similarity) Jika datanya numerik, fungsi kemiripan ( similarity function) berdasarkan jarak sering digunakan Euclidean metric (Euclidean distance), Minkowsky metric, Manhattan metric. Korelasi, cosinus, kovariance Hiraki, Kmeans, Fuzzy, SOM, Support Vector Clustering Market Basket Analysis 3.1 Ide Dasar 3.1 Ide Dasar (cont’d) Aturan yang menyatakan asosiasi antara beberapa atribut sering disebut Affinity Analysis atau Market Basket Anaysis. Analisis asosiasi (Association Rule) merupakan salah satu teknik yang digunakan untuk menemukan aturan asosiatif antara suatu kombinasi item. Misalnya aturan asosiatif dari analisis pembelian di suatu pasar swalayan adalah dapat diketahuinya berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan susu, pasta gigi dengan sikat gigi, bir dengan pampers, dsb. Dengan pengetahuan tsb pemilik pasar swalayan dapat mengatur penempatan barangnya atau merancang kampanye pemasaran terkait dengan pengetahuan yang didapat. 3.1 Ide Dasar (cont’d) Aturan asosiasi biasanya dinyatakan dalam bentuk: {roti, mentega} {susu} (support=40%, confidence=50%) Aturan tersebut dapat berarti: 1. “50% dari transaksi yang memuat item roti dan mentega juga memuat susu. Sedangkan 40% dari seluruh transaksi memuat ketiga item itu”. 2. “Seorang konsumen yang membeli roti dan mentega punya kemungkinan 50% juga membeli susu. Aturan ini cukup signifikan karena mewakili 40% dari transaksi yg ada”. 3.2 Rumus Dasar Nilai support dari aturan A B diperoleh dengan: Support = P (A B) = ∑ Transaksi yang mengandung A dan B ∑ Transaksi Nilai confidence dari aturan A B diperoleh dengan: Confidence = P (B | A) = ∑ Transaksi yang mengandung A dan B ∑ Transaksi yang mengandung A 3.3 Contoh Kasus Misalkan dari suatu database transaksi didapatkan data sbb: Transaksi Dalam bentuk tabular 3.3 Definisi Beberapa pengertian: Sebuah itemset merupakan himpunan item-item yang berada dalam himpunan item yang dijual, yaitu {teh, gula, kopi, susu, roti}. k-itemset adalah itemset yang berisi k item. Misalnya {teh, gula} adalah 2-itemset, {teh, gula, roti} adalah 3-itemset. Frequent itemset menunjukkan itemset yang memiliki frekuensi kemunculan lebih dari minimum yang ditentukan (). Himpunan dari frequent k-itemset dilambangkan dengan Fk. 3.3 Definisi (cont’d) 5 C2 = 10 5 C3 = 10 Calon 2-itemset Calon 3-itemset Jika = 2, maka: F2= { {teh, gula}, {gula, kopi}, {gula, susu}, {gula, roti}, {kopi, susu}, {susu, roti}} F3= { {gula, susu, kopi} } 3.3 Definisi (cont’d) Ingat!, nilai confidence dari aturan A B diperoleh dengan: Confidence = P (B | A) = Calon aturan asosiasi dari F3 Jika ditetapkan nilai confidence minimal adalah 60%, maka aturan yg bisa terbentuk adalah aturan 2 dan 3. 3.4 Latihan Berdasarkan contoh transaksi yang diberikan, hitunglah! 3.4 Latihan (cont’d) Jawaban: