Nama : Gunawan
Nim : 14002035
Kampus : STMIK Nusa Mandiri Jakarta
Matakuliah : Advanced Machine Learning
Tugas 1
Python Dan KNN
Problem 1: Python & Data Exploration
Eksplorasi dasar-dasar statistic dan visualisasi menggunakan python
File zip berisi beberapa code python (mltools directory) dan Fisher iris data set.
Load data set ke python
Iris data terdiri dari 4 tipe data yang dapat digunakan untuk mengklasifikasikan ke 3 type
bunga iris (klasifikasi dengan 3 kelas)
a. Gunakan [Link][1] untuk mendapatkan fitur dan [Link][0] untuk mendapatkan jumlah
data point.
b. Untuk setiap fitur, plot histogram ([Link]) dari data. Tunjukkan hasilnya.
c. Hitung nilai rata-rata dari data point untuk setiap fitur ([Link]). Laporkan
d. Hitung variance dan standard deviation dari data untuk setiap fitur. Laporkan
e. Normalisasi data dengan mengurangkan setiap data pint dengan nilai rata-ratanya dan
membagi dengan nilai variasi (validasi hasilnya. Data hasil normalisasi akan memiliki
mean 0 dan std dev. 1). Tunjukkan code nya.
f. Untuk setiap pasangan fitur (1,2), (1,3), dan (1,4), plot scatterplot (hint: [Link] atau
[Link]). Untuk setiap fitur, gunakan warna yang berbeda sesuai dngan target kelas
(misalnya plot semua data menggunakan warna biru untuk y = 0 as blue, dan hijau untuk y
= 1 as green, dst.)
Problem 2: kNN predictions
Menggunakan data iris, eksporasi kNN classifiers menggunakan knnClassify pada python.
Familiarisasi bagaimana itu bekerja.
• Pertama bagi data dalam training dan test set
• Bangun dan latih kNN classifier on Xtr, Ytr and da buat prediksi menggunakan Xte
• Visualisasi dataset dan hasil classifier. Untuk data 2D, dapat menggunakan:
a. Modifikasi code diatas untuk menggunakan 2 fitur saja dari X (mis: hanya kolom 1 dan 2
saja, dan visualisasi hasil klasifikasi dengan plotClassify2D dengan memvariasikan K =
[1, 5, 10, 50, 200].
b. Dengan menggunakan 2 fitur tersebut, hitung error rate (jumlah misklasifikasi) pada test
dan training set untuk k= [1, 5, 10, 50, 200]. Berdasarkan hasilnya berapa nilai k yang
kamu rekomendasikan?