Cara Kerja Data Mining – Seri Data Mining for Business Intelligence (3)

By : Albert Verasius Dian Sano, S.T., M.Kom.

Bagaimana cara kerja data mining

Dengan menggunakan data yang ada dan relevan, data mining membuat beberapa model untuk mengidentifikasi pola-pola diantara atribut-atribut yang ada di dalam dataset. Model adalah penyajian matematis (persamaan linear sederhana dan/atau persamaan kompleks yang sangat tidak linear) yang mengidentifikasi pola-pola diantara berbagai atribut object (misalnya, pelanggan) yang ada di dalam dataset. Beberapa pola tersebut adalah bersifat deskriptif (menjelaskan saling-keterkaitan atau persamaan dan kesamaan diantara berbagai atribut tersebut), sementara yang lain adalah bersifat prediktif (meprediksi ‘value/hasil’ yang akan terjadi pada atribut-atribut tertentu). Secara umum, data mining mengidentifikasi empat jenis pola utama:

  1. Association: untuk menemukan pengelompokan hal-hal yang biasanya terjadi secara bersamaan, seperti bir dan popok bersamaan dalam analisa keranjang belanja (market-basket analysis)
  2. Predictions: menjelaskan sifat dasar kejadian di masa mendatang terhadap peristiwa-peristiwa tertentu berdasarkan apa yang telah terjadi di masa lalu, seperti memprediksi pemenang ‘Super Bowl’ atau memprediksi suhu pada hari tertentu.
  3. Clusters: mengidentifikasi pengelompokkan hal-hal berdasarkan karakter-karakter yang sudah diketahui, seperti mengelompokkan pelanggan dalam segment-segment yang berbeda berdasarkan demographis dan perilaku pembelian di masa lalu.
  4. Sequential relationships : menemukan rangkaian peristiwa-peristiwa, misalnya memprediksi bahwa seorang nasabah bank yang sudah memiliki akun untuk checking akan segera membuka akun untuk savings dan kemudian akan membukukan akun investment dalam setahun kemudian.

Jenis-jenis pola ini telah diekstraksi dari data secara manual oleh manusia selama berabad-abad, namun volume data yang terus meningkat di jaman modern telah menciptakan kebutuhan untuk pendekatan yang lebih otomatis. Karena dataset telah tumbuh baik dari sisi size dan kompleksitas, analisa data langsung secara manual  telah ditingkatkan dengan menggunakan berbagai tool pemrosesan otomatis yang menggunakan methodologi-methodologi, metode-metode, dan algoritma-algoritma yang canggih. Perwujudan dari evolusi cara-cara yang otomatis dan semiotomatis dalam memproses dataset yang sangat besar itulah saat ini secara umum dianggap sebagai data mining.

Secara umum, tugas-tugas dalam data mining bisa diklasifikasikan menjadi tiga kategori utama: prediksi (prediction), asosiasi (association), dan clustering.  Berdasarkan cara dimana pola-pola diekstraksi dari data historis, algorithma ‘learning’ (learning algorithm) pada metode-metode data mining bisa diklasifikasikan sebagai ‘supervised’ maupun ‘unsupervised’. Dengan algorithma-algorithma ‘supervised learninng’, data yang digunakan untuk pelatihan meliputi atribut-atribut deskriptif (misalnya variabel independent atau variabel decision) dan juga atribut class (misalnya variabel output atau variabel hasil). Sebaliknya, dengan algorithma ‘unsupervised learning’ data pelatihan hanya terdiri dari atribut deskriptif. Gambar dibawah ini menunjukkan taksonomi sederhana untuk tugas-tugas dalam data mining, serta metode-metode pembelajaran, dan algoritma-algoritma yang popular pada setiap tugas dalam data mining.

Taxonomy data mining tasks

Prediction (prediksi).  Prediction pada umumnya dianggap sebagai tindakan yang menjelaskan mengenai masa mendatang.  Hal ini berbeda dengan menebak secara sederhana dengan mempertimbangkan pengalaman, opini, dan informasi lainnya dalam melakukan peramalan.  Istilah yang umumnya dikaitkan dengan ‘prediction’ adalah ‘forecasting’.  Meskipun banyak orang yang percaya bahwa kedua istilah itu adalah sinonim, tetapi ada perbedaan tipis namun sangat penting diantara keduanya. ’Prediction’  pada umumnya berbasis opini dan pengalaman, ‘forecasting’ berbasis data dan model. Itulah, secara urutan reliabilitas, orang akan mengurutkan istilah itu seperti berikut: ‘guessing’, ‘predicting’, dan ‘forecasting’. Dalam terminology data mining, ‘prediction’ dan ‘forecasting’ digunakan secara sinonim, dan istilah prediksi digunakan sebagai penyajian yang umum. Bergantung pada sifat alami yang akan diprediksikan, ‘prediction’ bisa disebut secara lebih spesifik sebagai ‘classification’ (dimana hal yang diprediksi, seperti ramalan esok, di beri label class misalnya ‘rainy’ or ‘sunny’) atau regresi (dimana hal yang diprediksi, misalnya suhu esok, adalah angka riil misalnya ‘65oF’).

Classification (klasifikasi). Classification, atau ‘supervised induction’, barangkali adalah tugas dalam data mining yang paling umum. Tujuan ‘classification’ adalah untuk menganalisa data historis yang disimpan dalam database dan secara otomatis menghasilkan suatu model yang bisa memprediksi perilaku di masa mendatang. Model induksi ini terdiri dari generalisasi pada baris-baris data yang digunakan untuk pelatihan, yang akan membantu membedakan class-class standar. Harapannya adalah bahwa model tersebut kemudian bisa digunakan untuk memprediksi class-class dari baris-baris lain yang belum diklasifikasikan, dan lebih penting lagi, bisa secara akurat memprediksi peristiwa-peristiwa aktual mendatang.

Berbagai macam tool ‘classification’ yang banyak digunakan antara lain ‘neural networks’ (jaringan syaraf tiruan) dan ‘decision tree’ (pohon keputusan) –dari machine learning–, regresi logistic dan analisa diskriminan (dari statistic tradisional), dan berbagai tool yang baru muncul seperti ‘rough sets’, ‘support vector machines’, dan ‘genetic algorithms’. Teknik-teknik ‘classification’ bebasis statistik (misalnya regresi logistik dan analisa diskriminan) telah mendapatkan kritik—bahwa teknik-teknik itu membuat asumsi-asumsi yang tidak realistis mengenai data, seperti ‘independence’ dan ‘normality’ (kemandirian/ketidakbergantungan dan normalitas)—yang membatasi penggunaanya dalam project-project data mining jenis ‘classification’.

Neural networks (jaringan syaraf tiruan) melibatkan pengembangan struktur matematika (mirip dengan jaringan syaraf dalam otak manusia) yang memiliki kemampuan belajar dari pengalaman masa lalu yang disajikan dalam bentuk dataset yang terstruktur dengan baik.  Neural networks akan lebih efektif ketika jumlah variable yang terlibat agak banyak dan hubungan antara variable-varuiabel itu sangat kompleks dan tidak akurat. Neural networks memiliki keunggulan dan kelemahan. Contohnya, biasanya sangat sulit memberikan dasar alasan yang baik atas prediksi yang dibuat oleh neural network.  Selain itu, neural networks cenderung memerlukan pelatihan yang sangat banyak. Sayangnya, waktu yang diperlukan untuk pelatihan cenderung meningkat secara eksponensial karena volume data selalu meningkat, dan secara umum, neural networks tidak bisa dilatih pada database yang sangat besar. Hal-hal ini dan berbagai faktor yang lain telah membatasi penerapan neural networks dalam domain yang kaya dengan data.

Decision tree (pohon keputusan) mengklasifikasikan data menjadi jumlah class yang terbatas berdasarkan nilai-nilai dari variable-variable input. Decision tree pada dasarnya adalah hirarki dari statement ‘if-then’ dan karena itu jauh lebih cepat dibanding dengan neural networks. Decision tree paling cocok untuk data kategorikal dan interval. Karena itu, penyatuan variable-variabel kontinyu ke dalam suatu framework decision tree memerlukan ‘pendiskritan’; yaitu, dengan mengonversi variable-variabel numerik kontinyu yang memiliki nilai ke beberapa ‘range’ dan kategori.

Kategori yang terkait dari tool-tool classification adalah ‘rule induction’. Tidak seperti ‘deciosion tree’, dengan ‘rule induction’ statemen-statemen ‘if-then’ di-induksi dari data pelatihan secara langsung, dan mereka pada dasarnya tidak memerlukan hirarki. Yang lain lagi, teknik-teknik yang lebih baru seperti SVM, ‘rough sets’, dan algorithma genetika secara bertahap akan menemukan caranya ke dalam gudang algorithma classification dan bisa dipelajari lebih dalam dalam topik mengenai ‘advanced intelligent systems’.

Clustering. ‘Clustering’ membagi sekumpulan hal (misalnya, objects, events, dll, yang disajikan di dataset yang terstruktur/database) menjadi segment-segment (atau pengelompokan alami) berdasarkan karakteristik yang serupa. Berbeda dengan ‘classification’, di dalam ‘clustering’ label-label class tidaklah diketahui. Ketika algorithma terpilih memeriksa dataset, mengidentifikasi kesamaan berbagai hal berdasarkan karakteristik-karakteristik nya, saat itulah cluster-cluster dibuat. Karena cluster-cluster itu ditentukan dengan algorithma jenis ‘heuristic’, dan karena algorithma yang berbeda bisa saja menghasilkan hasil yang berbeda meskipun menggunakan dataset yang sama, maka sebelum hasil-hasil teknik clustering itu benar-benar digunakan sebaiknya perlu seorang pakar untuk menginterpretasikan, dan mungkin saja memodifikasi, cluster-cluster yang diberikan. Setelah cluster-cluster yang ‘masuk akal’ didapatkan, maka bisa digunakan untuk mengklasifikasi dan menginterpretasikan data baru.

Tidaklah mengherankan bahwa teknik-teknik clustering memerlukan optimasi. Tujuan dari clustering adalah membuat kelompok-kelompok dimana anggota kelompok dalam setiap kelompok memiliki kemiripan yang maksimum dan anggota-anggota kelompok di kelompok lain memiliki kemiripan yang minimum. Teknik clustering yang paling banyak digunakan adalah ‘k-means’ (dari statistik) dan ‘self-organizing maps’ (dari machine learning), yang merupakan arsitektur jaringan syaraf yang unik yang dikembangkan oleh Kohonen (1982).

Banyak perusahaan seringkali menggunakan sistem data mining secara efektif untuk menunjukkan segmentasi market dengan menggunakan analisa cluster. Analisa cluster adalah suatu cara dalam mengidentifikasi berbagai class dari berbagai item sehingga item-item  dalam suatu cluster memiliki lebih banyak kesamaan satu sama lain dibanding item-item dengan cluster yang lain. Hal ini bisa digunakan untuk men-segment-kan pelanggan dan mengarahkan produk marketing secara tepat ke segment-segment nya dalam waktu yang tepat dengan format yang tepat dan dengan harga yang tepat. Analisa cluster juga bisa digunakan untuk mengidentifikasi pengelompokan berbagai events atau objects sehingga sekumpulan karakteristik yang sama dari grup-grup itu bisa diidentifikasi.

Associations (asosiasi). ‘Associations’, atau ‘association rule learning in data mining’, adalah teknik yang sangat popular dan dikaji dengan baik sekali untuk menemukan hubungan yang menarik diantara berbagai variable dalam database yang sangat besar.  Terimakasih  kepada teknologi pengumpul data otomatis seperti ‘bar-code scanner’, penggunaan ‘association rules’ untuk menemukan pola keteraturan diantara berbagai produk dalam transaksi dengan skala yang sangat besar yang dicatat oleh sistem PoS (point of sales) dalam supermarket  telah menjadi hal umum dalam ‘knowledge-discovery’ dalam industri retail. Dalam konteks industri retail, ‘association rule mining’ seringkali disebut juga dengan ‘market-basket analysis’.

Dua turunan dari ‘association rule mining’ yang paling umum digunakan adalah ‘link analysis’ dan ‘sequence analysis’ (analisa urutan aktivitas).  Dengan ‘link analysis’, kaitan diantara banyak object yang menarik didapatkan secara otomatis, seperti hubungan antara halaman-halaman web dan hubungan referensial diantara berbagai grup penulis publikasi akademik. Dengan ‘sequence mining’, berbagai macam hubungan diteliti berdasarkan urutan kejadian untuk mengidentifikasi ‘associations’ terhadap waktu. Berbagai algorithma yang digunakan dalam ‘association rule mining’ meliputi algorithma Apriori yang sangat terkenal (dimana sekumpulan item yang sering muncul diidentifikasi) dan FP-Growth, OneR, ZeroR, dan Eclat.

Visualization (Visualisasi) dan Time-series forecasting. Dua teknik yang sering dikaitkan dengan data mining adalah ‘visualization’ dan ‘time-series forecasting’. ‘Visualization bisa digunakan bersamaan dengan teknik-teknik data mining untuk memperoleh pemahaman yang lebih jelas mengenai hubungan yang mendasari. Dengan ‘time-series forecasting’, data adalah serangkain nilai dari variable yang sama yang diambil dan disimpan dari waktu ke waktu. Data ini kemudian digunakan untuk mengembangkan model untuk memperkirakan nilai-nilai di masa mendatang dari fenomena yang sama.

Hypothesis- or discovery-driven data mining. Data mining bisa berbasis hypothesis atau berbasis discovery.  ‘Hypothesis-driven data mining’ dimulai dengan suatu dalil oleh pengguna, yang kemudian berusaha memvalidasi keadaan yang sebenarnya dari dalil tadi. Contohnya, seorang manajer marketing bisa mulai dengan dalil berikut: “apakah penjualan player DVD terkait dengan penjualan televisi?”

‘Discovery-driven data mining’ menemukan pola, asosiasi (associations), dan hubungan-hubungan lainnya yang tersembunyi di dalam dataset. Hal ini bisa menyingkap fakta-fakta yang tidak diketahui atau bahkan dipikirkan sebelumnya oleh perusahaan.