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.
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:
http://code-skripsi.blogspot.co.id/ yang mau aplikasi dengan metode bayes, kunjungi blog saya ya, terimakasih
ReplyDelete