Skip to main content

Contoh Soal Klasifikasi Dalam Data Mining: Decision Tree - Rules Based - Naive Bayesian

Di bawah ini adalah tabel yang berisi training data dari database karyawan.  Data ini sudah di-geralisasi-kan. Misalnya, “31…35” untuk usia berarti kisaran usia antara 31 hingga 35. Khusus untuk kolom  "jumlah", itu menunjukkan  jumlah tuples dari masing-masing data pada department, status, usia, dan gaji pada baris yang dimaksud

department status usia gaji jumlah

sales senior 31. . . 35 46K. . . 50K 30
sales junior 26. . . 30 26K. . . 30K 40
sales junior 31. . . 35 31K. . . 35K 40
systems         junior 21. . . 25 46K. . . 50K 20
systems         senior 31. . . 35 66K. . . 70K 5
systems         junior 26. . . 30 46K. . . 50K 3
systems         senior 41. . . 45 66K. . . 70K 3
marketing      senior 36. . . 40 46K. . . 50K 10
marketing      junior 31. . . 35 41K. . . 45K 4
secretary       senior 46. . . 50 36K. . . 40K 4
secretary       junior 26. . . 30 26K. . . 30K 6

Atribut yang menjadi class label adalah atribut "status". [Baca juga: Jenis-jenis atribut dalam data mining]

1. Buatlah decision tree menurut teknik anda
2. Buatlah rules-based classification berdasarkan decision tree tersebut
3. X adalah suatu data/tuple baru dengan nilai sbb:
X = (dept = systems; usia = 26..30; gaji = 46-50k)
Menurut naive bayesian classification apakan status/class label dari data/tuple X tersebut?

Jawaban:
1.
Catatan: 
Setelah menemukan atribut yang terpilih menjadi node 'root', node atau simpul yang kedua, ketiga, dst (node yang bukan menjadi bukan root), seharusnya dihitung lagi atau dihitung ulang menggunakan Information Gain (atau Gain Ratio atau Gini Index atau teknik yang lainnya) untuk menentukan atribut mana yang akan menjadi node berikutnya.
Dalam contoh diatas node 'usia' ditentukan tanpa menghitung dan hanya dengan teknik coba-coba/arbitrary saja karena jumlah tuple data dan atribut yang tersisa hanya sedikit sehingga dengan metode 'coba-coba' tidak terlalu sulit. Meskipun atribut 'department' juga bisa menjadi alternatif untuk dipilih menjadi node tersebut dengan hasil yang sama-sama benar. Karena kasus di atas adalah contoh belaka dengan jumlah atribut dan tuple yang tidak banyak maka metode 'coba-coba' untuk pemilihan node kedua di atas hanya untuk memberikan ilustrasi solusi dari kasus di atas. Tetapi untuk node 'root' adalah tetap berdasarkan hitungan information gain.  
Tetapi kasus di dunia nyata tidak mungkin menggunakan teknik 'coba-coba' karena jumlah atribut dan/atau data tuple akan sangat banyak (tuple bisa berisi jutaan baris data). Beruntungnya software untuk aplikasi data mining akan menentukan pemilihan node secara otomatis sesuai dengan teknik yang kita pilih.
Berikut di bawah adalah contoh capture decision tree alternatif yang dihasilkan dengan software rapidminer dengan menerapkan 'pre-pruning':


2. 

IF Gaji = 26K...30K THEN Status = Junior
IF Gaji = 31K...35K THEN Status = Junior
IF Gaji = 36K...40K THEN Status = Senior
IF Gaji =41K...45K THEN Status = Junior
IF Gaji = 46K...50K AND Usia = 21...25 THEN Status = Junior
IF Gaji = 46K...50K AND Usia = 26...30 THEN Status = Junior
IF Gaji = 46K...50K AND Usia = 31...35 THEN Status = Senior
IF Gaji = 46K...50K AND Usia = 36...40 THEN Status = Senior
IF Gaji =60K...70K THEN Status = Senior

3.

P(Ci): P(class=’senior’)=52/165 = 0.315
P(class=’junior’)=113/165 = 0.685

P(X|Ci)
P(dept=’systems’ | class ‘senior’) = 8/52 = 0.154
P(dept=’systems’ | class ‘junior’) = 23/113= 0.2035
P(usia=’26-30’ | class ‘senior’)         = 0/52 = 0
P(usia=’26-30’ | class ‘junior’)         = 49/113 = 0.434
P(gaji=’46-50’ | class ‘senior’)         = 40/52 = 0.769
P(gaji=’46-50’ | class ‘junior’)         = 23/113 = 0.2035

X = (dept=’systems’, usia=’26-30’, gaji=’46-50K’)

P(X|Ci) = P(X|class=’senior’) = 0.152*0*0.769
 = 0
   P(X|class=’junior’)= 0.2035*0.434*0.2035
 = 0.018

P(X|Ci) * P(Ci) = P(X|class=’senior’) * P(class=’senior’)
= 0 *0.315
= 0
= P(X|class=’junior’) * P(class=’junior’)
= 0.018 * 0.685
= 0.01233

Karena P(X|class=’junior’) * P(class=’junior’) lebih tinggi  
Maka X = (dept=’systems’, usia=’26-30’, gaji=’46-50K’) termasuk dalam kelas "junior"

Link-link terkait:

Comments

  1. http://code-skripsi.blogspot.co.id/ yang mau aplikasi dengan metode bayes, kunjungi blog saya ya, terimakasih

    ReplyDelete

Post a Comment

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan di at