Anda di halaman 1dari 23

PERTEMUAN 5

SIMILARITAS, JARAK, DAN


KLASIFIKASI
Similaritas dan Jarak
Similaritas (kemiripan) antara dua objek merupakan ukuran numerik dari
seberapa mirip dua buah objek. Similaritas mempunyai nilai yang lebih tinggi
jika objek-objek tersebut sama. Range nilai similaritas adalah [0,1].

Dissimilaritas (ketidakmiripan) antara dua objek merupakan ukuran numerik


dari seberapa berbeda dua buah objek. Dissimilaritas bernilai lebih rendah
jika objek-objek tersebut mirip. Minimum dissimilaritas adalah 0 dan batas
atasnya bervariasi.

Dissimilaritas sering disebut juga dengan distance (jarak). Kedekatan


(proximity) mengacu kepada suatu similaritas atau dissimilaritas
Similaritas dan Jarak Lanjutan
Pengukuran kedekatan untuk satu atribut sederhana yang dibedakan
berdasarkan tipe dari atribut
TipeAtribut Dissimilaritas Similaritas
Nominal

Ordinal

Interval atau rasio


Pengukuran jarak (distance) dari dua objek
Pengukuran jarak (distance) dari dua objek (lanjutan)
Beberapa pengukuran jarak adalah:
 Jarak Euclidean, yang dinyatakan dengan persamaan:
𝑛 2

𝑑𝑖𝑠𝑡 = (𝑝𝑘 − 𝑞𝑘 )
𝑘=1
Dimana n adalah jumlah dimensi (atribut) dan pk dan qk adalah atribut
(komponen) ke-k, atau objek data p dan q. Jika skala nilai dari objek-objek
yang diukur berbeda maka diperlukan standarisasi.
 Minskowski distance, merupakan generalisasi dari Euclidean distance dan
dinyatakan dengan persamaan:1
𝑛 𝑟 𝑟

𝑑𝑖𝑠𝑡 = 𝑝𝑘 − 𝑞𝑘
𝑘=1
Pengukuran jarak (distance) dari dua objek
(Lanjutan)
 Mahalanobis distance, dinyatakandenganpersamaan:
−1
maℎ𝑎𝑙𝑎𝑛𝑜𝑏𝑖𝑠(𝑝, 𝑞) = 𝑝 − 𝑞 (𝑝 − 𝑞)𝑟
Dimana S merupakanmatrikskovarian (covariance matrix) dari data
input X
𝑛
1
= (𝑥𝑖,𝑗 − 𝑥𝑗 )(𝑥𝑖𝑘 − 𝑥𝑘 )
𝑗,𝑘 𝑛−1
𝑖=1
Pengukuran similaritas dari dua objek (Lanjutan)
Similaritas, mempunyai beberapa sifat:
1. s(p,q) = 1 (ormaximum similarity) only if p=q
2. S(p,q) = s(q,p) for all p and 1. (Symmetry) dimana s(p,q) merupakan
similaritas antara titik-titik (objek data), p dan q.
Beberapa metode yang digunakan untuk menghitung similaritas dua
buah objek, diantaranya:
 Simple matching (SMC) dan jaccard coefficients(J)
Metode yang dapat digunakan untuk menghitung similaritas dua
vektor biner. Misalkan objek-objek p dan q hanya mempunyai atribut
biner. Similaritas antara dua vektor biner dapat dihitung dengan
kuantitas berikut:
Pengukuran similaritas dari dua objek (Lanjutan)
 Simple matching (SMC) dan jaccard coefficients(J)
M01 : jumlah atribut dimana p adalah 0 dan q adalah 1
M10 : jumlah atribut dimana p adalah 1 dan q adalah 0
M00 : jumlah atribut dimana p adalah 0 dan q adalah 0
M11 : jumlah atribut dimana p adalah 1 dan q adalah 1

SMC = number of matches/number of attributes


= (M11+M00)/(M01+M10+M11+M00)
J = number of 11 matches/number of not-booth-zero attribute values
= (M11)/(M01+M10+M11)
Pengukuran similaritas dari dua objek (Lanjutan)
 Simple matching (SMC) dan jaccard coefficients(J)
Contoh soal: Hitung similaritas dari dua vektor berikut dengan menggunakan
simple matching dan jaccard coefficient
p=1000000000
q=0000001001
Jawab: M01 = 2
M10 = 1
M00 = 7
M11 = 0
SMC = (M11+M00)/(M01+M10+M11+M00)=(0+7)/(2+1+0+7)=0.7
J = (M11)/(M01+M10+M11)=0/(2+1+0)=0
Pengukuran similaritas dari dua objek (Lanjutan)
 Cosine similarity
Digunakanuntukmenghitungduavektordokumen.
Jikad1dand2adalahduavektordokumenmakasimilaritasantaraduavektordok
umen yang dihitungdengancosine similarity adalahsebagaiberikut:
cos(d1,d2) = (d1d2)/ 𝑑1 𝑑2
dimana adalah vector dot product dan 𝑑 adalahpanjangvektor d
 Extended Jaccard Coefficient (Tanimoto)
Merupakanpengembangandarikoefisienjaccarduntukmenghitungsimilaritasd
uavektoratributkontinyuataucount attribute
denganpersamaansebagaiberikut:
𝑝∙𝑞
𝑇 𝑝, 𝑞 =
𝑝 2 + 𝑞 2 − 𝑝 ∙ 𝑞′
Pengukuran similaritas dari dua objek (Lanjutan)

 Correlation
Digunakanuntukmengukurhubunganobjeksecara linier.
Untukmenghitung correlation,
perludilakukanperhitungancovarianceantaraduaobjektersebutdengan
persamaansebagaiberikut:
𝑛
1
𝑐𝑜𝑣 𝑝, 𝑞 = (𝑝𝑘 − 𝑝)(𝑞𝑘 − 𝑞 )
𝑛−1
𝑘−1
dimana𝑝, 𝑞 adalah mean darimasing-masingobjek, jika𝜎𝑝 adalah
standard deviasidarivektor p dan𝜎𝑞 adalah standard deviasidarivektor
q, makapersamaan correlation dariduavektor p dan q adalah:
𝑐𝑜𝑣(𝑝, 𝑞)
𝑐𝑜𝑟𝑟 𝑝, 𝑞 =
𝜎𝑝 ∙ 𝜎𝑞
Klasifikasi
Klasifikasi merupakan proses pembelajaran suatu fungsi tujuan
(target) yang memetakan tiap himpunan atribut x ke satu dari label
kelas y yang didefinisikan sebelumnya. Fungsi target disebut juga
model klasifikasi.
Ada dua jenis model klasifikasi, yaitu:
 Pemodelan deskriptif: model klasifikasi yang dapat berfungsi sebagai
suatu alat penjelasan untuk membedakan objek-objek dalam kelas-
kelas yang berbeda
 Pemodelan prediktif: model klasifikasi yang dapat digunakan untuk
memprediksi label kelas record yang tidak diketahui
Klasifikasi (Lanjutan)
Teknik klasifikasi cocok untuk memprediksi atau menggambarkan data-
set dengan tipe biner atau nominal. Teknik ini kurang efektif digunakan
untuk tipe data ordinal (misal, untuk mengklasifikasikan anggota yang
berpenghasilan rendah, sedang, atau tinggi) karena teknik ini tidak
mempertimbangkan secara implisit urutan dalam katagori data.

Aplikasi dari teknik klasifikasi diantaranya untuk:


• Memprediksi sel tumor jinak atau ganas
• Menggolongkan transaksi kartu kredit sah atau curang
• Mengkatagorikan isi berita sebagai finance, weather, entertaint, sport,
dsb
Klasifikasi (Lanjutan)
Proses untuk membentuk model
klasifikasi dengan suatu algoritma
pembelajaran (training)
berdasarkan himpunan data
pembelajaran (training set)
disebut dengan proses induksi
(induction).
Sedangkan proses penerapan
model klasifikasi untuk
memprediksikan kelas label dari
data dalam himpunan data
pengujian (test set) disebut
dengan proses deduksi (deduction)
Klasifikasi (Lanjutan)
Untukmengevaluasiperformadari model yang dibangun,
perludilakukanpengukuranperforma, yaitupengukuranakurasi (accuracy)
dantingkatkesalahan (error rate). Jikaijmenotasikanjumlah record
darikelas i yang berada di kelas j padasaatpengujian,
makapengukuranakurasidapatdituliskandenganpersamaansebagaiberiku
t:
𝑗𝑢𝑚𝑙𝑎ℎ_𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖_𝑦𝑎𝑛𝑔_𝑏𝑒𝑛𝑎𝑟 11 + 00
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = =
𝑗𝑢𝑚𝑙𝑎ℎ_𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖_𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 11 + 10 + 01 + 00

Sedangkantingkatkesalahan (error rate)


didefinisikansebagaiberikut:

𝑗𝑢𝑚𝑙𝑎ℎ_𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖_𝑦𝑎𝑛𝑔_𝑠𝑎𝑙𝑎ℎ 01 + 10


𝐸𝑟𝑟𝑜𝑟 = =
𝑗𝑢𝑚𝑙𝑎ℎ_𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖_𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 11 + 10 + 01 + 00
Pohon Keputusan (Decision tree)
Salah satu teknik klasifikasi adalah pohon keputusan (decision tree).
Pohon (tree) adalah sebuah struktur data yang terdiri dari simpul
(node) dan rusuk (edge). Simpul pada sebuah pohon dibedakan
menjadi tiga, yaitu simpul akar (root node), simpul percabangan
/internal (branch/internal node) dan simpul daun (leaf node).
Pohon keputusan merupakan representasi sederhana dari teknik
klasifikasi untuk sejumlah kelas berhingga, dimana simpul internal
maupun simpul akar ditandai dengan nama atribut, rusuk-rusuknya
diberi label nilai atribut yang mungkin dan simpul daun ditandai
dengan kelas-kelas yang berbeda.
Pohon Keputusan (Decision tree) (Lanjutan)
Objek atau record diklasifikasikan
dengan mengikuti suatu jalur (path)
yang dimulai dari simpul akar (root),
sesuai dengan nilai atribut dalam
record tersebut.

Salah satu algoritma yang digunakan


untuk membangun pohon keputusan
yang berbasis algoritma induksi
pohon keputusan seperti ID3, C.4.5,
CART adalah algoritma HUNT.
Contoh pembentukan pohon keputusan
dengan algoritma hunt
Id Pembayaran Status Pendapatan Kelas
(x10000)
1 Yes Single 125 No
2 No Married 100 No
3 No Single 70 No
4 Yes Married 120 No
5 No Divorced 95 Yes
6 No Married 60 No
7 Yes Divorced 220 No
8 No Single 85 Yes
9 No Married 75 No
10 No Single 90 Yes
Contoh pembentukan pohon keputusan
dengan algoritma hunt
Proses algoritma hunt:
1. Mula-mula dibuat simpul Dt beranggotakan seluruh record data training,
Dt={1,2,3,4,5,6,7,8,9,10}, yang dikatagorikan dalam dua kelas y={yes,no}
2. Cek apakah semua record dalam Dt terletak pada satu kelas
3. Dt tidak terletak pada satu kelas, maka dilakukan proses splitting dengan
menggunakan salah satu atribut, misalkan atribut ‘pembayaran’. Karena
atribut ‘pembayaran’ mempunyai dua nilai atribut yaitu ‘yes’ dan ‘no’,
maka himpunan Dt dibagi menjadi dua subhimpunan:
Dt(pembayaran = ‘yes’) = {1,4,7}
Dt(pembayaran = ‘no’) = {2,3,5,6,8,9,10}
Contoh pembentukan pohon keputusan dengan
algoritma hunt
Perlu diingat bahwa Dt(pembayaran=‘yes’)  Dt(pembayaran=‘no’)
= Dtmula-mula dan Dt(pembayaran=‘yes’)  Dt(pembayaran=‘no’)={}

Pembayar
an

yes no

{1,4,7} {2,3,5,6,8,9,10}
Contoh pembentukan pohon keputusan dengan
algoritma hunt
4. Ulangi langkah pengecekan langkah 2 untuk setiap Dt. Misalkan
Dt=(pembayaran=‘yes’)={1,4,7}
5. Karena Dt terletak pada kelas yang sama yaitu kelas ‘No’, maka
simpul t dimana Dt berada menjadi simpul daun dengan label ‘No’

Pembayar
an

yes no

No {2,3,5,6,8,9,10}
Contoh pembentukan pohon keputusan dengan
algoritma hunt
6. Ulangi langkah pengecekan langkah 2 untuk Pembay
setiap Dt. Misalkan aran
Dt=Dt(pembayaran=‘no’)={2,3,5,6,8,9,10}
7. Dt={2,3,5,6,8,9,10} tidak terletak pada satu
kelas, maka dilakukan proses splitting dengan yes no
menggunakan salah satu atribut sisa,
misalkan atribut ‘status’. Karena atribut
‘status’ mempunyai 3 nilai atribut yaitu No
‘single’,’married’, dan ‘divorced’, maka status
himpunan Dt dibagi menjadi 3 subhimpunan:
Dt(status=‘single’)={3,8,10}
S D
Dt(status=‘married’)={2,6,9} M
Dt(status=‘divorced’)={5}
Record {2,6,9} terletak pada kelas yang sama {3,8,10} No Yes
yaitu kelas ‘No’, demikian juga {5} terletak
pada kelas ‘yes’, maka keduanya menjadi
simpul daun
Contoh pembentukan pohon keputusan dengan
algoritma hunt Pem
bayar
an
8. Dt={3,8,10} tidak terletak pada satu yes no
kelas, maka dilakukan proses splitting
dengan menggunakan salah satu No
atribut, misalkan atribut status
‘pendapatan’. Atribut ‘pendapatan’ D
merupakan atribut numerik, maka S
M
perlu dilakukan proses diskritisasi
untuk merubahnya menjadi atribut Penda No Yes
katagorikal. Misalkan pendapatan patan
dibagi dalam dua nilai atribut yaitu
‘<=80’ dan ‘>80’, maka himpunan Dt >80
dibagi menjadi dua subhimpunan: <=80

Dt(pendapatan<=80)={3} Yes
No
Dt(pendapatan>80)={8,10}

Anda mungkin juga menyukai