Data Mining dengan Teknologi Java


Data mining adalah proses terotomatisasi analisis data untuk menemukan pola-pola dan membangun model prediksi. Data mining memiliki fondasi teoritis dan melibatkan berbagai bidang seperti matematika, statistik, dan machine learning. Machine Learning adalah cabang dari artificial intelligence yang mengembangkan algoritma-algoritma yang dapat digunakan mesin untuk belajar pola-pola data secara otomatis. Data mining berbeda dengan analisis data dimana model datanya telah diketahui. Query data dan menganalisis data untuk dilakukan summary dan trend, biasanya dikenal dengan reporting dan OLAP (online analytic processing) adalah bentuk analisis data yang umum digunakan. Sedangkan data mining menekankan pada menemukan pola-pola atau model-model yang belum diketahui sebelumnya dengan menganalisis data sehingga menghasilkan pandangan baru terhadap data yang sedang dianalisis. Reporting, OLAP, dan data mining merupakan bagian dari Business Intelligence dalam bentuk umumnya.

Berbasis pada bagaimana data dianalisis, algoritma pada data mining dikategorikan ke dalam dua kategori, yaitu supervised learning dan unsupervised learning. Pada supervised learning, telah disediakan training dataset, dengan set instan-instan atau contoh-contoh di mana nilai yang diprediksikan telah diketahui. Setiap contoh terdiri dari atribut input dan atribut yang diprediksi. Tujuan dari algoritma ini adalah membangun model matematika yang dapat memprediksi nilai atribut output dari nilai-nilai variabel input yang diberikan. Decission tree, neural network, regression, Bayesian Belief network adalah contoh dari model prediksi. Model prediksi yang dibangun oleh beberapa algoritma seperti decision tree, belief network, dan rule induction lebih mudah dipahami daripada algoritma lain seperti neural network dan regression. Akurasi model prediksi diukur dari rata-rata seberapa baik model tersebut melakukan prediksi di proses sebelumnya. Ketika atribut yang diprediksi, target, adalah atribut kategori, model prediksi dinamakan classifier dan masalah dinamakan classification. Pada unsupervised learning, tidak ada nilai prediksi yang dipelajari. Algoritma menganalisis data multidimensi ke dalam bentuk kelompok-kelompok titik-titik yang saling berdekatan (hampir sama). K-means clustering, hierarchical clustering, dan density-based clustering adalah contoh-contoh algoritma clustering yang umum digunakan. Unsupervised learning sangat cocok untuk menganalisis data dan menemukan pola-pola data secara otomatis.

Mengimplementasikan ulang algoritma-algoritma di atas tidaklah mudah dan penuh tantangan, namun beruntung sampai saat ini ada beberapa komunitas opensource yang mengimplementasikan algoritma tersebut sehingga para pengembang aplikasi lebih fokus kepada pengembangan sistem atau logika bisnis daripada berkutat pada algoritma. Waikato Environment for Knowlegde Analysis atau dikenal WEKA adalah aplikasi populer untuk algoritma-algoritma data mining dan ditulis dalam bahasa Java. WEKA tersedia di bawah GNU General Public License. WEKA dikembangkan di Universitas Waikato di New Zealand. WEKA dikembangkan mulai tahun 1993, dikerjakan dalam versi Java tahun 1997. Di September 2006, Pentaho, pengembang software business intelligence opensource membeli WEKA. WEKA terdiri dari tool untuk pre-processing, klasifikasi, regresi, clustering, aturan-aturan asosiasi, dan visualisasi. WEKA juga menyediakan fitur GUI yang dapat digunakan untuk menguji berbagai data set dan menerapkan berbagai algoritma data mining. Namun yang menarik untuk diutilisasi dari WEKA adalah penggunaan Java API secara langsung sehingga pengembang dapat mengembangkan aplikasi data miningnya sendiri.

Bagaimana jika suatu saat akan dilakukan pergantian platform data mining ke vendor lain ? Mengganti platform ke vendor lain tidaklah mudah, bahkan menyusahkan, dan menghabiskan banyak waktu. Untuk itu diperlukan API data mining standar yang mendukung beragam vendor. Atas dasar inilah spesifikasi Java Data Mining (JDM) dikembangkan oleh Java Community Process JSR 73 dan JSR 247. JDM ditujukan untuk membangun API standar untuk data mining. Salah satu tujuan utamanya adalah meyediakan akses mudah sebagaimana halnya JDBC mengakses berbagai database. Spesifikasi JDM juga harus meyederhanakan pergantian implementasi data mining ke vendor lain. JDM sudah didukung oleh industri seperti Oracle, IBM, SPSS, CA, Fair Isaac.

Pada JSR 73, JDM mendukung lima tipe algoritma berbeda, yaitu clustering, classification, regression, attribute importance, dan association rules. JDM juga mendukung operasi-operasi data mining umum seperti, membangun, mengevaluasi, menerapkan, dan menyimpan model. JDM ini juga mendefinisikan XML schema untuk merepresentasikan model-model yang dapat diakses melalui web service. JSR 247 selanjutnya diluncurkan dan menspesifikasikan JDM 2.0 yang menyediakan fitur-fitur tambahan seperti statistika multivatiate, analisis time seri, deteksi anomali, transformasi, text mining, model-model multitarget, dan membandingkan model-model.


Tinggalkan Balasan