Data Mining — Firdi

June 10, 2009

Who(ever) has information fastest and uses it wins

-Don McKeough, former president of Coca-Cola

Post I (10 Juni 2009)

Postingan pertama ini akan membahas latar belakang, definisi, dan fungsi dari data mining

Apa yang Melatarbelakangi Munculnya Data Mining?

Pada beberapa tahun belakangan ini telah terjadi perkembangan yang sangat pesat terhadap teknologi pengoleksian dan penyimpanan data. Perkembangan teknologi tersebut memungkinkan pengumpulan dan penyimpanan data dengan lebih cepat, kapasitas yang lebih besar, dan harga yang lebih murah. Pada akhirnya perkembangan teknologi tersebut menimbulkan penumpukan koleksi data, misalnya: data transaksi penjualan pada sebuah swalayan, data pasien pada rumah sakit, data rekening pada bank, dan sebagainya. Ukuran basis  data meningkat baik dalam jumlah record (baris data) maupun jumlah atribut pada record. Hal ini didukung oleh perkembangan perangkat keras dan teknologi basis data yang memungkinkan penyimpanan dan pengaksesan data secara efisien dan murah. Tetapi kecepatan bertambah banyaknya data tersebut tidak diimbangi dengan banyaknya penarikan informasi dari data tersebut. Jadi bisa dikatakan kita kaya akan data, tetapi miskin akan informasi.

Analyze

Kumpulan data jika dibiarkan begitu saja tidak dapat memberikan nilai tambah berupa pengetahuan yang bermanfaat. Pengetahuan yang bermanfaat ini misalnya, dari basis data penjualan pada perusahaan produk konsumen, dapat diperoleh pengetahuan tentang hubungan antara penjualan barang tertentu dan golongan konsumen dengan demografi tertentu. Pengetahuan ini dapat digunakan untuk melakukan promosi penjualan baru yang keuntungannya dapat diprediksi relatif terhadap promosi pemasaran lainnya. Basis data seringkali merupakan sumber daya potensial tidak aktif yang sebenarnya dapat menghasilkan manfaat yang besar.

Secara konvensional, untuk memperoleh pengetahuan dari data dilakukan analisis dan interpretasi secara manual. Namun analisis data manual sifatnya lambat, mahal, dan sangat subjektif. Dengan fakta bahwa volume data sangat besar (hingga jutaan record dan ratusan atribut pada tiap record dalam basis data), penggunaan analisis data manual menjadi sangat tidak praktis, sehingga perlu beralih menggunakan teknik komputasi. Proses pencarian pengetahuan bermanfaat dari data menggunakan teknik komputasi dikenal dengan istilah Knowledge Discovery in Databases (KDD). Definisi KDD adalah proses nontrivial untuk mengidentifikasi pola dari data, yang valid, baru, berpotensi menjadi pengetahuan yang bermanfaat, dan dapat dimengerti.

Jadi, Apa yang Dimaksud Dengan Data Mining?

Ada sekumpulan orang yang menganggap data mining sebagai sinonim dari KDD. Tetapi ada juga yang menganggap data mining adalah salah satu langkah khusus dalam proses KDD, yaitu aplikasi dari algoritma spesifik untuk mengekstrak pola (atau model) dari data. Selengkapnya, langkah-langkah dalam KDD adalah (seperti yang ditunjukkan di gambar) :

KDD

1. Selection

Selection adalah penyiapan data target yang digunakan untuk pencarian pengetahuan.

2. Preprocessing

Pada langkah ini dilakukan proses-proses pendahuluan meliputi pembersihan data (data cleaning), pengumpulan informasi yang diperlukan untuk memodelkan, penentuan strategi untuk menangani field data yang hilang, dan pencatatan informasi urutan waktu dan perubahan yang diketahui.

3. Transformation

Langkah ini meliputi penentuan fitur penting untuk merepresentasikan data bergantung pada tujuan, dan menggunakan reduksi dimensionalitas atau metode-metode transformasi untuk mengurangi banyaknya variabel efektif di bawah pertimbangan, atau menemukan representasi invarian bagi data

4. Data Mining

Data mining merupakan pencarian pola dalam bentuk representasi tertentu seperti Decision Tree, Neural Network, Rule Induction, Bayesian Network, K-Means Clustering, dll. Sebelum data mining dilakukan, terlebih dahulu perlu dipilih sebuah data mining task, selanjutnya dipilih sebuah representasi model yang sesuai dengan task tersebut, dan kemudian ditentukan algoritma untuk menemukan model.

Pemilihan sebuah data mining task disesuaikan dengan tujuan proses KDD yang telah ditentukan di awal. Data mining task antara lain :

  1. klasifikasi : memetakan (mengklasifikasikan) data ke dalam satu atau beberapa kelas yang sudah didefinisikan sebelumnya.
  2. regresi : memetakan sebuah item data pada sebuah variabel prediksi nilai nyata.
  3. clustering : memetakan data ke dalam satu atau beberapa kelas kategori (atau cluster) dimana kelas-kelas tersebut harus ditentukan dari data, tidak seperti klasifikasi dimana kelas didefinisikan sebelumnya.
  4. peringkasan : menemukan sebuah deskripsi kompak bagi sebuah subset data.
  5. pemodelan kebergantungan : menemukan model yang menggambarkan kebergantungan signifikan di antara variabel.
  6. deteksi perubahan dan deviasi : mencari perubahan yang paling signifikan dalam data dari pengukuran atau nilai normal sebelumnya.

5. Interpretation/Evaluation

Pada langkah ini dilakukan interpretasi terhadap pola yang dihasilkan untuk mendapatkan pengetahuan. Dimungkinkan juga untuk kembali ke langkah-langkah sebelumnya.

Apa fungsi Data Mining?

Secara umum fungsi proses data mining dapat diklasifikasikan dalam dua kategori : deskriptif dan prediktif. Fungsi prediktif menyediakan aturan-aturan global yang dapat diaplikasikan terhadap basis data. Aplikasi yang dimaksudkan meliputi prediksi suatu variabel tertentu jika diketahui suatu informasi pendukung. Sedangkan fungsi deskriptif bertujuan untuk menyediakan deskripsi dari data sumber yang tersedia. Deskripsi tersebut disediakan dalam bentuk ringkasan padat yang memberikan informasi berupa cluster, keterhubungan, asosiasi maupun bentuk-bentuk lainnya.

Post II (24 Juni 2009)

Pada postingan ini akan dibahas salah satu teknik dasar dari data mining yaitu mencari asosiasi antar data serta memperkenalkan market basket analysis.

Apa Beda DBMS dan Data Mining?

DBMS merupakan kumpulan query berdasarkan data yang disimpan, contoh

  • Angka penjualan bulan lalu untuk tiap produk
  • Daftar pembeli yang dikelompokkan berdasarkan umurnya
  • Daftar pelanggan yang membeli di toko dengan jumlah di atas 10 kali dalam sebulan

Sedangkan data mining merupakan penarikan informasi dari data yang disimpan misalnya

  • Pada kisaran umur dan pendapatan berapakah pelanggan banyak membeli TV?
  • Barang apakah yang kemungkinan akan juga dibeli pelanggan jika ia membeli komputer?

Pada data seperti apakah data mining bisa diterapkan?

Secara prinsip, data mining dapat diterapkan pada banyak jenis basis data, seperti relational database, data warehousetransactional, dan object-relational database. Pola data yang menarik juga dapat diambil dari jenis repository informasi yang lain termasuk spatial, time-series, sequence, text, multimedia, legacy database, data stream, dan World Wide Web. Tetapi teknik data mining bisa berbeda untuk tiap sistem repository.

Pola apa saja yang dapat diambil dari data?

Ada banyak jenis pola data, beberapa diantaranya yaitu itemset,subsequence, dan substructure. Itemset merupakan kumpulan barang yang sering muncul dalam data transaksi, seperti susu dan roti. Sedangkan subsequence merupakan pola pada data yang sekuensial, misalnya pola bahwa pembeli cenderung membeli sebuah PC, diikuti dengan sebuah kamera digital, dan kemudian sebuah memory card. Substructure merupakan pola dengan bentuk struktural seperti grafik atau pohon, yang biasa digabungkan dengan itemset atau subsequence. Jika sebuah substructure sering muncul, maka disebut pola terstruktur.  Dari pola-pola tersebut dapat ditemukan hubungan antar data yang menarik. Bentuk pengambilan pola itemset yang paling awal adalah market basket analysis.

Market Basket Analysis?

Ini adalah proses yang menganalisa kebiasaan pembeli dengan menemukan hubungan antara barang yang berbeda pada keranjang belanja(market basket) mereka. Penemuan hubungan tersebut dapat membantu penjual untuk mengembangkan strategi penjualan dengan mempertimbangkan barang yang sering dibeli bersamaan oleh pelanggan. Sebagai contoh, bila pembeli membeli susu, seberapa besar kemungkinan mereka juga akan membeli roti (roti jenis apakah itu) pada transaksi yang sama.

market_basket_analysis

Informasi seperti itu akan membantu penjual untuk meningkatkan angka penjualan. Untuk lebih jelasnya dapat dilihat pada contoh berikut ini:

Misalnya pada sebuah toko elektronik, untuk menjawab pertanyaan “Barang-barang apa saja yang kemungkinan dibeli pada kunjungan yang sama?” Untuk menjawab pertanyaan ini market basket analysis bisa dilakukan pada data transaksi pembelian pada toko tersebut. Hasilnya bisa diterapkan untuk berbagai perencanaan penjualan misalnya dalam mendesain layout toko. Ada 2 strategi:

  • Barang-barang yang sering dibeli bersamaan ditempatkan berdekatan.

Hal ini meningkatkan kemungkinan barang-barang tersebut dibeli bersamaan.

Contoh: Jika pelanggan yang membeli komputer cenderung membeli antivirus juga, maka dengan menempatkan keduanya berdekatan, maka pembeli yang membeli komputer begitu melihat antivirus kemungkinan akan terpikir bahwa ia juga butuh antivirus sehingga membeli keduanya.

  • Barang-barang tersebut justru diletakkan berjauhan.

Ini agar pelanggan yang membeli barang-barang tersebut mungkin tertarik untuk membeli juga barang yang lain ketika berjalan.

Contoh: Setelah membeli komputer yang mahal, seorang pembeli kemungkinan mengamati sistem keamanan rumah (karena takut computer mahalnya dicuri :P) yang dijual selagi menuju tempat antivirus berada sehingga kemungkinan membeli sistem keamanan rumah juga.

Pola hubungan ini direpresentasikan dalam bentuk apa?

Pola-pola hubungan ini bisa direpresentasikan dengan association rule yang bisa dilihat dari contoh berikut ini.

Contoh : Misalnya kita sebagai manager pemasaran dari sebuah toko elektronik serba ada, kita ingin menentukan barag-barang mana yang sering dibeli bersamaan pada transaksi yang sama. Misalnya diambil dari basis data perusahaan kita ditemukan

beli(X,”komputer”)→beli(X,”software”) [support = 1%, confidence = 50%]

Dimana X adalah variable yang mewakilkan pembeli. Confidence = 50 % berarti bila ada seorang pembeli yang membeli sebuah komputer, maka ada 50% kemungkinan dia akan membeli software juga. 1% support berarti 1% dari semua transaksi yang diteliti menunjukkan bahwa komputer dan software dibeli bersamaan.

Dari data-data yang ada bisa juga ditemukan hubungan seperti ini:

umur(X,”20..29”)^income(X,”2000K..3000K”)→membeli(X,”CD player”) [support=2%, confidence=60%]

Hubungan tersebut menunjukkan pengunjung toko kita yang dijadikan sampel, 2% diantaranya adalah berumur 20 sampai 29 tahun dengan pendapatan sekitar 2 juta sampai 3 juta membeli sebuah CD player. Ada 60% kemungkinan pembeli pada umur ini dan kelompok pendapatan ini akan membeli sebuah CD player.

Hubungan seperti ini biasa tidak dianggap bila hubungan tersebut tidak memenuhi baik ambang minimum support dan ambang minimum confidence.

Post III (7 Juli 2009)

Pada postingan ini akan dibahas metode efisien dalam data mining untuk itemset dasar dari transactional database, dan menunjukkan bagaimana menyimpulkan hubungan dari itemset tersebut.

Algoritma paling dasar untuk mencari itemset yang sering muncul (disebut frequent itemset) adalah algoritma Apriori.

Algoritma Apriori?

Algoritma ini diajukan oleh R. Agrawal dan R. Srikant tahun 1994. Apriori melakukan pendekatan iterative yang dikenal dengan pencarian level-wise, dimana k-itemset digunakan untuk mengeksplorasi (k+1)-itemset. Pertama, kumpulan 1-itemset ditemukan dengan memeriksa basis data untuk mengakumulasi penghitungan tiap barang, dan catat barang tersebut. Hasilnya dilambangkan dengan L1. Selanjutnya, L1 digunakan untuk mencari L2, kumpulan 2-itemset yang digunakan untuk mencari L3, dan seterusnya sampai tidak ada k-itemset yang dapat ditemukan. Penemuan Lk memerlukan pemeriksa keseluruhan basis data.

Untuk menambah efisiensi dari pencarian frequent itemset, digunakan kaidah Apriori yang berbunyi “Semua bagian tidak kosong dari frequent itemset juga frequent”.

Untuk lebih jelasnya mari kita lihat di contoh berikut :

Diketahui basis data transaksi D sebagai berikut:

ID Transaksi ID Barang yang dibeli
T100 I1,I2,I5
T200 I2,I4
T300 I2,I3
T400 I1,I2,I4
T500 I1,I3
T600 I2,I3
T700 I1,I3
T800 I1,I2,I3,I5
T900 I1,I2,I3
  1. Pada iterasi pertama dari algoritma ini, setiap barang adalah anggota himpunan kandidat 1-itemset, C1. Algoritma ini memeriksa seluruh transaksi untuk menghitung jumlah kemunculan setiap barang
  2. Misalkan jumlah kemunculan minimum yang dibutuhkan adalah 2. Himpunan frequent 1-itemset, L1, maka dapat ditentukan yaitu terdiri dari kandidat 1-itemset yang jumlah kemunculannya memenuhi syarat.
  3. Untuk mencari himpunan frequent 2-itemset, L2, algoritma ini menggunakan L1L1 untuk menghasilkan kandidat 2-itemset, C2.
  4. Berikutnya data dalam D dibaca untuk dicatat akumulasi kemunculan barang di C2.
  5. Himpunan frequent 2-itemset, L2, kemudian ditentukan, terdiri dari kandidat 2-itemset dalam C2 yang memenuhi batas minimum.
  6. Berikutnya adalah mencari kandidat 3-itemset, C3. Seperti mencari kandidat C2, C3=L2L2={{I1,I2,I3,I5},{I2,I4,I5}}. Berdasarkan kaidah Apriori, kita dapat menentukan 4 kandidat berikutnya tidak mungkin frequent sehingga menghemat iterasi yang tidak perlu untuk mencari jumlah mereka ketika membaca D untuk menentukan L3.
  7. D dibaca untuk menentukan L3, yang terdiri dari kandidat 3-itemset dalam C3 yang memenuhi batas minimum yaitu {{I1,I2,I3},{I1,I2,I5}}.
  8. L3L3 untuk menghasilkan kandidat 4-itemset, C4. Walaupun hasilnya adalah {{I1,I2,I3,I4,I5}}, itemset ini tidak berlaku karena subset nya {{I2,I3,I5}} tidak frequent. Jadi, C4 = {}, dan algoritma ini berhenti.

ex1ex2

Dari hasil yang diperoleh, bagaimana membuat Association Rule nya?

Setelah hasilnya diperoleh, langsung saja dibuat association rule yang kuat dari hasil tersebut (dimana association rule yang kuat memenuhi baik ambang minimum support dan ambang minimum confidence). Ini bisa didapat dari persamaan berikut:

eq1

Dimana support_count(A U B) adalah jumlah transaksi  yang mengandung itemset A U B, dan support_count(A) adalah jumlah transaksi yang mengandung itemset A. Berdasarkan persamaan ini, association rule bisa didefinisikan sebagai berikut:

  • Untuk setiap frequent itemset l, dicari semua subset dari l
  • Untuk setiap subset tidak kosong s dari l, dihasilkan peraturan “s=>(l-s)” jika support_count(l) dibagi support_count(s)>=min_conf dimana min_conf adalah ambang minimum confidence.

Contoh

Misalkan data-data yang ada berbentuk seperti pada contoh sebelumnya, dan frequent itemset nya adalah l = {I1,I2,I5}. Apa saja association rule yang bisa didapat dari l? Subset dari l adalah {I1,I2}, {I1,I5}, {I2,I5},{I1},{I2}, dan {I5}. Berikut association rule nya dengan confidence:

I1ΛI2→I5                             confidence = 2/4 = 50%

I1ΛI5→I2                             confidence=2/2=100%

I2ΛI5→I1                             confidence=2/2=100%

I1→I2ΛI5                             confidence=2/6=33%

I2→I1ΛI5                             confidence=2/7=29%

I5→I1ΛI2                             confidence=2/2=100%

Jika ambang minimum confidence (yang ditentukan) adalah 70% maka hanya aturan kedua, ketiga, dan terakhir yang merupakan output, karena aturan-aturan ini yang kuat.

Post IV (22 Juli 2009)

Posting kali ini akan membahas definisi klasifikasi dan prediksi serta beberapa metode klasifikasi.

Basis data kaya akan informasi tersembunyi yang dapat digunakan untuk pengambilan keputusan yang tepat. Klasifikasi dan prediksi adalah dua bentuk analisa data yang dapat digunakan untuk membuat model yang menggambarkan kelas data yang penting untuk memprediksi kecenderungan data.

Apa itu klasifikasi? Apa itu prediksi?

Seorang petugas bank memerlukan analisa dari datanya untuk mengetahui mana peminjam yang “aman” dan mana yang “beresiko” untuk bank. Seorang manajer pemasaran dari sebuah toko elektronik memerlukan analisa data untuk membantu menebak apakah seorang pembeli dengan profil tertentu akan membeli komputer baru. Seorang peneliti medis ingin menganalisa data kanker untuk memprediksi mana dari 3 penanganan spesifik yang tepat pada seorang pasien. Pada tiap dari contoh tersebut adalah klasifikasi, dimana sebuah model dibuat untuk memprediksi sebuah label, seperti “aman” atau “beresiko” untuk data peminjam; “ya” atau “tidak” untuk data pemasaran. Kategori-kategori ini direpresentasikan dengan nilai diskrit, dimana urutan dari nilai tersebut tidak penting.

Misalnya seorang manajer pemasaran ingin memperkirakan berapa banyak seorang pembeli akan menghabiskan uangnya ketika masa obral di sebuah toko elektronik. Tugas analisa data ini adalah contoh prediksi numeric, dimana model dibuat untuk memprediksi sebuah nilai yang kontinu.

Bagaimana proses klasifikasi?

Klasifikasi data terdiri dari dua langkah proses: learning dan classification. Pada tahap learning, data dianalisa oleh algoritma klasifikasi. Sedangkan tahap classification, data test digunakan untuk memperkirakan akurasi dari aturan klasifikasi. Bila akurasinya dianggap bisa diterima, maka aturan tersebut dapat diaplikasikan pada klasifikasi tuple data baru.

Untuk lebih jelasnya dapat dilihat pada contoh dibawah ini:

klasifikasi1

klasifikasi2

Gb 4.1   (a)Tahap Learning (b)Tahap Classification

Bagaimana metode klasifikasi?

Metode klasifikasi ada banyak yaitu klasifikasi dengan induksi pohon keputusan, klasifikasi Bayesian, klasifikasi berdasarkan aturan, klasifikasi dengan backpropagation, dan masih ada yang lain. Metode yang paling terkenal adalah klasifikasi Bayesian karena mempunyai akurasi dan kecepatan yang tinggi ketika diterapkan pada basis data yang besar. Klasifikasi Bayesian ini juga banyak dibahas di tugas akhir mahasiswa tingkat atas yang mengambil topik data mining😀

Karena banyaknya (dan rumitnya) semua metode tersebut, saya hanya akan mencoba membahas beberapa metode saja. Untuk lengkapnya silahkan melihat referensi di bawah khususnya buku karangan Han Jiawei.

Klasifikasi dengan induksi pohon keputusan

Sebuah pohon keputusan pada klasifikasi ini adalah struktur pohon yang seperti diagram alir, dimana setiap simpul internal (simpul non-daun) menunjukkan sebuah test pada sebuah atribut, setiap cabang merepresentasikan hasil dari test, dan setiap daun menyimpan label kelas.

pkeputusan

Gb 4-2 Contoh pohon keputusan untuk menunjukkan apakah seorang pembeli akan membeli sebuah komputer.

Untuk membuat sebuah pohon keputusan terdapat suatu algoritma khusus. Ketika membuat pohon, attribute selection measures digunakan untuk memilih atribut yang terbaik untuk mempartisi tuple menjadi kelas yang berbeda. Ketika pohon telah terbentuk, banyak cabang yang merefleksikan data yang tidak sesuai. Tree pruning adalah teknik yang digunakan untuk mengidentifikasi dan menghapus cabang-cabang tersebut, dengan tujuan meningkatkan akurasi dari data yang tak pernah terlihat.

Klasifikasi ini cukup popular karena tidak membutuhkan pengetahuan domain data, sehingga cocok untuk mengeksplorasi  dalam knowledge discovery. Pohon keputusan intuitif dan secara umum mudah dipahami oleh manusia. Tahap learning dan classification dalam klasifikasi ini sederhana dan cepat. Dan hal penting lainnya adalah tingkat akurasi yang cukup tinggi.

Klasifikasi berdasarkan-aturan

Model dari klasifikasi ini direpresentasikan dengan kumpulan IF-THEN. Aturan bisa didapat dari pohon keputusan maupun langsung dari data melalui algoritma sequential covering. Misalnya kita ingin membuat aturan klasifikasi dari pohon keputusan pada gambar 4-2, maka aturan yang terbentuk :

R1: IF age=youth AND student=no  THEN buys_computer = no

R2: IF age=youth AND student=yes  THEN buys_computer = yes

R3: IF age=middle_aged  THEN buys_computer = yes

R4: IF age=senior AND credit_rating=excellent THEN buys_computer = yes

R5:IF age=senior AND credit_rating=fair THEN buys_computer=no

Sebuah disjungsi (OR) tidak muncul secara eksplisit karena aturan-aturan tersebut diambil secara langsung dari pohon, aturan tersebut mutually exclusive dan exhaustive. Mutually exclusive, berarti kita tidak bisa membuat aturan konflik karena tidak ada dua aturan yang sama pada tuple yang sama. (ada satu aturan tiap daun, dan semua tuple hanya bisa menuju ke satu daun). Exhaustive berarti urutan dari aturan tersebut tidak penting.

Post V (2 Agustus 2009)

Setelah membahas klasifikasi di postingan sebelumnya, saya akan membahas prediksi serta clustering, saya akan mulai dengan prediksi. Prediksi numerik adalah proses memprediksi nilai kontinu dari masukan yang diberikan. Sebagai contoh, kita ingin memprediksi gaji dari sarjana dalam 10 tahun mereka bekerja, atau angka penjualan potensial dari produk baru dengan harga sekian.

Jadi, bagaimana cara kita melakukan prediksi numeric?

Sejauh ini, pendekatan yang secara umum digunakan untuk prediksi numeric adalah regresi. Analisa regresi dapat digunakan untuk memodelkan hubungan antara satu atau lebih variabel independent atau predictor dan sebuah variabel dependent atau response. Biasanya nilai dari variabel predictor diketahui, variabel response lah yang ingin diprediksi. Analisa regresi adalah pilihan yang bagus dimana semua variabel predictor bernilai kontinu. Banyak permasalahan dapat diselesaikan dengan regresi linier, dan permasalahan yang lain juga bisa diselesaikan dengan mengubah variabelnya sehingga permasalahan nonlinier berubah menjadi linier.

Regresi liniernya sama dengan yang di matematika?

Secara konsep jawabannya adalah ya. Di sini saya akan membahas regresi garis lurus dimana ada sebuah variabel response, y, dan sebuah variabel predictor, x. Y kemudian dimodelkan sebagai fungsi linier dari x yaitu

y = w0 + w1x

Dimana w0 dan w1 merupakan koefisien regresi. Koefisien ini dapat dicari dengan metode least square, yang memperkirakan garis lurus yang paling cocok yang meminimasi kesalahan antara data yang sebenarnya dan garis perkiraan. Misalnya D adalah kumpulan nilai dari variabel predictor, x, dan nilai y yang sesuai dengan nilai x tersebut. Jadi D berisi data dalam bentuk (x1,y1), (x2,y2), ….

Koefisien regresinya dicari dengan persamaan,

eqregresi

eqregresi1

Contoh:

Tabel dibawah menunjukkan kumpulan data dimana x adalah tahun lama bekerja dari seorang sarjana dan y adalah gajinya.

ex1

Dari data tersebut, dapat digambarkan sebagai titik-titik yang tersebar seperti yang ditunjukkan di atas. Dapat dilihat bahwa titik tersebut menyerupai bentuk garis lurus sehingga dapat diterka bahwa gaji berhubungan dengan lamanya pengalaman bekerja dengan persamaan y = w0 + w1x

Dengan data yang ada, nilai rata-rata x adalah 9.1 dan nilai rata-rata y adalah 55.4. Nilai tersebut disubstitusikan ke dalam persamaan dalam metode least square sehingga didapatkan w1 = 3.5 dan w0 = 23.6

Jadi persamaannya adalah y = 23.6 + 3.5x. Dengan persamaan ini, kita dapat memprediksi gaji seorang sarjana dengan 10 tahun pengalaman kerja adalah 58600.

Bayangkan misalnya kita diberikan kumpulan objek data untuk dianalisa yang berbeda dengan klasifikasi dimana label dari objek tidak diketahui. Hal seperti ini sering terjadi pada basis data yang besar, karena membuatkan label pada banyak objek merupakan proses yang mahal. Karena itu dibutuhkan proses yang dinamakan clustering.

Apa itu clustering?

Clustering adalah proses mengelompokkan data ke dalam kelas atau cluster, jadi objek-objek di dalam cluster yang sama mempunyai persamaan yang besar  tetapi sangat berbeda dibandingkan objek pada cluster yang lain. Perbedaan yang dimaksud dilihat berdasarkan nilai atribut yang menggambarkan objek. Walaupun klasifikasi adalah metode efektif untuk membedakan grup atau kelas dari objek, tetapi seringkali memberi label dari kumpulan besar data merupakan proses yang mahal. Sehingga lebih efektif bila proses tersebut dibalik : pertama mempartisi kumpulan data menjadi kelompok berdasarkan kesamaan data (menggunakan clustering) kemudian memberi label kepada sejumlah grup yang relatif kecil.

Apa saja metode clustering?

Lagi-lagi karena rumitnya tiap metode clustering, saya hanya membahas garis besar tiap metode tersebut😛

  • Metode partisi

Diberikan sebuah basis data dengan n objek, metode partisi akan membangun k partisi dari data, dimana setiap partisi mewakilkan sebuah cluster dan k<=n. Dan setiap kelompok tersebut memenuhi aturan : (1) setiap kelompok harus terdapat paling sedikit satu objek, dan (2) setiap objek harus masuk dalam tepat satu kelompok.

  • Metode Hirarki

Seperti namanya metode ini menciptakan dekomposisi hirarki dari kumpulan objek yang diberikan. Metode hirarki ini dapat digolongkan baik agglomerative atau divisive berdasarkan bagaimana dekomposisi hirarki tersebut dibuat. Pendekatan agglomerative, yang juga disebut pendekatan bottom-up, mulai dengan tiap objek membentuk grup terpisah. Kemudian berturut-turut menggabungkan grup yang dekat satu dengan yang lain, sampai semua grup tergabung menjadi satu (metode yang mengingatkan saya pada prosedur merge dalam merge sort :D). Pendekatan divisive yang juga disebut pendekatan top-down merupakan kebalikannya, mulai dari semua objek dalam cluster yang sama. Pada setiap iterasi, sebuah cluster dibagi menjadi cluster yang lebih kecil sampai setiap objek pada satu cluster.

  • Metode berdasarkan-densitas

Idenya adalah melanjutkan mengembangkan cluster selama densitas (jumlah objek) pada cluster tetangga melebihi batas tertentu. Maksudnya, setiap poin data pada cluster tertentu, cluster sekitarnya pada radius tertentu harus mempunyai paling sedikit sejumlah poin yang memenuhi batas minimum.

  • Metode berdasarkan-kotak

Metode ini membuat ruang objek menjadi sel dengan jumlah tertentu yang membentuk struktur kotak. Semua operasi clustering dilakukan pada struktur kotak. Keuntungan dari pendekatan ini adalah kecepatan proses yang tidak bergantung pada jumlah objek dan hanya bergantung pada jumlah sel pada tiap dimensi.

  • Metode berdasarkan-model

Metode berdasarkan-model menghipotesa sebuah model untuk tiap cluster dan mencari model yang paling tepat pada data yang diberikan. Algoritmanya akan menempatkan cluster dengan membuat fungsi densitas yang berfungsi menentukan jumlah cluster berdasarkan statistik.

Pilihan algoritma clustering tergantung tipe data yang ada dan aplikasi yang diterapkan. Jika analisa cluster digunakan sebagai alat eksplorasi, sebaiknya mencoba beberapa algoritma pada data yang sama.

Oke, setelah clustering berikutnya ada apa lagi?

Sayang sekali tapi selesailah konsep dan teknik dasar dari data mining (dari pencarian asosiasi, pencarian kelompok objek, klasifikasi, prediksi dan sampai pada clustering). Tetapi teknik yang saya bahas hanya untuk struktur data yang sederhana seperti data dalam basis data relasional, transactional, dan data warehouse.  Dewasa ini data tumbuh ke dalam bentuk yang kompleks (semi-terstruktur dan tidak terstruktur, spatial dan temporal, hypertext dan multimedia) karena pertumbuhan yang cepat dari koleksi data, teknologi sistem basis data yang kompleks, dan World Wide Web. Karena itu, tugas data mining dituntut untuk semakin berkembang untuk menggali data yang semakin kompleks. Dengan demikian, data mining sampai saat ini masih terus berkembang sehingga sangat menarik untuk dipelajari.

Daftar Referensi

Cheng, J. Bell, D. A., Liu, W. 2001. Learning Bayesian Network from Data : An Information-Theory Based Approach. University of Ulster.

Fayyad, U.; Piatetsky-Shapiro, G.; Smyth, P. 1996. From Data Mining to Knowledge Discovery. AAAI/MIT Press, Cambridge, Mass.

Fayyad, U., Piatetsky-Shapiro, G., Smyth, P. 1996. The KDD Process for Extracting Useful Knowledge from Volumes of Data. Communication of the ACM.

Han, Jiawei; Kamber, Micheline. 2006. Data Mining: Concepts and Techniques. Morgan Kaufmann Publisher.

Sophia, Aya. 2005. Algoritma PC Sebagai Alternatif Pendekatan Analisis Dependensi Untuk Konstruksi Struktur Bayesian Network Dalam Data Mining.

Two Crows. 1999. Introduction to Data Mining and Knowledge Discovery. Two Crows Publisher.

12 Responses to “Data Mining — Firdi”

  1. get said

    Ok juga nich referensinya ada yang versi bahasa Indonesia.

  2. mister x said

    sundul dulu gan😀

  3. ade said

    materinya bagus… trims mas yach…
    sukses..🙂

  4. si ijo said

    sip2 makasih ,

  5. wan wan said

    kak beda antara klasifikasi dan cluster apa ya? thx

    • Firdi said

      Hai wan wan,
      Klasifikasi itu istilahnya supervised learning atau kita udah tau data2 ini mau dikelompokkan ke grup grup apa aja. Contohnya kita ada data2 tentang pasien, terus kita ingin memprediksi apakah pasien ini menderita kanker atau tidak. Jadi di sini kita sudah tau grupnya: kanker atau tidak.
      Kalau clustering itu unsupervised learning jadi kita ga tau jumlah dan karakteristik grup nya. Jadi data2 yang karakteristiknya sama kita kelompokkan menjadi satu grup. Clustering biasanya untuk data2 yang kita masih kurang jelas dan ingin melakukan observasi mengenai karakteristik2 dari kumpulan data

      Semoga menjawab pertanyaanmu, kalau ada yang kurang jelas silahkan ditanya lagi

  6. bambang said

    Bermanfaat coy, Semoga pahalanya selalu mengalir sama yang mau berbagi….

  7. terimakasih, sangan membantu sekali.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: