Januari 2006


Microarray Data merupakan jenis data yang dipakai dalam bioinformatika. Jenis data ini merupakan salah satu jenis data yang “menantang” untuk dimining.
Karakteristik microarray data adalah :

  • Jumlah data sedikit.
  • Jumlah feature yang sangat banyak.

Data ini berisi informasi gen karena itu jumlah featurenya sangat banyak misalnya banyaknya gen manusia yang dewasa ini diketahui jumlahnya sekitar 32 ribu. Sedangkan jumlah data sedikit karena cost untuk mendapatkan data sangat mahal. Satu sample data saja bisa mencapai 100 USD. Bayangkan, 100 sample saja bisa mencapai 10,000 USD. Padahal ukuran 100 data tersebut sangat sedikit untuk dapat dimining.
Ada dua jenis microarray :

Selain itu microarray juga terbagi atas samplenya : protein microarray dan DNA/RNA microarray. DNA/RNA microarray sendiri terbagi lagi untuk 2 tujuan : analisa ekspresi dan analisa genotyping/haplotyping. Untuk analisa ekspresi, tipe datanya bisa mencapai multidimensional matrix misalnya data pasien vs genes vs treatment vs time (matrix 4 dimensi). Sedangkan genotyping, datanya bisa dianggap table biasa (matrix 2 dimensi).
Tantangan mining data seperti ini adalah karakteristiknya, jumlah feature yang sangat banyak dengan jumlah data sedikit sangat tidak ideal untuk dimining. Namun, hasil yang diperoleh akan sangat berguna misalnya penemuan obat-obatan baru (drug discovery) dan penentuan jenis treatment yang tepat untuk penyakit tertentu. Selain itu perlu diingat bahwa effort data cleaning untuk microarray juga sangat besar.
N.B : Terima kasih kepada Pak Anto S. Nugroho dan Pak Anto Eijkman atas penjelasan microarray data di milis indo-dm.

Data adalah Kumpulan object dan atribut-atributnya. Atribut-atribut tersebut menunjukkan karakteristik sebuah object.
Kualitas data yang akan dimining menentukan proses mining. Ada istilah “Garbage In Garbage Out”, jika yang masuk adalah sampah maka tentu saja hasilnya adalah sampah. Karena itu, data preprocessing sangat diperlukan dalam proses KDD. Hampir 70-80% proses KDD dihabiskan untuk data preprocessing.
Saat ini terdapat bermacam-macam jenis data yang menyebabkan data mining berkembang sangat luas untuk mengembangkan teknik mining untuk jenis-jenis data tertentu.
Ada data yang berbentuk record seperti data matrix, data transaksi, data document (dalam bentuk inverted index, sebuah matrix document-term). Ada yang berupa graph seperti www, struktur molekuler, dan social network. Ada juga yang berupa data spatial, time-series, temporal, spatiotemporal, sequential, text, multimedia, dan stream. Jenis aplikasinya sangat banyak, mulai dari intrusion detection, fraud detection, direct marketing, new drug discovery, mining gene expression, mining moving object, mining software bugs, sampai mining terrorism.
Namun hingga saat ini, belum ada teknik data mining yang dapat digunakan secara efektif untuk semua jenis data. Umumnya dikembangkan khusus untuk sebuah jenis data.

Setelah membaca survey link mining di SIGKDD Exploration December 2005 Vol7 Issue 2 (lihat post SIGKDD Exploration December 2005), saya jadi tahu bahwa link mining merupakan bagian yang menarik dan cukup luas dalam data mining. Bidang ini sangat berkaitan dengan yang namanya graph. Dalam survey tersebut, link mining dibagi menjadi delapan task yang dapat dikategorisasi sebagai task-task yang fokus pada object, link dan graph. Berikut ini adalah 8 task link mining pada survey tersebut:

  • Object-Related tasks
    1. Link based Object Ranking
    2. Link-based Object Classification
    3. Object Clustering (Group Detection)
    4. Object Identification (Entity Resolution)
  • Link-Related tasks
    1. Link Prediction
  • Graph-Related tasks
    1. Subgraph Discovery
    2. Graph Classification
    3. Generative Models for Graph

Link mining mengarah pada teknik data mining yang digunakan untuk membentuk sebuah model pengetahuan dari data-data yang saling berhubungan/berkaitan (linked data). Pengetahuan dari hubungan antar-object inilah yang dimining.
Ada dua jenis tipe link : homogen, dan heterogen. Yang homogen misalnya seperti social network dimana setiap object dihubungkan dengan hubungan teman (seperti model2 friendster), dan WWW yang merupakan kumpulan halaman web yang saling berhubungan. Yang heterogen ini lebih rumit, misalnya seperti network pada bidang medis yang menjelaskan hubungan pasien dengan penyakit dan treatment atau pada bibliografi yang menghubungkan publikasi, penulis, dan conference. Bentuk data yang seperti ini sangat baik direpresentasikan sebagai graph.
Linked data berbeda dengan data biasa yang tiap objectnya saling independent. Hal ini memberikan tantangan baru untuk mengembangkan teknik-teknik data mining baru. Selain itu, link mining semakin berkembang karena semakin banyak data saat ini yang direpresentasikan sebagai kumpulan hubungan antar object. Bersambung ke Survey Link Mining (2).

Secara umum data mining task dapat dibagi menjadi dua yaitu deskriptif dan prediktif. Deskriptif maksudnya bahwa data mining dilakukan untuk mencari pola-pola yang dapat dipahami manusia yang menjelaskan karakteristik data. Misalnya pencarian kelompok barang yang sering dibeli bersamaan pada data transaksi. Prediktif maksudnya data mining dilakukan untuk membentuk sebuah model pengetahuan yang akan digunakan untuk melakukan prediksi. Misalnya untuk memprediksi pengunjung online sebuah website komersial berdasarkan perilakunya apakah pengunjung ini akan membeli produk website tersebut.
Secara lebih spesifik data mining task berdasarkan fungsionalitasnya adalah sebagai berikut:

  • Mining Frequent Patterns, Associations, and Correlations : mencari pola-pola yang sering muncul dalam data. Pengetahuannya biasanya berupa rule yang menunjukkan pola-pola tersebut (biasanya disebut association rule). Teknik yang digunakan misalnya Apriori, FP-Growth, CLOSET.
  • Classification and Prediction : mencari sebuah model yang mampu melakukan prediksi pada suatu data baru yang belum pernah ada. Decision tree, neural network, bayesian network, support vector machines, k-nearest neighbor adalah contoh alat yang digunakan untuk membentuk model tersebut. Classification digunakan untuk prediksi categorical data (diskrit), sedangkan untuk numerical data (numerik) biasanya menggunakan analisa regresi.
  • Cluster Analysis : mengelompokkan data dalam sebuah cluster berdasarkan kemiripannya. Prinsipnya adalah memaksimalkan kemiripan dalam sebuah cluster, dan meminimalisasikan kermiripan antar cluster. Jadi data-data yang berada pada sebuah cluster akan memiliki kemiripan yang tinggi, dan sebaliknya data akan memiliki nilai kemiripan yang rendah dengan data yang berada pada cluster yang berbeda. Beberapa teknik yang digunakan dalam cluster analysis ini misalnya k-means, k-medoids, SOM, CLARANS, ROCK, BIRCH, Chameleon.
  • Outlier Analysis : mencari data object yang sifatnya anomali (berbeda dengan sifat umum data). Analisa ini berkaitan dengan yang namanya fraud detection. Justru data anomali tersebut, yang jumlahnya relatif sedikit ini menarik untuk dianalisa. Misalnya deteksi fraud credit card.
  • Evolution Analysis : mencari model atau tren untuk data-data yang sifatnya terus berubah. Analisa ini berkaitan dengan data time-series. Tasknya bisa meliputi clustering, classification, association dan correlation analysis.

SIGKDD Exploration December 2005, Volume 7, Issue 2.
Special issue SIGKDD kali ini adalah tentang Link Mining. Ada beberapa paper dan survey tentang link mining (berupa file PDF)
Ada juga beberapa report KDDCup, workshop, serta laporan Interview dengan Usama Fayyad (Yahoo! Chief Data Officer).
http://www.acm.org/sigs/sigkdd/explorations/issue.php?volume=7&issue=2&year=2005&month=12

Banyak orang mengenalnya dengan nama KDD, singkatan dari Knowledge Discovery in Databases.
Namun saat ini kepanjangan KDD mulai berubah menjadi Knowledge Discovery from Data. Kenapa? karena titik fokusnya bukan lagi hanya pada database, melainkan juga pada jenis-jenis data yang lain seperti WWW (world-wide-web), data stream, text/document.
Beberapa orang menyamakan data mining dengan nama KDD, namun hal ini kurang tepat karena sebenarnya data mining merupakan bagian data proses KDD.
KDD adalah rangkaian proses mengubah data “mentah” menjadi pengetahuan.
Berikut ini adalah tahapan-tahapan proses KDD :

  1. Data preprocessing (termasuk di dalamnya data cleaning, data integration, data selection, dan data transformation)
  2. Data preprocessing mengubah data “mentah” menjadi bentuk format yang sesuai untuk proses mining. Selain itu, pada data preprocessing dilakukan juga “pembersihan” data untuk data-data yang termasuk noise, yang tidak valid.

  3. Data mining & Pattern Evaluation
  4. Pada bagian ini baru dilakukan proses mining yang meng-“ekstraksi” pengetahuan dari data-data tersebut. Tidak semua pola-pola yang dihasilkan menarik/berguna. Pattern evaluation mengevaluasi hasil mining berdasarkan ukuran tertentu, tergantung proses mining yang dilakukan.

  5. Knowledge Representation
  6. Knowledge representation berusaha merepresentasikan pengetahuan yang diperoleh menjadi bentuk yang dapat dipahami oleh user.

Terlepas dari masalah nama, baik KDD maupun Data mining melibatkan banyak sekali disiplin ilmu yang lain. Misalnya : statistik, kecerdasan buatan (AI), database, teknik visualisasi. Belum lagi karena adanya berbagai jenis data yang mulai dieksplorasi untuk dimining, misalnya teori graph karena adanya graph mining, dan computational biology karena adanya mining pada bioinformatika. Semakin banyak disiplin ilmu yang bersinggungan dengan data mining.

Milis Data Mining Indonesia (Indo-dm)
http://groups.yahoo.com/group/indo-dm/
Bagi siapa saja yang tertarik dengan data mining bisa join milis ini.

Portal Komunitas Data Mining Indonesia
http://indodm.terasrumah.net/
http://datamining.japati.net/

Laman Berikutnya »