Anda di halaman 1dari 28

Knowledge Discovery

in Databases (IS704)
dan Data Mining
(CS704)
Kuliah #5:
Classification (Bagian 1)
Gunawan
Jurusan Teknik Informatika
Sekolah Tinggi Teknik Surabaya
Revisi 23 Agustus 2015

Classification (1)
Sebelum bicara terlalu jauh, adalah baik jika kita
mencoba memperhatikan beberapa captured slides yang
menarik untuk memahami hakikat dasar Machine
Learning
Sumber:
www.cs.ucr.edu/~eamonn/205/MachineLearning.ppt.

The Pigeon Problem


Jangan lupakan bahwa Data Mining adalah irisan dari
salah satu subdisiplin Artificial Intelligence

Machine Learning.
Learning
December 15, 2015

Gunawan, Teknik Informatika STTS

Classification (2)
Termasuk dalam Data Mining Task: Predictive Modeling.
Diberikan himpunan examples (instances) yang telah
dipreklasifikasi (dilabeli) sebelumnya, {p1,t1}, {p2,t2}, .....
{pn,tn}, konstruksilah sebuah model yang dapat
menyarikan pengetahuan dalam examples tersebut dan
dapat digunakan untuk keperluan prediksi, yaitu
memprediksi class/target dari instance yang belum
dilabeli.
pi adalah vektor input, sedangkan ti adalah target (class) terkait.
Examples yang digunakan untuk membentuk model disebut

sebagai training set.

December 15, 2015

Gunawan, Teknik Informatika STTS

Classification (3)
Ukuran sukses klasifikasi biasanya diukur dengan
menguji data baru (fresh data) yang tidak
digunakan sebagai training set, tetapi labelnya
juga telah diketahui sebelumnya.
Kemudian dihitung proporsi jumlah data/instance
yang dapat diklasifikasi secara benar (akurasinya).
Dikenal term-term seperti 80:20 atau 75:25 atau
70:30 yang menunjukkan perbandingan
persentase (training set : testing set).
December 15, 2015

Gunawan, Teknik Informatika STTS

Classification (4)
Definisi yang lebih memperjelas peran
classification dalam mining database:
Diberikan sebuah database P = {p 1, p2, ....., pn} dari

sejumlah tuples (atau items / records / examples /


instances) dan himpunan class T = {t 1, t2, ....., tm},
classification problem adalah mendefinisikan suatu
pemetaan f : P T yang mengarahkan pi ke dalam salah
satu class tj.

Walaupun terdapat model lainnya (mis. Nave


Bayes), model yang mendefinisikan pemetaan
tersebut biasanya berupa varian dari:
Classification rules
Classification tree
December 15, 2015

Gunawan, Teknik Informatika STTS

Contoh Classification
Diberikan examples berikut:

Bangunlah sebuah model yang dapat memprediksi class dari instance


outlook=sunny, temperature=hot, humidity=low, dan windy=true.
December 15, 2015

Gunawan, Teknik Informatika STTS

Masalah pada Jenis Atribut yang


Diklasifikasi
Terdapat 2 (dua) tipe utama atribut:
Numerik nilai-nilainya adalah angka.
Nominal nilai-nilainya termasuk dalam beberapa kemungkinan yang

jumlahnya terbatas dan dispesifikasi sebelumnya.

December 15, 2015

Gunawan, Teknik Informatika STTS

Termasuk pada Target Atributnya


Input Attributes dan Target Atrribute, semua numerik:
Cycle
time (ns)

Main memory
(Kb)

Cache
(Kb)

Channels

Performance

MYCT

MMIN

MMAX

CACH

CHMIN

CHMAX

PRP

125

256

6000

256

16

128

198

29

8000

32000

32

32

269

207

125

2000

8000

14

52

208

480

512

8000

32

67

209

480

1000

4000

45

Solusi Tidak Sederhana Linear Regression:


PRP = -55.9 + 0.0489 MYCT + 0.0153 MMIN + 0.0056 MMAX
+ 0.6410 CACH - 0.2700 CHMIN + 1480 CHMAX
December 15, 2015

Gunawan, Teknik Informatika STTS

1R
Diperkenalkan oleh Robert C. Holte (1983).(*)
Dikenal juga dengan 1-R Holte.
1R sendiri adalah kependekan dari 1-rule
atau Infering Rudimentary Rule (?)
Output algoritma 1R adalah one level decision tree yang dapat
disajikan juga melalui sebuah classification rule sets.
1R tidak menekankan akurasi sempurna atau 100% benar pada
rule sets yang dihasilkan.
1R tidak pernah dipertimbangkan sebagai salah satu pendekatan
formal dalam Machine Learning atau Data Mining.
Namun tetap harus diingat: Mengapa harus dipusingkan dengan
sebuah decision tree yang kompleks, ketika sebuah rule sets
sederhana dapat melakukannya?
(*) Holte, Robert C. 1993. Very simple classification rules perform well on most commonly used datasets.
Machine Learning, 11:63-90. Holte bekerja di Computer Science Departement, University of Ottawa.

December 15, 2015

Gunawan, Teknik Informatika STTS

Algoritma Original 1R

Sumber:

"The Development of Holtes 1R Classifier", Craig Nevill-Manning, Geoffrey Holmes


and Ian H. Witten. Ini bukan paper 1R yang ditulis Holte, akan tetapi paper yang
mengembangkan algoritma Holte.
December 15, 2015

Gunawan, Teknik Informatika STTS

10

Algoritma 1R
FOR EACH atribut
FOR EACH value dari atribut ini, bentuk sebuah
rule sets dengan cara
Menghitung seberapa sering sebuah kelas
dihasilkan dari pasangan atribut=value ini
Dapatkan sebuah kelas yang paling banyak
dihasilkan atribut dengan value ini
Tambahkan sebuah rule IF atribut = value
THEN kelas ke dalam rule sets
Hitunglah tingkat kesalahan dari rules set ini
Pilihlah sebuah rules set dengan tingkat
kesalahan terkecil
December 15, 2015

Gunawan, Teknik Informatika STTS

11

Weather Problem Datasets


Outlook
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast
Rain
December 15, 2015

Temperature
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild

Humidity
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal
High
Normal
High

Gunawan, Teknik Informatika STTS

Windy
Weak
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Strong

Play
No
No
Yes
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
No
12

1R-Holte untuk Weather Problem

Tanda * = Pilihan Random


December 15, 2015

Gunawan, Teknik Informatika STTS

13

PRISM
Diperkenalkan oleh J. Cendrowska (1987).(*)
Termasuk kategori algoritma covering, berbeda dengan
ID3 yang termasuk dalam kategori algoritma divide and
conquer.
Disebut dengan pendekatan covering, karena pada setiap
stage diidentifikasi rule yang mengcover sejumlah
instances.
Output algoritma PRISM adalah sejumlah classification
rules.
PRISM hanya menghasilkan rule-rule yang sempurna
atau 100% benar..

December 15, 2015

Gunawan, Teknik Informatika STTS

14

Prinsip Algoritma Covering

Space untuk semua instances/examples


Yang dicover rules sejauh ini
Rules yang akan ditambahkan kemudian

Classification Rules untuk Masalah yang Sama:


IF x<=1.2 THEN kelas=b
IF x>1.2 AND y>2.6 THEN kelas=a
IF x>1.2 AND y<=2.6 THEN kelas=b
Bagaimana dengan Decision Treenya?
December 15, 2015

Gunawan, Teknik Informatika STTS

15

Algoritma Original PRISM

Sumber:

(*) Cendrowska, J. (1987). PRISM: an Algorithm for Inducing Modular Rules.


International Journal of Man-Machine Studies, Vol. 27, No. 4, pp. 349-370.
December 15, 2015

Gunawan, Teknik Informatika STTS

16

Algoritma PRISM
FOR EACH kelas c
Inisialisasi E dengan instance set
WHILE E mengandung instances dalam kelas C
Bentuk sebuah rule dengan LHS kosong yang meprediksi kelas C
UNTIL R sempurna (tak ada atribut yang dapat dipakai), lakukan
FOR EACH atribut A yang tidak termasuk R,dan tiap nilai v,
Pertimbangkan untuk menambah kondisi A=v pada LHS dari R
Pilih A dan v untuk memaksimalkan akurasi p/t
(tips: pilih kondisi dengan nilai P yang terbesar)
Tambahkan A=v ke dalam R
Hapuslah semua instance yang tercover oleh R dari E
Catatan:
p = positive examples dari suatu kelas
t = total instances
December 15, 2015

Gunawan, Teknik Informatika STTS

17

Contact Lens Dataset


Berdasarkan kondisi apa seorang ahli optik akan menyarankan
seseorang yang mengalami gangguan mata: menggunakan soft
contact-lense, menggunakan hard contact-lenses, atau justru
tidak disarankan menggunakan contact-lense?
Diperkenalkan juga oleh J. Cendrowska.
Catatan terms:
spectacle prescription = peruntukan kaca mata yang diketahui
myope = rabun dekat
hypermetrope = rabun jauh
astigmatism = pandangan kabur, "lack of point focus.., an

astigmatism refers to an irregular curvature of the cornea.


presbyopic ( > +45 tahun) = batas usia lazimnya untuk mampu melihat
obyek pada jarak jauh (45 tahun)
pre-presbyopic ( < +45 tahun) = sebelum masa presbyopic
Sumber term: WordNet 2.0, http://www.allaboutvision.com/askdoc/astigmatism.htm
December 15, 2015

Gunawan, Teknik Informatika STTS

18

Contact Lens Dataset


age
young
young
young
young
young
young
young
young
pre-presbyopic
pre-presbyopic
pre-presbyopic
pre-presbyopic
pre-presbyopic
pre-presbyopic
pre-presbyopic
pre-presbyopic
presbyopic
presbyopic
presbyopic
presbyopic
presbyopic
presbyopic
presbyopic
presbyopic

December 15, 2015

spectacle
prescription
myope
myope
myope
myope
hypermetrope
hypermetrope
hypermetrope
hypermetrope
myope
myope
myope
myope
hypermetrope
hypermetrope
hypermetrope
hypermetrope
myope
myope
myope
myope
hypermetrope
hypermetrope
hypermetrope
hypermetrope

Astigmatism
no
no
yes
yes
no
no
yes
yes
no
no
yes
yes
no
no
yes
yes
no
no
yes
yes
no
no
yes
yes

tear production
rate
reduced
normal
reduced
normal
reduced
normal
reduced
normal
reduced
normal
reduced
normal
reduced
normal
reduced
normal
reduced
normal
reduced
normal
reduced
normal
reduced
normal

Gunawan, Teknik Informatika STTS

reccomended
lenses
none
soft
none
hard
none
soft
none
hard
none
soft
none
hard
none
soft
none
none
none
none
none
hard
none
soft
none
none

19

PRISM untuk Contact Lens (#1)


Dibentuk rule yang mengcover setiap class: hard,soft, dan none.
Misalnya dimulai dari hard.
IF ? THEN recommended = hard
Untuk kondisi pada LHS yang masih kosong terdapat 9 pilihan:
age = young 2/8
age = pre-presbyopic
age = presbyopic
1/8
spectacle prescription
spectacle prescription
astigmatism = no
astigmatism = yes
tear production rate =
tear production rate =

1/8
= myope 3/12
= hypermetrope 1/12
0/12
4/12
reduced 0/12
normal
4/12

dipilih bagian yang terbesar = 4/12, secara acak dipilih salah satu antara
nomor 7 dan nomor 9 pada daftar di atas, misalnya nomor 7:
IF astigmatism = yes THEN recommended = hard
December 15, 2015

Gunawan, Teknik Informatika STTS

20

PRISM untuk Contact Lens (#2)


Rule If astigmatism = yes then recommended = hard
jelas tidak akurat. Lihat tabel berikut:
age
young
young
young
young
pre-presbyopic
pre-presbyopic
pre-presbyopic
pre-presbyopic
presbyopic
presbyopic
presbyopic
presbyopic

spectacle
prescription
myope
myope
hypermetrope
hypermetrope
myope
myope
hypermetrope
hypermetrope
myope
myope
hypermetrope
hypermetrope

Astigmatism
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes

tear production
rate
reduced
normal
reduced
normal
reduced
normal
reduced
normal
reduced
normal
reduced
normal

reccomended
lenses
none
hard
none
hard
none
hard
none
none
none
hard
none
none

Tampak bahwa rule tersebut hanya mengcover 4 instance yang


benar dari total 12 instances. Sehingga refinement perlu dilakukan
untuk rule: IF astigmatism = yes AND ? THEN

recommended = hard
December 15, 2015

Gunawan, Teknik Informatika STTS

21

PRISM untuk Contact Lens (#3)


IF astigmatism = yes AND ? THEN recommended = hard

Untuk kondisi pada LHS yang masih kosong terdapat 7 pilihan:


age = young 2/4
age = pre-presbyopic
age = presbyopic
1/4
spectacle prescription
spectacle prescription
tear production rate =
tear production rate =

1/4
= myope 3/6
= hypermetrope 1/6
reduced 0/6
normal
4/6

dipilih bagian yang terbesar = 4/6, yaitu nomor 6:


IF astigmatism = yes AND tear production rate =
normal THEN recommended = hard

Sebenarnya untuk sebuah class (misalnya hard), algoritma dapat


dipaksa berhenti (misalnya disini pada kasus contact lens). Namun,
bagaimana jika exact rule harus diperoleh, tanpa mempedulikan
sekompleks apapun rulenya?
December 15, 2015

Gunawan, Teknik Informatika STTS

22

PRISM untuk Contact Lens (#4)


Rule IF astigmatism = yes AND tear production
rate = normal THEN recommended = hard jelas masih
belum akurat. Lihat tabel berikut:
age

spectacle
prescription
young
myope
young
hypermetrope
pre-presbyopic myope
pre-presbyopic hypermetrope
presbyopic
myope
presbyopic
hypermetrope

Astigmatism
yes
yes
yes
yes
yes
yes

tear production
rate
normal
normal
normal
normal
normal
normal

reccomended
lenses
hard
hard
hard
none
hard
none

Tampak bahwa rule tersebut hanya mengcover 4 instance yang


benar dari total 6 instances. Sehingga refinement perlu dilakukan
kembali untuk rule:

IF astigmatism = yes AND tear production


rate = normal AND ? THEN recommended = hard
December 15, 2015

Gunawan, Teknik Informatika STTS

23

PRISM untuk Contact Lens (#5)


IF astigmatism = yes AND tear production rate =
normal AND ? THEN recommended = hard
Untuk kondisi pada LHS yang masih kosong terdapat 5 pilihan:
age = young 2/2
age = pre-presbyopic
1/2
age = presbyopic
1/2
spectacle prescription = myope 3/3
spectacle prescription = hypermetrope 1/3

Sehingga harus dipilih bagian yang terbesar, tetapi yang mana?


2/2 atau 3/3? Dalam hal ini sebaiknya dipilih yang mengcover lebih
banyak instance, atau nomor 4, sehingga rule sejauh ini adalah:
IF astigmatism = yes AND tear production rate =
normal AND spectacle presciption = myope THEN
recommended = hard
December 15, 2015

Gunawan, Teknik Informatika STTS

24

PRISM untuk Contact Lens (#6)


Karena rule IF astigmatism = yes AND tear
production rate = normal AND spectacle
prescription = myope THEN recommended =
hard sudah akurat. Lihat tabel berikut:
age

spectacle
prescription
young
myope
pre-presbyopic myope
presbyopic
myope

astigmatism
yes
yes
yes

tear production
rate
normal
normal
normal

reccomended
lenses
hard
hard
hard

Tampak bahwa rule tersebut hanya mengcover 3 instance yang


benar dari total 24 instances, dan baru 3 dari 4 instance untuk
recommended = hard. Selanjutnya 3 instance pada tabel di
atas dihapus dari total 24 instances, dan mencari rule lainnya
dengan bentuk:

IF ? THEN recommended = hard


December 15, 2015

Gunawan, Teknik Informatika STTS

25

PRISM untuk Contact Lens (#7)


Dengan cara yang sama pada stage sebelumnya, berturut-turut
diperoleh:
age = young, adalah yang terbaik untuk condition pertama
(mengcover 1 dari 7). Mengapa angka 7 ?
astigmatism = yes, adalah yang terbaik untuk condition
kedua (dipilih 1/3). Apakah pilihan ini karena tips ?
tear production rate = normal, adalah yang terbaik
untuk condition ketiga (dipilih 1/1).
Rule yang diperoleh adalah: IF age = young AND
antigmatism = yes AND tear production rate =
normal THEN recommended = hard sudah akurat.
Mengcover 1/1? Atau 3/3?
Jadi seluruh kasus hard telah tercover, sehingga langkah-langkah
berikutnya adalah untuk kasus soft dan none.
December 15, 2015

Gunawan, Teknik Informatika STTS

26

PRISM untuk Contact Lens (#8)


Koleksi Rule Lengkap pada Akhir Proses (9 Rule)

If spectacle prescription = myope and astigmatic = yes

and tear production rate = normal then recommendation =


hard
If age = young and astigmatic = yes and tear production
rate = normal then recommendation = hard
If age = young and astigmatic = no and tear production
rate = normal then recommendation = soft
If age = pre-presbyopic and astigmatic = no and tear
production rate = normal then recommendation = soft
If spectacle prescription = hypermetrope and astigmatic
= no and tear production rate = normal then
recommendation = soft
If tear production rate = reduced then recommendation =
none
If age = presbyopic and spectacle prescription = myope
and astigmatic = no then recommendation = none
If age = pre-presbyopic and spectacle prescription =
hypermetrope and astigmatic = yes then recommendation =
none
If age = presbyopic and spectacle prescription =
hypermetrope and astigmatic = yes then recommendation =
none

December 15, 2015

Gunawan, Teknik Informatika STTS

27

PRISM untuk Contact Lens (#9)

akhirnya.....
AWAS!!!
JANGAN DICOBA untuk
mengatasi Gangguan Mata
Anda yang sebenarnya.

December 15, 2015

Gunawan, Teknik Informatika STTS

28

Anda mungkin juga menyukai