pemodelan klasifikasi - stat.ipb.ac.id klasifikasi/pemodelan... · analisis data yaitu sas dan r....
TRANSCRIPT
![Page 1: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/1.jpg)
Pemodelan Klasifikasi
Departemen Statistika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
![Page 2: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/2.jpg)
Deskripsi Mata Kuliah
• Deskripsi: Mata kuliah ini mendiskusikan beberapa algoritma dalam analisis data dan data mining untuk tujuan klasifikasi, yaitu menentukan kelas atau kelompok dari setiap amatan. Topik yang akan dibahas meliputi pendekatan un-supervised dan supervised, dengan penekanan lebih banyak pada yang kedua. Algoritma un-supervised yang akan dibahas adalah k-means, sedangkan algoritma supervised meliputi k-NN, regresi logistik, pohon klasifikasi dengan pendekatan ID3, C4.5, dan CHAID, pengenalan neural network, pengenalan support vector machine, naïve bayesian classifier. Juga akan didiskusikan pendekatan ensemble yaitu bagging, boosting, dan random forest. Tidak hanya algoritma yang akan dipelajari tetapi juga membahas proses evaluasi dan validasi model. Mata kuliah ini memiliki sks praktikum yang didalamnya akan mendiskusikan penggunaan beberapa software analisis data yaitu SAS dan R.
![Page 3: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/3.jpg)
Pengajar
• Dr. Bagus Sartono
• Dr. Anang Kurnia
![Page 4: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/4.jpg)
Silabus
• Pengantar • Un-supervised Classification: k-means • Pengantar mengenai supervised classification • k-NN • Penilaian kebaikan dugaan klasifikasi • Analisis Diskriminan • Regresi Logistik • Pohon Klasifikasi • Bagging • Boosting • Random Forest dan Rotation Forest • Naïve Bayesian Classifier • Pengenalan Support Vector Machine • Pengenalan klasifikasi banyak kelas
![Page 5: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/5.jpg)
Pendekatan Pembelajaran
• Integrasi antara ceramah teori dan praktek
• Memerlukan (dan menuntut) keaktifan mahasiswa
• Di setiap pertemuan mahasiswa membawa komputer/laptop, dan dosen akan menyiapkan data dan programnya
• Menggunakan R (dan SAS)
![Page 6: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/6.jpg)
Course Note dan Data
http://bit.ly/1Tebqfj
![Page 7: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/7.jpg)
Data yang akan digunakan
• Data kredit bank di Jerman
• Data kualitas wine buatan Portugal
• Data tekstur
• Pima Indians Diabetes Data Set
![Page 8: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/8.jpg)
Data Kredit Bank di Jerman
• Ketika suatu bank memperoleh aplikasi pinjaman dari calon nasabah, maka selanjutnya bank akan membuat keputusan menyetujui atau tidak berdasarkan profil calon nasabah tersebut. Setiap calon nasabah akan dikategorikan menjadi dua yaitu: – Good risk, yang berarti orang tersebut dianggap akan mampu membayar
pinjaman dan selanjutnya aplikasi pinjaman itu disetujui – Bad risk, yang berarti orang tersebut dianggap akan gagal membayar pinjaman
dan selanjutnya aplikasi pinjaman itu ditolak
• Pemodelan klasifikasi akan bergunanuntuk meminimumkan kerugian
(dalam perspektif bank), yaitu dengan menentukan calon nasabah mana yang disetuji dan mana yang tidak. Manajer pinjaman biasanya akan mempertimbangkan kondisi demografi dan sosio-ekonomi calon nasabah sebelum membuat keputusan.
• Data yang ada berisi informasi 1000 orang calon nasabah pinjaman yang terdiri atas 20 variabel.
![Page 9: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/9.jpg)
Data Kualitas Wine
• Data kedua ini berasal dari pengamatan terhadap sejumlah tipe wine merah (ada 1599 jenis) dan wine putih (ada 4898 jenis) yang semuanya produksi Portugal.
• Harga dari wine sangat tergantung pada kualitas rasa yang bersifat abstrak. Biasanya ada sejumlah ahli rasa yang diminta mencicipi wine dan kemudian memberikan penilaian. Antar penilai bisa jadi sangat bervariasi opininya.
• Kualitas wine juga tergantung pada beberapa hasil physicochemical tests yang dilakukan di laboratorium dengan memeriksa antara lain acidity, pH level, kandungan gula, serta kandungan beberapa senyawa kimia lain.
• Akan sangat menarik kalau hasil pengukuran kualitas di laboratorium memiliki keterkaitan dengan penilaian subjektif oleh pakar rasa.
• Data yang ada hanya berisi data penilaian wine putih, yang meliputi 12 karakteristik hasil uji laboratorium serta hasil penilaian ahli rasar pada skala 1 – 10, dengan 1 untuk kualitas rasa yang paling buruk dan 10 untuk rasa yang paling baik. Ada tiga penilai, dan nilai akhir diperoleh dari median ketiganya.
![Page 10: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/10.jpg)
Pima Indians Diabetes Data Set http://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes
• Relevant Information: Several constraints were placed on the selection of these instances from a larger database. In particular, all patients here are females at least 21 years old of Pima Indian heritage. ADAP is an adaptive learning routine that generates and executes digital analogs of perceptron-like devices. It is a unique algorithm; see the paper for details.
• Number of Instances: 768 • Number of Attributes: 8 plus class • Attribute: (all numeric-valued)
– Number of times pregnant – Plasma glucose concentration a 2 hours in an oral glucose tolerance test – Diastolic blood pressure (mm Hg) – Triceps skin fold thickness (mm) – 2-Hour serum insulin (mu U/ml) – Body mass index (weight in kg/(height in m)^2) – Diabetes pedigree function – Age (years)
![Page 11: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/11.jpg)
Pengantar
![Page 12: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/12.jpg)
Analisis Klasifikasi
• Tujuan analisis: menentukan keanggotaan grup/kelompok dari suatu individu
• Tipe metode – Unsupervised, tidak terdapat informasi mengenai kelompok/grup dari
amatan pada data yang digunakan. Analisis dilakukan untuk menentukan keanggotaan grup dari amatan tersebut. Sering juga dikenal sebagai analisis gerombol (clustering, cluster analysis)
– Supervised, data memiliki informasi mengenai kelompok/grup sesungguhnya dari amatan. Analisis dilakukan untuk menentukan pembeda antar grup, dan aturan pembeda tersebut dapat dimanfaatkan untuk menentukan keanggotaan dari amatan lain yang tidak ada dalam data.
![Page 13: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/13.jpg)
Kegunaan Analisis Klasifikasi
![Page 14: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/14.jpg)
![Page 15: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/15.jpg)
![Page 16: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/16.jpg)
K-Means
• Andaikan terdapat n buah amatan x1, x2, …, xn.
• Masing-masing amatan akan dikelompokkan ke dalam satu dari k buah kelompok. Besaran k umumnya jauh lebih kecil dibandingkan n.
• Andaikan c1, …, ck adalah centroid dari k buah kelompok.
• Intuisi dari pengelompokan adalah bahwa amatan akan dimasukkan ke kelompok j jika amatan tersebut memiliki jarak paling dekat dengan cj dibandingkan dengan centroid lainnya.
![Page 17: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/17.jpg)
Algoritma
1. Tentukan secara acak c1, …, ck
2. Hitung jarak dari setiap xi ke cj
3. Masukkan amatan ke-i ke dalam kelompok ke-j jika dij adalah yang paling kecil dibandingkan dij’
4. Perbarui c1, …, ck dengan menghitung rata-rata dari semua xi yang menjadi anggota kelompok masing-masing
5. Kembali ke tahap 2 sampai konvergen
How do we decide when to stop? One criterion for stopping is if we observe the assignment functions in the two iterations are exactly the same. If the assignment function doesn't change anymore, then the centroid won't change either (and vice versa).
![Page 18: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/18.jpg)
18
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 6
![Page 19: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/19.jpg)
Ilustrasi
• Misal ada 10 amatan yang masing-masing bernilai: 1, 2, 2, 3, 4, 4, 8, 8, 9
ingin dikelompokkan menjadi dua grup
• Centroid awal c1 = 1 dan c2 = 2 • Iterasi 1
– Keanggotaan : {1}, {2, 2, 3, 4, 4, 8, 8, 9} – Centroid : c1 = 1, c2 = 5
• Iterasi 2 – Keanggotaan : {1, 2, 2, 3, 4, 4}, {8, 8, 9} – Centroid : c1 = 2.67, c2 = 8.33
• Iterasi 3 – Keanggotaan : {1, 2, 2, 3, 4, 4}, {8, 8, 9} – Centroid : c1 = 2.67, c2 = 8.33
• Stop
![Page 20: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/20.jpg)
setwd ("D:/bagusco/Kuliah S2 --- Pemodelan Klasifikasi/data")
data <- read.csv("ilustrasikm.csv")
cluster <- kmeans(data, 3)
plot(data[,1], data[,2], col=cluster$cluster)
points(cluster$centers, pch=9)
![Page 21: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/21.jpg)
Data Kualitas Wine
• Data ini berasal dari pengamatan terhadap sejumlah tipe wine putih (ada 4898 jenis) yang semuanya produksi Portugal.
• Harga dari wine sangat tergantung pada kualitas rasa yang bersifat abstrak. Biasanya ada sejumlah ahli rasa yang diminta mencicipi wine dan kemudian memberikan penilaian. Antar penilai bisa jadi sangat bervariasi opininya.
• Kualitas wine juga tergantung pada beberapa hasil physicochemical tests yang dilakukan di laboratorium dengan memeriksa antara lain acidity, pH level, kandungan gula, serta kandungan beberapa senyawa kimia lain.
• Akan sangat menarik kalau hasil pengukuran kualitas di laboratorium memiliki keterkaitan dengan penilaian subjektif oleh pakar rasa.
• Data yang ada hanya berisi data penilaian wine putih, yang meliputi 12 karakteristik hasil uji laboratorium serta hasil penilaian ahli rasar pada skala 1 – 10, dengan 1 untuk kualitas rasa yang paling buruk dan 10 untuk rasa yang paling baik. Ada tiga penilai, dan nilai akhir diperoleh dari median ketiganya.
![Page 22: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/22.jpg)
Data dan Program
http://bit.ly/1Tebqfj
![Page 23: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/23.jpg)
Supervised Classification
• Data terdiri atas amatan-amatan yang berisi informasi mengenai:
– Keanggotaan Kelas/Grup
– Karakteristik amatan (sering disebut sebagai variabel, atribut, feature)
• Informasi dari data digunakan untuk memperoleh “aturan” bagi penentuan keanggotaan kelas dari amatan lainnya nanti.
![Page 24: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/24.jpg)
Supervised Classification
• Terbagi atas:
– Metode yang berbasis model
– Metode yang tidak berbasis model
• Metode yang berbasis model
– Model berupa fungsi matematis
– Model berupa aturan logika
![Page 25: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/25.jpg)
Supervised Classification
• Metode yang tidak berbasis model
– k-nearest neighbor
• Metode yang berbasis model
– Regresi logistik
– Analisis diskriminan
– Classification tree
– SVM
– dll
![Page 26: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/26.jpg)
K Nearest Neighbor
• Nama lain: – K-Nearest Neighbors
– Memory-Based Reasoning
– Example-Based Reasoning
– Instance-Based Learning
– Case-Based Reasoning
– Lazy Learning
![Page 27: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/27.jpg)
KNN
• Konsep dasar
– Menyimpan data training
– Mengklasifikasikan amatan baru berdasarkan kemiripan dengan amatan dalam data training
– Kelas yang dipilih adalah kelas dari amatan-amatan yang paling mirip (tetangga terdekatnya)
![Page 28: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/28.jpg)
Ilustrasi: data training
X2
X1
![Page 29: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/29.jpg)
Ilustrasi: masuk kelas mana amatan baru ini?
X2
X1
![Page 30: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/30.jpg)
Ilustrasi: k-NN dengan k = 1
X2
X1
Amatan baru masuk ke kelas lingkaran biru
![Page 31: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/31.jpg)
Ilustrasi: k-NN dengan k = 3
X2
X1 Amatan baru masuk ke kelas lingkaran biru, karena dari tiga
tetangga, dua dari kelas tersebut
![Page 32: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/32.jpg)
Ilustrasi: k-NN dengan k = 5
X2
X1 Amatan baru masuk ke kelas lingkaran biru, karena dari lima
tetangga, tiga dari kelas tersebut
![Page 33: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/33.jpg)
Perhatikan ilustrasi berikut
Age Loan Default Distance 25 $40,000 N 102000 35 $60,000 N 82000 45 $80,000 N 62000 20 $20,000 N 122000 35 $120,000 N 22000 52 $18,000 N 124000 23 $95,000 Y 47000 40 $62,000 Y 80000 60 $100,000 Y 42000 48 $220,000 Y 78000 33 $150,000 Y 8000
48 $142,000 ?
2
21
2
21 )()( yyxxD
![Page 34: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/34.jpg)
Perhatikan ilustrasi berikut
Age Loan Default Distance 0.125 0.11 N 0.7652 0.375 0.21 N 0.5200 0.625 0.31 N 0.3160
0 0.01 N 0.9245 0.375 0.50 N 0.3428
0.8 0.00 N 0.6220 0.075 0.38 Y 0.6669
0.5 0.22 Y 0.4437 1 0.41 Y 0.3650
0.7 1.00 Y 0.3861 0.325 0.65 Y 0.3771
0.7 0.61 ?
MinMax
MinXX s
![Page 35: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/35.jpg)
Beberapa isu dalam analisis kNN
• Bagaimana menghitung kemiripan antar amatan?
– Jarak apa yang digunakan? Euclid? Mahalanobis? Lainnya?
– Perlu pembakuan data? Penskalaan variabel?
• Berapa banyak tetangga (k)?
– Saran: • Gunakan nilai ganjil
• Lakukan validasi atau validasi silang
![Page 36: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/36.jpg)
Ilustrasi: data
• Data ilustrasiknn.txt
• Terdiri atas dua variabel x1 dan x2
• Berisi data dari dua kelompok, yang diindikasikan oleh kolom ‘class’ – class = 1, 14 amatan
– class = 2, 10 amatan
• data <- read.table("D:/bagusco/Kuliah S2 --- Pemodelan
Klasifikasi/ilustrasiknn.txt", header=TRUE)
![Page 37: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/37.jpg)
Ilustrasi: plot tebaran data
plot(data$x1, data$x2, col=data$class)
10 15 20 25
14
16
18
20
22
24
data$x1
da
ta$
x2
class = 2
class = 1
![Page 38: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/38.jpg)
Ilustrasi: plot tebaran data
plot(data$x1, data$x2, col=data$class,
pch=ifelse(data$class>1,17,12))
class = 2
class = 1
10 15 20 25
14
16
18
20
22
24
data$x1
da
ta$
x2
![Page 39: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/39.jpg)
Ilustrasi: mengidentifikasi kelas dari amatan baru, x1=15, x2=19
> plot(data$x1, data$x2, col=data$class,
pch=ifelse(data$class>1,17,12))
> points(x=15, y=19, pch = 13, cex=1.5)
class = 2
class = 1
10 15 20 25
14
16
18
20
22
24
data$x1
da
ta$
x2
amatan baru
![Page 40: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/40.jpg)
Ilustrasi: mengidentifikasi kelas dari amatan baru, x1=15, x2=19
training <- data[,1:2]
kelas <- as.factor(data[,3])
maudiprediksi <- c(15,19)
library(class)
prediksi <- knn(training, maudiprediksi, kelas, k = 5)
prediksi
Amatan dengan x1=15, x2=19 masuk ke class = 2
![Page 41: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/41.jpg)
Ilustrasi: mengidentifikasi kelas dari amatan baru, x1=20, x2=19
> plot(data$x1, data$x2, col=data$class,
pch=ifelse(data$class>1,17,12))
> points(x=20, y=19, pch = 13, cex=1.5)
class = 2
class = 1
amatan baru
10 15 20 25
14
16
18
20
22
24
data$x1
da
ta$
x2
![Page 42: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/42.jpg)
Ilustrasi: mengidentifikasi kelas dari amatan baru, x1=20, x2=19
training <- data[,1:2]
kelas <- as.factor(data[,3])
maudiprediksi <- c(20,19)
library(class)
prediksi <- knn(training, maudiprediksi,
kelas, k = 5)
prediksi
Amatan dengan x1=20, x2=19 masuk ke class = 1
![Page 43: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/43.jpg)
Ilustrasi: mengidentifikasi batas antar kelas berdasarkan knn dengan k = 5
> m <- NULL > a <- seq(8, 26, by = 0.5) > b <- seq(14, 25, by = 0.5) > for (i in a){ for (j in b) { m <- rbind(m, c(i, j)) } } prediksi <- knn(training, m, kelas, k = 12) > plot(m[,1], m[,2], col=ifelse(prediksi=="1","cyan","yellow"), pch=ifelse(prediksi=="2",17,12)) > points(data$x1, data$x2, col=data$class, pch=ifelse(data$class>1,17,12), cex=2)
10 15 20 25
14
16
18
20
22
24
m[, 1]
m[, 2
]
![Page 44: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/44.jpg)
Ilustrasi: mengidentifikasi batas antar kelas berdasarkan knn dengan k = 3
> m <- NULL > a <- seq(8, 26, by = 0.5) > b <- seq(14, 25, by = 0.5) > for (i in a){ for (j in b) { m <- rbind(m, c(i, j)) } } prediksi <- knn(training, m, kelas, k = 3) > plot(m[,1], m[,2], col=ifelse(prediksi=="1","cyan","yellow"), pch=ifelse(prediksi=="2",17,12)) > points(data$x1, data$x2, col=data$class, pch=ifelse(data$class>1,17,12), cex=2)
10 15 20 25
14
16
18
20
22
24
m[, 1]
m[, 2
]
![Page 45: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/45.jpg)
Ilustrasi: mengidentifikasi batas antar kelas berdasarkan knn dengan k = 1
> m <- NULL > a <- seq(8, 26, by = 0.5) > b <- seq(14, 25, by = 0.5) > for (i in a){ for (j in b) { m <- rbind(m, c(i, j)) } } prediksi <- knn(training, m, kelas, k = 1) > plot(m[,1], m[,2], col=ifelse(prediksi=="1","cyan","yellow"), pch=ifelse(prediksi=="2",17,12)) > points(data$x1, data$x2, col=data$class, pch=ifelse(data$class>1,17,12), cex=2)
10 15 20 25
14
16
18
20
22
24
m[, 1]
m[, 2
]
![Page 46: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/46.jpg)
Perbedaan batas kelas hasil kNN dengan k berbeda-beda
10 15 20 25
14
16
18
20
22
24
m[, 1]
m[, 2
]
10 15 20 25
14
16
18
20
22
24
m[, 1]
m[, 2
]
10 15 20 25
14
16
18
20
22
24
m[, 1]
m[, 2
]
k=12 k=3 k=1
Mana yang lebih baik?
Gunakan validasi atau validasi silang
![Page 47: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/47.jpg)
Validasi
• Tidak semua amatan pada data digunakan sebagai data training
• Sebagian disisihkan terlebih dahulu untuk dijadikan gugus data untuk validasi
• Dilakukan pendugaan atau prediksi terhadap amatan pada gugus validasi, dan kemudian dinilai kemampuan prediksinya menggunakan data tersebut dengan membandingkan kelas hasil prediksi dan kelas yang sebenarnya
![Page 48: Pemodelan Klasifikasi - stat.ipb.ac.id Klasifikasi/Pemodelan... · analisis data yaitu SAS dan R. Pengajar • Dr. Bagus Sartono • Dr. Anang Kurnia . Silabus ... yang berarti orang](https://reader034.vdocuments.net/reader034/viewer/2022052216/5c7f82ea09d3f25c328b779a/html5/thumbnails/48.jpg)
Validasi
set.seed(10) acak <- sample(1:nrow(data), 4) training <- data[-acak,1:2] kelastraining <- as.factor(data[-acak,3]) validasi <- data[acak,1:2] kelasvalidasi <- as.factor(data[acak,3]) prediksi.validasi <- knn(training, validasi, kelastraining, k = 12) prediksi.validasi table(prediksi.validasi,kelasvalidasi) mean(prediksi.validasi == kelasvalidasi)
Membagi data menjadi dua bagian
Menentukan nomor baris pembagian secara acak
Memprediksi data validasi
Membandingkan prediksi dan kelas sebenarnya