Selasa, 21 Juni 2011

Data Mining - Klassifikasi


Klassifikasi adalah proses penentuan objek-objek baru pada satu set kategori atau klas yang telah didefinisikan sebelumnya
Diberikan satu set records berlabel sebagai masukan
Bangun semuah model (misal, decision tree)
Memprediksi label untuk records tidak berlabel setelah model dibangun


Pembelajaran Klassifikasi

* Supervised learning (label diketahui)

* Contoh dijelaskan dalam bentuk attributes
- Kategorikal (nilai-nilai simbolik tidak terurut)
- Numerik (integer, real)

* Klas (attribute luaran/yang diprediksi):
- Kategorikal untuk klassifikasi, numerik untuk regresi\

* Training set:
- Satu set contoh, dimana setiap contoh adalah sebuah vektor fitur (satu set passangan (attribute, nilai)) disertai dengan klas yang diasosiasikan dengan contoh tersebut. Model dibangun dengan menggunakan training set

* Test set:
- Satu set contoh yang terpisah (disjoint) dari training set, yang digunakan untuk melakukan pengujian keakuratan dari model


Model-Model Klassifikasi

* Beberapa model lebih baik dari lainnya
- Keakuratan
- Kemudahan untuk dimengerti

* Model-model yang ada tersedia mulai dari yang mudah dimengerti hingga yang sulit dimengerti
- Decision trees
- Rule induction
- Regression models
- Neural networks


From Tree to Rules
1. IF Age > 43 THEN Life Insurance Promotion = No
2. F Age <=43 & Sex = Femal THEN Life Insurance Promotion = Yes
3. IF Age <=43 & Sex = Male & Credit Card Insurance = No THEN Life Insurance Promotion = No
4.IF Age <=43 & Sex = Male & Credit Card Insurance = Yes THEN Life Insurance Promotion = Yes


Algoritma Klassifikasi

* Bangun Tree
- Mulai dengan data pada simpul root
- Pilih sebuah attribut dan formulasikan sebuah logical test pada attribut tersebut
- Lakukan pencabangan pada setiap hasil dari test, dan terus bergerak ke subset dari contoh yang memenuhi hasil dari simpul anak cabang yang bersesuaian
- Lakukan proses rekursi pada setiap simpul anak cabang
- Ulangi hingga dahan-dahan dari tree memiliki contoh dari satu klas tertentu (“pure leaves”), atau memiliki contoh-contoh yang mewakili mayoritas dari klas yang sama (“nearly pure leaves”)

* Lakukan pemotongan pada tree (tree prunning)
- Hapus subtress yang tidak meningkatkan akurasi klassifikasi


Keuntungan Decision Tree
- Mudah dimengerti
- Dapat dipetakan secara baik ke satu set production rules
- Dapat diaplikasikan pada persoalan-persoalan nyata
- Tidak diperlukan asumsi awal mengenai data
- Data memproses baik data numerik maupun data kategorikal

Kekurangan Decision Tree
- Attribut luaran harus berupa data kategorikal
- Terbatas hanya untuk satu attribut luaran
- Algoritma-algoritma decision tree tidak stabil
- Tree yang dibangun dari dataset numerik dapat menjadi komplek

Teknik-Teknik Data Mining

* Kaidah asosiasi (Association rules)
- Mendeteksi kumpulan-kumpulan attribut yang muncul bersamaan (co-occur) dalam frekuensi yang sering, dan membentuk sejumlah kaidah dari kumpulan-kumpulan tersebut.
- Contoh, 90% dari orang yang berbelanja di suatu supermarket yang membeli roti juga memberli selai, dan 60% dari semua orang yang berbelanja membeli keduanya.

* Pencarian pola sekuensial (Sequence Mining)
- Mencari urutan sejumlah events yang secara umum terjadi bersama-sama.
- Contoh, dalam satu set urutan-urutan DNA, ACGTC diikuti oleh GTCA setelah suatu celah selebar 9 dengan probabilitas sebesar 30%.

* Klassifikasi dan Regresi

- Menentukan sebuah record data baru ke salah satu dari beberapa kategori (atau klas) yang telah didefinisikan sebelumnya.
- Regresi berkaitan dengan prediksi fields bernilai real.
- Disebut juga “supervised learning”.


* Klasterisasi (Clustering)

- Mempartisi dataset menjadi beberapa subset atau kelompok sedemikian rupa sehingga elemen-elemen dari suatu kelompok tertentu memiliki set properti yang dishare bersama, dengan tingkat similaritas yang tinggi dalam satu kelompok dan tingkat similaritas antar-kelompok yang rendah.
- Disebut juga “unsupervised leraning”.

* Pelacakan similaritas

- Untuk suatu database dari sejumlah objek dan sebuah “query” terhadap objek yang diberikan, dapatkan objek-objek yang berada dalam jarak yang ditentukan pengguna dari objek yang dilakukan query.

* Deteksi deviasi
- Dapatkan record(s) yang yang paling berbeda dari records lainnya; atau dengan kata lain dapatkan semua “ouliers”. Outliers ini dapat diabaikan sebagai derau atau mungkin merupakan informasi yang “menarik”.

* Terdapat beberapa metode lainnya, seperti
- Neural networks
- Genetic algorithms
- Hidden Markov models
- Time series
- Bayesian networks
- Fuzzy sets

Memilih Teknik Data Mining

- Apakah pembelajarannya supervised atau unsupervised ?
- Apakah diperlukan penjelasan yang jelas mengenai keterkaitan yang ada dalam data ?
- Apakah terdapat satu set input attributes dan sayu set output attributes, atau dapatkah terjadi interaksi antar attributes ?
- Apakah input data bersifat kategorikal, numeric, atau kombinasi dari keduanya ?
- Jika pembelajarannya adalah supervised, apakah output terdiri satu attribute atau beberapa attribute ? Juga apakah output attibutes bersifat kategorikal atau numeric atau keduanya ?
- Apakah kita tahu distribusi dari data ?
- Apakah kita tahu attribut yang mana yang terbaik untuk digunakan mendefinisikan data yang akan dimodelkan ?
- Apakah data berisikan beberapa “missing values” ?
- Apakah waktu komputasi merupakan issue penting ?
- Teknik data mining yang mana yang sebaiknya digunakan untuk memberikan hasil klassifikasi akurasi yang tinggi ?

Mengapa Melakukan Data Mining

Sudut Pandang Komersial …..

* Meledaknya volume data yang dihimpun dan disimpan dalam data warehouse
* Proses komputasi yang dapat diupayakan
* Kuatnya tekanan kompetitif
- Dapat menyediakan yang lebih baik, layanan-layanan kastemisasi
- Informasi sedang menjadi produk yang berarti

Sudut Pandang Keilmuan …..

* Kecepatan data yang dihimpun dan disimpan (Gbyte/hour)
- Remote sensor yang ditempatkan pada suatu satelit
- Telescope yang digunakan untuk men-scan langit
- Simulasi saintifik yang membangkitkan data dlm ukuran terabytes

* Teknik-teknik tradisional tidak fisibel untuk mengolah data mentah

* Data mining untuk reduksi data …
- Catalogging, klassifikasi, segmentasi data
- Membantu ilmuwan dalam melakukan formasi hipotesis

Aplikasi Metode Saintifik dalam Data Mining

Proses Data Mining

Memahami domain aplikasi
-Pengetahuan awal, sasaran penguna

Membuat target dataset
- Pemilihan data, fokus pada subset data

Pembersihan dan transformasi data

-Eliminasi derau, outliers, missing values
-Pemilihan fitur, reduksi dimensi

Penggunaan algoritma data mining
- Asosiasi, sekuensial, klassifikasi, klaterisasi, dll.

Interpretasi, evaluasi dan visualisasi pola
- Ada sesuatu yang baru dan menarik?
- Lakukan iterasi jika diperlukan

P e n g a n t a r D a t a M i n i n g


Data Mining adalah Proses yang mempekerjakan satu atau lebih teknik-teknik pembelajaran komputer (machine learning) untuk menganalisis dan menfekstraksi pengetahuan (knowledge) secara otomatis

Beberapa definisi terkait lainnya:

Pembelajaran berbasis Induksi (Induction-based Learning) adalah proses pembentukan definisi-definisi konsep yang umum yang dilakukan dengan cara mengobservasi contoh-contoh spesifik dari konsep-konsep yang akan dipelajari

Knowledge Discovery in Databases (
KDD) adalah penerapan metode saintifik pada data mining. Dalam konteks ini, data mining merupakan satu langkah dari proses KDD

Data Mining merupakan proses iteratif dan interaktif untuk menemukan pola atau model yang sahih, baru, bermanfaat, dan dapat dimengerti dalam suatu database yang sangat besar (massive databases)

Sahih: dapat digeneralisasi untuk masa yang akan datang
Baru: apa yang tidak sedang diketahui
Bermanfaat: dapat digunakan untuk melakukan suatu tindakan
Iteratif: memerlukan sejumlah proses yang diulang
Interaktif: memerlukan interaksi manusia dalam prosesnya

Goals dari Data Mining
Prediksi
- Apa ?
- Bersifat remang-remang (tidak transparan)

Deskripsi
- Mengapa ?
- Bersifat transparan

Operasi Data Mining
Prediksi (prediction driven)
- Validasi hipotesis
- Querying dan pelaporan (misal, spreadsheet dan pivot tables)
- Analisis multidimensi (dimensional summaries); OLAP
- Analsis statistik

Penemuan (discovery driven)
- Analisis data eksplorasi
- Pemodelan prediktif
- Segmentasi database
- Analisis keterkaitan (link analysis)
- Deteksi deviasi

Asal-Muasal Data Mining

* Mengambil ide dari machine learning/AI, pengenalan pola, statistik, dayabase systems, dan visualisasi data

* Teknik-teknik tradisional mungkin tidak sesuai
- Membludaknya data (enormity of data)
- Dimensi data yang tinggi (high dimensionality of data)
- Heterogenitas dan sifat data yang tersebar (heterogeneous, distributed nature of data)

Tantangan Utama dari KDD

* Skalabilitas
- Sampling yang efisien dan memadai
- Pemrosesan “in-memory” v.s. “disk-based”
- Komputasi berkinerja tinggi (komputasi paralel)

* Otomasi

- Mudah digunakan
- Penggunaan pengetahuan awal (prior knowledge)