0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan13 halaman

2118060-Coding Penerapan Machine Learning Dataset Brain Tumor

Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan13 halaman

2118060-Coding Penerapan Machine Learning Dataset Brain Tumor

Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 13

LAPORAN TUGAS

CODING MACHINE LEARNING


DATASET BRAIN TUMOR

Oleh :
Cornelia Luba Tara Boro
NIM 2118060

INSTITUT TEKNOLOGI NASIONAL MALANG


MEI 2024
1. Import Library yang akan digunakan. Terdapat beragam library yang dapat
digunakan pada proses image preprocessing, diantaranya adalah natsort yang
berfungsi untuk melakukan sorting pada data output hasil running program,
Matplotlib.pyplot, plotly, seaborn yang digunakan untuk visualisasi data
contohnya untuk menampilkan citra. Numpy untuk melakukan operasi pada
citra, melakukan operasi matematika pada array dan matriks. Library os yang
digunakan memanipulasi path file serta library panda yang digunakan untuk
menganalisis data serta membaca data dalam bentuk csv hingga manipulasi
data, dll.

Gambar 1 Import Library


2. Selain itu juga digunakan library cv2 OpenCV (Open Source Computer Vision
Library) yang digunakan untuk membaca citra, memproses dan melakukan
operasi pada citra. Matplotlib digunakan untuk visualisasi data. Skimage
digunakan untuk membaca gambar dari file. Xgboost digunakan untuk
algoritma pembelajaran mesin untuk metode yang akan digunakan. PIL.Image
digunakan untuk memanipulasi gambar.

Gambar 2 Import Library


3. Selain itu juga digunakan beberapa library lainnya seperti sklearn dan mlxtend
yang digunakan untuk mengakses algoritma-algoritma machine learning yang
akan digunakan pada saat akan memproses dataset dengan menggunakan
metode machine learning tertentu.

Gambar 3 Import Library


4. Setelah melakukan import library, selanjutnya adalah melakukan koneksi
dengan google drive untuk dapat membaca dataset yang telah disiapkan
sebelumnya. Pada tahap ini digunakan variabel pd yaitu menggunakan library
panda untuk membaca dataset dalam format csv yang telah disimpan pada
drive pada alamat yang dituliskan.

Gambar 4 Koneksi ke Google Drive


5. Pada langkah ini dilakukan pelatihan model dengan menggunakan metode
Random Forest. Pada source code dibawah ini digunakan algoritma
RandomForestClassifier untuk proses klasifikasi, nilai 100 pada n_estimators
artinya adalah akan dibuat sebanyak 100 pohon keputusan. Selnajurnya data
yang digunakan adalah X_train (dataset pelatihan, yaitu input) dan Y_train
(variabel target, yaitu output yang akan dilakukan prediksi. Kemudian akan
dilakukan prediksi dengan menggunakan metode predict. Selanjutnya
ditampilkan visualisasi nilai prediksi dengan nilai actual dalam bentuk diagram
plot serta nilai confusion matriksnyaa. Selain itu, juga dilakukan perhitugan
score akurasi model serta nilai rata-rata skor presisi untuk mengukur seberapa
baik model dapat menjaga Tingkat presisi.
Gambar 5 Membaca Data dari Dataset
6. Berikut adalah hasil dari source code diatas. Nilai biner adalah nilai hasil
prediksi yang dilakukan dengan method predict pada 100 data pertama pada
dataset. Selanjutnya adalah diagram plot nilai prediksi dengan nilai actual yang
menunjukan bahwa tingkat akurasi yang tinggi dengan nilai sebesae 98.672%

Gambar 6 Visualisasi nilai prediksi dengan nilai actual


7. Berikut adalah hasil output dari source code pada langkah 5, yaitu nilai
confusion matriks yang menunjukan bahwa tingkat akurasi yang tinggi
didukung dengan nilai akurasi model dengan nilai 0.98 dan nilai precision-
recall yang tinggi yang menunjukan bahwa model yang dikembangkan
memiliki kemampuan efektif dalam identifikasi dan akurat dalam prediksi.

Gambar 7 Confusion Matrik


8. Selanjutnya adalah menghitung decision boundary berdasarkan fitur
homogeneity dan skewness. Sama seperti tahap sebelumnya, pada tahap ini
juga akan digunakan 100 decision tree dalam proses pelatihan model. Data
yang digunakan adalah data X_train_feature dan y_train_feature. Selanjutnya
data tersebut ditampilkan dalam bentuk decision boundery. Kemudian,
dilakukan prediksi Berdasarkan data X_test_feature dan menghitung nilai
akurasi dari model yang dikembangkan.
Gambar 8 Mrotde Random Forrest
9. Berikut adalah hasil dari distribusinya. Segitiga oranye merepresentasikan sel
tumor dan kotak biru merepresentasikan tumor. Terlihat bahwa segitiga oranye
berada disebelah kiri decision yang artinya homogeneity kurang dari 0 dan
sebaliknya untuk kotak bewarna biru. Jika diliat dari gambar dibawah
menunjukan bahwa telag berhaisl memisahkan kelas 0 dan kelas 1 dengan
cukup baik, walaupun ada sedikit area tumpeng tindih.

Gambar 9 Decision Boundary


10. Selanjutnya adalah dengan menggunakan metode KNN. Pada tahapan ini
digunakan algoritma KNeighboarsDClassier dengan total nilai terdekat atau
tetangga terdekat adalah sebanyak 5. Data yang digunakan adalah data X_train
dan Y_train. Kemudian dilakukan prediksi terhadap data tersebut, lalu hasil
dari metode ini ditampilkan dalm bentuk diagram plot dan cinfusion matriks.
Dilakukan perhitungan akurasi presisi dalam menggunakan metode KNN.

Gambar 10 Metode KNN


11. Berikut adalah hasil output dari source code diatas. Nilai biner merupakan nilai
hasil prediksi dan yang ditampilkan tersebut adalah data pertama hingga data
ke-seratus. Selanjutnya adalah diagram plot yang menunjukan perbandingan
antara nilia prediksi dan nilai actual yang menunjukan bahwa tingkat akurasi
sangat tinggi karena diagram warna merah dan biru berada pada titik yang
sama dan dapat dilihat juga bahwa tingkat akurasi mencapai nilai 98.539%

Gambar 11 Output Metode KNN


12. Berikut adalah lanjutan output yaitu berupa confusion matrik yang
menunjukan bahwa nilai akurasi cukup tinggi dengan diperoleh nilai rata-rata
precision-recall sebesar 0,98.

Gambar 12 Output Metode KNN


13. Berikutnya adalah menghitung decision boundary atau batas Keputusan. Pada
metode KNN, batas Keputusan tidak berbentuk garis lurus seperti metode
sebelumnya karena batas Keputusan dipengaruhi oleh nilai k atau jumlah
tetangga terdekat, pada contoh ini digunakan k=5. Dapat dilihat dari gambar
dibawah ini, walaupun terdapat beberapa bagian yang masih tumpeng tindih
dan tidak sesuai dengan batas Keputusan, tapi model KNN telah berhasil
mengklasifikasikan data tumor dan bukan tumor dengan cukup baik.

Gambar 13 Output Metode KNN


14. Selanjutnya membuat visualisasi untuk membandingkan skor pada tiap
pengujian untuk setiap metode, yaitu metode yang digunakan adalah 'Logistic
Regression Score', 'Support Vector Machine Score', 'Naive Bayes Score',
'Decision Tree Score', 'Random Forest Score', 'K-Nearest Neighbor Score',
metode-metode tersebut dijadikan model untuk kemudian akan dibuatkan nilai
dari hasil perhtiungan tiap metode menggunakan diagram batang. Selain itu,
juga nilai score tiap metode disimpan menggunakan variabel score.
Selanjutnya adalah membuat series pandas yang berisi nilai skor akurasi
dengan menggunakan model sebagai indeksnya. Kemudian mengatur ukuran
diagram dan membuat diagram batang dengan menampilkan nilai akurasi pada
atas diagram sesuai dengan model masing-masing.

Gambar 14 Membuat Perbadingan Skor Pengujian tiap Metode


15. Berikut adalah output dari source code diatas. Berdasarkan gambar dibawah
ini terlihat bahwa setiap metode telah berhasil melakukan klasifikasi dengan
baik karena nilai akurasi pada tiap metode rata-rata berada pada nilai 0.99 dan
0.97.

Gambar 15 Diagram Perbandingan Skor Pengujian tiap Metode


16. Berikutnya adalah melakukan perbandingan untuk setiap confusion matriks
dari setiap metode. Confusion matriks dari setiap metode ditampilkan dengan
menggunakan figure dan disusun seperti dibawah ini. Setiap confusion matriks
juga diberikan heatmap untuk mempermudah dalam membaca kesimpulan dan
confusion matriks tersebut.

Gambar 16 Perbandingan Confusion Matriks


17. Hasil output confusion matrix. Berdasarkan hasil berikut terlihat bahwa
metode SVM, Random Forest dan Decision Tree merupakan metode dengan
tingkat kesalahan paling kecil. Tetapi, secara keseluruhan setiap model sudah
memiliki tingkat akurasi yang tinggi karena nilai kesalahannya cukup kecil jika
dibandingkan dengan nilai true positive dan true negative.

Gambar 17 Confusion Matriks Tiap Metode


18. Selanjutnya adalah Perbandingan kurva Receiver Operating Characteristic
(ROC). Kurva ROC merupakan metode yang digunakan untuk menilai kinerja
model kalsifikasi. Langkah pertama yang dilakukan adalah menghitung
prediksi probabilitas data X-test, kemudian hitung ROC kurva dari nilai actual
yaitu Y_test dengan nilai probabilitas prediksi yang sudah dihitung sebelumya.
Selanjutnya adalah membuat figure yang akan menampung setiap grafik untuk
tiap metode. Selanjutnya adalah membuat garis referensi dari titik (0,0) hingga
titik (1,1) dihubungkan dengan gari putus-putus (k--). Selanjutnya beri label
untuk sumbu x (False Positive Rate) dan sumbu y (Trus Positive Rate) dan beri
judul tiap grafik sesuai dengan metode yang digunakan. Lakukan proses yang
sama untuk setiapp metode-metode lainnya.
Gambar 18 ROC Metode Logistic Regression dan SVM

Gambar 19 ROC Metode Naïve Bayes dan Decision Tree

Gambar 20 ROC Metode Random Forest dan KNN


19. Berikut adalah hasilnya. Semakin dekat kurva ROC dengan sudut kiri atas
artinya semakin baik model tersebut dalam melakukan klasfikasi karena pada
bagian kiri atas artinya true positive lebih tinggi dibandingkan false negative.
Sedangkan jika garis semakin mendekati garis referensi atau dengan diagonal,
maka kemampuan klasifikasi model tersebut tidak terlalu baik. Jika dilihat
Berdasarkan hasil kurva ROC dibawah ini, dapat disimpulkan bahwa setiap
metode sudah memiliki hasil klasifikasi yang cukup baik.

Gambar 21 Perbandingan Kurva ROC tiap metode

Anda mungkin juga menyukai