04Penelitian · 2024
Klasifikasi Lesi Kanker Kulit
Pipeline klasik computer vision untuk membedakan lesi jinak dan ganas dari 10.605 citra, tanpa deep learning, supaya setiap fitur bisa dijelaskan.
- SVM linear79,5%
- SVM polynomial76,9%
- SVM RBF81,2%
- RBF + GridSearchCV83,0%
Hanya untuk pembelajaran. Hasil model bukan diagnosis medis.
Ringkasan
Proyek machine learning untuk mengklasifikasikan citra lesi kulit menjadi jinak (benign) atau ganas (malignant). Saya sengaja memakai pengolahan citra klasik, bukan deep learning, supaya setiap langkah dan setiap fitur bisa dijelaskan.
Datasetnya Melanoma Skin Cancer Dataset of 10,605 Images dari Kaggle (Hasnain Javed), dan tidak disertakan di repository. Notebook-nya dibuat di Google Colab dan bisa dijalankan lokal.
- citra dataset
- 10.605
- akurasi akhir
- 83,0%
Teknologi utama
- Python
- OpenCV
- scikit-image
- scikit-learn
- Jupyter
Pipeline
- Citra diubah ke 128 × 128 piksel dan dikonversi ke RGB.
- Segmentasi lesi dengan K-Means (k=2); cluster dengan warna rata-rata paling gelap dianggap area lesi.
- Objek kecil di mask dibersihkan dengan operasi morfologi.
- 4 fitur tekstur GLCM (contrast, correlation, energy, homogeneity) dan 2 fitur bentuk (area, perimeter), dinormalisasi dengan StandardScaler.
- SVM kernel linear, polynomial, dan RBF dibandingkan, lalu di-tuning dengan GridSearchCV 10-fold.
Hasil pada 1.000 citra uji
- Akurasi SVM linear 79,5%, polynomial 76,9%, dan RBF 81,2%.
- RBF setelah tuning (C=100, gamma=1): akurasi 83,0%, dengan precision, recall, dan F1 macro 0,83.
- Per kelas: recall benign 0,84 dan malignant 0,82, masing-masing 500 citra.
- 90 citra ganas terprediksi jinak (false negative). Jenis kesalahan inilah yang paling perlu diperhatikan dalam konteks medis.
Yang akan saya perbaiki
- Cek segmentasi secara visual, karena lesi tidak selalu menjadi cluster paling gelap, misalnya pada citra bertepi gelap.
- Pastikan StandardScaler dan tuning hanya memakai data latih agar tidak terjadi kebocoran data.
- Tambah ROC-AUC dan analisis false negative.
- Coba fitur warna dan bentuk tambahan (asimetri, kebulatan), atau CNN sebagai pembanding.
Tangkapan layar
Buka gambar ukuran penuh
Buka gambar ukuran penuhDibuat untuk pembelajaran dan portofolio. Hasil model bukan diagnosis medis dan bukan pengganti pemeriksaan tenaga medis.