Penerapan Neural Network untuk Klasifikasi Kanker Payudara
Neural Network merupakan pendekatan dalam machine learning yang meniru cara kerja jaringan saraf manusia dengan menggunakan sekumpulan neuron buatan yang saling terhubung. Melalui struktur ini, jaringan mampu mempelajari pola dan keteraturan yang terdapat dalam data, sehingga dapat menghasilkan keluaran atau prediksi berdasarkan fungsi matematis yang dipelajari selama proses pelatihan.
Setiap koneksi antar-neuron memiliki bobot yang berperan penting dalam menentukan seberapa besar pengaruh suatu neuron terhadap proses pengolahan informasi. Bobot-bobot ini akan disesuaikan selama proses pembelajaran, sehingga jaringan dapat meningkatkan kemampuannya dalam mengenali pola dan menghasilkan prediksi yang semakin akurat.
Load Dataset
Analisis dilakukan pada dataset Breast Cancer Wisconsin (Diagnostic) dari UCI Machine Learning Repository sebagai sumber data utama dengan tujuan klasifikasi kanker payudara. Data ini menyediakan informasi pengukuran karakteristik inti sel (cell nuclei) yang diperoleh dari sampel jaringan payudara, sehingga memungkinkan proses klasifikasi tumor dari 569 observasi ke dalam dua kelas, yaitu tumor jinak (benign) dan tumor ganas (malignant). Terdapat 10 variabel numerik yang merepresentasikan karakteristik inti sel, diantaranya radius(x1), texture(x2), perimeter(x3), area(x4), smoothness(x5), compactness(x6), concavity (x7), concave_points(x8), symmetry(x9), dan fractal dimension(x10). Data-data tersebut dilengkapi dengan diagnosis kanker payudara, dimana y=1 menyatakan tumor ganas dan y=0 menyatakan tumor jinak.
## # A tibble: 5 × 11
## y x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 18.0 10.4 123. 1001 0.118 0.278 0.300 0.147 0.242 0.0787
## 2 1 20.6 17.8 133. 1326 0.0847 0.0786 0.0869 0.0702 0.181 0.0567
## 3 1 19.7 21.2 130 1203 0.110 0.160 0.197 0.128 0.207 0.0600
## 4 1 11.4 20.4 77.6 386. 0.142 0.284 0.241 0.105 0.260 0.0974
## 5 1 20.3 14.3 135. 1297 0.100 0.133 0.198 0.104 0.181 0.0588
Pre-processing
Pengecekan missing value
Tahap awal pre-processing data adalah menghitung jumlah missing value (NA) pada setiap variabel dalam dataset. Berdasarkan pengecekan yang telah dilakukan, diperoleh bahwa tidak terdapat missing value pada semua variabel.
## y x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
## 0 0 0 0 0 0 0 0 0 0 0
Pengecekan outlier
Pengecekan outlier dilakukan untuk mengidentifikasi data yang memiliki nilai ekstrem atau menyimpang secara signifikan pada distribusi suatu variabel. Deteksi dilakukan menggunakan boxplot setiap variabel. Berdasarkan boxplot, terdeteksi outlier pada variabel area(x4) yang ditunjukkan oleh titik-titik yang berada di luar batas.
Penanganan outlier
Dilakukan penanganan outlier menggunakan metode winsorizing, yaitu dengan membatasi nilai ekstrem agar berada dalam rentang batas bawah dan batas atas berdasarkan konsep Interquartile Range (IQR). Ditentukan batas bawah (lower bound) dan batas atas (upper bound) dengan rumus: \[ Lower\,Bound=Q1-1.5 \times IQR \\ Upper\,Bound=Q3+1.5 \times IQR \]
Feature Scalling
Dilakukan scalling setiap variabel yang digunakan menggunakan minmax scalling sehingga setiap variabel akan bernilai 0 hingga 1.
Pembangunan Model
Analisis dilakukan menggunakan metode neural network backpropagation
untuk membangun model klasifikasi. Arsitektur jaringan terdiri dari satu
hidden layer dengan lima neuron. Fungsi aktivasi yang digunakan
merupakan fungsi sigmoid biner yang umum diaplikasikan pada kasus
klasifikasi biner yang didefinisikan sebagai berikut: \[
y = \phi(u)=\frac{1}{1 + e^{-x}}
\] Selama proses pelatihan, bobot pada setiap koneksi neuron
diperbarui secara iteratif menggunakan package neuralnet
dengan algoritma backpropagation untuk meminimalkan galat antara nilai
prediksi dan nilai aktual pada data pelatihan. Setelah proses pelatihan
selesai, model diterapkan pada data uji untuk menghasilkan output
klasifikasi ke kelas 0 atau 1 dengan ambang batas 0.5.
Evaluasi Model
Evaluasi dilakukan menggunakan confusion matrix, kemudian dihitung metrik berikut.
1. Akurasi
Ukuran proporsi prediksi benar terhadap seluruh data uji.
2. Presisi
Ukuran ketepatan prediksi positif, yaitu banyaknya prediksi “tumor ganas” yang benar.
3. Recall
Ukuran performa model dalam memprediksi kasus positif, yaitu banyaknya pasien “tumor ganas” yang berhasil diprediksi dengan tepat.
4. F-1 Score
Rata-rata harmonik presisi dan recall secara seimbang.
## Predicted
## Actual 0 1
## 0 61 0
## 1 5 48
Berdasarkan confusion matrix, dapat dilihat:
61 pasien tumor jinak diklasifikasi dengan benar (True Negative). Tidak ada pasien yang salah diklasifikasikan sebagai pasien tumor ganas (False Negative).
48 pasien tumor ganas diklasifikasi dengan benar (True Positive), sementara 5 pasien salah diklasifikasikan sebagai pasien tumor jinak (False Positive).
TP <- conf_mat[2,2]
TN <- conf_mat[1,1]
FP <- conf_mat[1,2]
FN <- conf_mat[2,1]
accuracy <- round(mean(test$class == pred_class), 4)
precision <- round(TP / (TP + FP), 4)
recall <- round(TP / (TP + FN), 4)
f1_score <- round(2 * precision * recall / (precision + recall), 4)
evaluation_table <- data.frame(
Accuracy = accuracy,
Precision = precision,
Recall = recall,
F1_Score = f1_score
)
evaluation_table## Accuracy Precision Recall F1_Score
## 1 0.9561 1 0.9057 0.9505
Nilai akurasi sebesar 0.9561 menunjukkan bahwa 95.61% pasien dapat diklasifikasikan dengan tepat. Namun, evaluasi klasifikasi medis perlu mempertimbangkan ukuran lain untuk menentukan kemampuan model mendeteksi penyakit.
Diperoleh presisi 1 yang menunjukkan bahwa model mampu mendeteksi tumor ganas dengan tepat pada data uji. Recall sebesar 0.9057 menunjukkan bahwa 90.57% pasien tumor ganas dapat dideteksi dengan tepat. Artinya, 9.43% pasien tumor ganas belum dapat dideteksi oleh model. Diperoleh F1-Score sebesar 0.9505 yang menunjukkan keseimbangan yang sangat baik antara nilai precision dan recall dalam klasifikasi penyakit tumor ganas dan penyakit tumor jinak.
Kesimpulan
Berdasarkan hasil penelitian yang telah dilakukan, dapat disimpulkan bahwa metode Neural Network mampu melakukan klasifikasi kanker payudara dengan memanfaatkan data klinis pasien. Model yang dikembangkan menunjukkan kinerja yang baik, dengan akurasi mencapai 95.61%, presisi sebesar 100%, recall sebesar 90.57%, dan F1-score sebesar 95.05%. Hasil tersebut mengindikasikan bahwa model mampu mengklasifikasikan kasus tumor ganas dan tumor jinak dengan tingkat kesalahan yang rendah dan tanpa kecenderungan bias pada salah satu kelas. Secara keseluruhan, analisis ini menunjukkan bahwa metode Neural Network dapat diandalkan untuk deteksi kanker payudara.