BAB I PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi informasi mendorong penggunaan metode pembelajaran mesin untuk menganalisis data dan menghasilkan prediksi. Salah satu metode klasifikasi yang dapat digunakan adalah K-Nearest Neighbors (K-NN). K-NN merupakan metode supervised learning nonparametrik yang mengklasifikasikan suatu observasi berdasarkan kelas mayoritas dari sejumlah tetangga terdekat pada data latih. K-NN termasuk pendekatan instance-based learning atau lazy learning karena proses prediksi dilakukan dengan membandingkan observasi baru terhadap data yang telah tersedia, bukan dengan membentuk model parametrik terlebih dahulu (Kubat, 2021; Halder et al., 2024).

Kinerja K-NN dipengaruhi oleh pemilihan jumlah tetangga terdekat atau nilai \(k\), serta ukuran jarak yang digunakan. Nilai \(k\) yang terlalu kecil dapat menyebabkan model sensitif terhadap derau, sedangkan nilai \(k\) yang terlalu besar dapat menghasilkan batas keputusan yang terlalu halus dan berisiko mengabaikan pola lokal. Selain itu, karena K-NN menggunakan perhitungan jarak, penskalaan fitur diperlukan agar variabel dengan rentang nilai besar tidak mendominasi perhitungan jarak. Penelitian terbaru menunjukkan bahwa metode normalisasi dan metrik jarak dapat memengaruhi kinerja klasifikasi K-NN (Halder et al., 2024; Yusran et al., 2025).

Pada praktikum ini dilakukan klasifikasi data medis menggunakan Wisconsin Breast Cancer Database yang tersedia pada paket mlbench. Variabel respons Class digunakan untuk mengelompokkan tumor ke dalam kelas jinak (benign) atau ganas (malignant). Dataset Wisconsin Breast Cancer juga digunakan dalam penelitian klasifikasi dan diagnosis kanker payudara dengan pendekatan pembelajaran mesin (Manir dan Deshpande, 2024). Pemodelan dilakukan dengan membandingkan nilai \(k\) sebesar 3, 5, 7, 9, dan 11. Karena NPM praktikan adalah 20 (genap), data dibagi menjadi 80% data latih dan 20% data uji dengan inisialisasi set.seed(12320). Kinerja model dibandingkan menggunakan accuracy, sensitivity, dan specificity, dengan perhatian khusus pada kesalahan false negative dalam mendeteksi tumor ganas.

1.2 Rumusan Masalah

Berdasarkan tujuan praktikum tersebut, rumusan masalah yang dibahas adalah sebagai berikut:

  1. Bagaimana konsep fundamental, formulasi matematis, dan prinsip kerja algoritma K-Nearest Neighbors (K-NN) sebagai metode non-parametric supervised learning?

  2. Bagaimana pentingnya penerapan feature scaling dalam perhitungan jarak pada algoritma K-NN?

  3. Bagaimana implementasi algoritma K-NN menggunakan bahasa pemrograman R dengan pustaka class dan caret?

  4. Bagaimana hasil evaluasi performa model klasifikasi K-NN berdasarkan Confusion Matrix, Accuracy, Sensitivity, Specificity, dan Positive Predictive Value?

  5. Bagaimana menentukan nilai k yang optimal melalui hyperparameter tuning dan bagaimana visualisasi hubungan nilai k terhadap performa model menggunakan paket ggplot2?

1.3 Tujuan Praktikum

Tujuan dari praktikum algoritma K-Nearest Neighbors (K-NN) adalah sebagai berikut:

  1. Memahami konsep fundamental, formulasi matematis, dan prinsip kerja algoritma K-Nearest Neighbors (K-NN) sebagai metode non-parametric supervised learning.

  2. Memahami pentingnya penskalaan fitur (feature scaling) dalam komputasi berbasis metrik jarak (distance metrics).

  3. Mengimplementasikan algoritma K-NN secara terstruktur dan mandiri menggunakan bahasa pemrograman R dengan pustaka class dan caret.

  4. Mengevaluasi performa model klasifikasi menggunakan Confusion Matrix, Akurasi (Accuracy), Sensitivitas (Sensitivity), Spesifisitas (Specificity), dan Nilai Prediksi Positif (Positive Predictive Value).

  5. Melakukan eksplorasi optimasi hiperparameter nilai k (hyperparameter tuning) serta memvisualisasikan kurva performanya menggunakan paket ggplot2.

BAB II LANDASAN TEORI

2.1 K-Nearest Neighbors

K-Nearest Neighbors (K-NN) merupakan algoritma klasifikasi nonparametrik yang termasuk dalam kelompok instance-based learning atau lazy learning. Algoritma ini mengklasifikasikan suatu observasi berdasarkan kelas mayoritas dari \(k\) observasi pada data latih yang memiliki jarak paling dekat dengan observasi tersebut. Dengan demikian, proses pembentukan model tidak menghasilkan persamaan parametrik, tetapi menggunakan data latih sebagai acuan ketika terdapat data baru yang akan diprediksi (Kubat, 2021; Halder et al., 2024).

Secara umum, untuk suatu observasi baru, algoritma menghitung jarak terhadap seluruh observasi pada data latih. Selanjutnya, dipilih sebanyak \(k\) observasi dengan jarak terkecil. Kelas hasil prediksi ditentukan melalui mekanisme majority voting, yaitu kelas yang paling banyak muncul di antara tetangga terdekat. Prinsip tersebut membuat hasil klasifikasi K-NN bergantung pada nilai \(k\), ukuran jarak, dan kualitas data yang digunakan.

2.2 Metrik Jarak

Metrik jarak digunakan untuk mengukur kedekatan antara dua observasi berdasarkan nilai variabel prediktor. Salah satu ukuran jarak yang umum digunakan pada K-NN adalah jarak Euclidean. Untuk dua observasi \(x\) dan \(y\) dengan \(p\) variabel, jarak Euclidean dirumuskan sebagai:

\[ d(x,y)=\sqrt{\sum_{j=1}^{p}(x_j-y_j)^2} \]

Semakin kecil nilai jarak antara dua observasi, semakin dekat karakteristik kedua observasi tersebut. Pada praktikum ini digunakan jarak Euclidean melalui fungsi knn() dari paket class. Jarak Euclidean merupakan salah satu metrik yang umum digunakan pada K-NN, meskipun pemilihan metrik jarak yang sesuai tetap bergantung pada karakteristik data (Halder et al., 2024; Yusran et al., 2025). Oleh karena itu, seluruh variabel prediktor numerik perlu dipersiapkan dalam skala yang sebanding sebelum perhitungan jarak dilakukan.

2.3 Penskalaan Fitur

Penskalaan fitur (feature scaling) merupakan proses mengubah rentang nilai variabel agar perbedaan skala antarvariabel tidak mendominasi perhitungan jarak. Tahapan ini penting pada K-NN karena kedekatan antarobservasi ditentukan berdasarkan ukuran jarak pada seluruh prediktor. Penelitian Niño-Adan et al. (2022) serta Yusran et al. (2025) menunjukkan bahwa pemilihan metode normalisasi dapat memengaruhi hasil klasifikasi K-NN. Salah satu teknik yang dapat digunakan adalah normalisasi Min-Max, yang mengubah nilai data ke dalam rentang 0 sampai 1. Rumus normalisasi Min-Max adalah:

\[ x_{\text{scaled}}=\frac{x-x_{\min}}{x_{\max}-x_{\min}} \]

Nilai minimum dan maksimum untuk setiap prediktor dihitung berdasarkan data latih. Nilai tersebut kemudian digunakan kembali untuk mentransformasikan data uji. Cara ini dilakukan agar informasi dari data uji tidak digunakan dalam proses pra-pemrosesan data latih. Apabila suatu prediktor memiliki nilai minimum dan maksimum yang sama, nilai hasil transformasinya ditetapkan menjadi nol.

2.4 Pemilihan Nilai \(k\)

Nilai \(k\) menunjukkan banyaknya tetangga terdekat yang dipertimbangkan dalam menentukan kelas suatu observasi. Nilai \(k\) yang kecil dapat menghasilkan model yang lebih fleksibel, tetapi sensitif terhadap pencilan dan derau. Sebaliknya, nilai \(k\) yang besar cenderung menghasilkan keputusan yang lebih halus dan berpotensi menyebabkan underfitting. Oleh karena itu, pemilihan nilai \(k\) perlu mempertimbangkan karakteristik data dan hasil evaluasi model (Kubat, 2021; Halder et al., 2024).

Pemilihan nilai \(k\) perlu dilakukan dengan membandingkan kinerja beberapa nilai yang berbeda. Pada praktikum ini digunakan \(k \in \{3,5,7,9,11\}\). Seluruh nilai \(k\) diuji menggunakan pembagian data latih dan data uji yang sama sehingga hasil evaluasi dapat dibandingkan secara konsisten.

2.5 Evaluasi Model Klasifikasi

Evaluasi model dilakukan menggunakan confusion matrix yang membandingkan kelas aktual dengan kelas hasil prediksi. Dalam klasifikasi ini, kelas malignant ditetapkan sebagai kelas positif, sedangkan kelas benign sebagai kelas negatif. Komponen confusion matrix terdiri atas true positive (TP), true negative (TN), false positive (FP), dan false negative (FN).

Metrik evaluasi yang digunakan adalah:

  1. Accuracy, yaitu proporsi seluruh prediksi yang benar.

\[ Accuracy=\frac{TP+TN}{TP+TN+FP+FN} \]

  1. Sensitivity, yaitu kemampuan model mengenali observasi positif atau tumor ganas.

\[ Sensitivity=\frac{TP}{TP+FN} \]

  1. Specificity, yaitu kemampuan model mengenali observasi negatif atau tumor jinak.

\[ Specificity=\frac{TN}{TN+FP} \]

Pada konteks deteksi tumor ganas, false negative merupakan kondisi ketika observasi yang sebenarnya malignant diprediksi sebagai benign. Kesalahan tersebut perlu mendapat perhatian karena dapat menyebabkan kasus tumor ganas tidak teridentifikasi oleh model. Penelitian Manir dan Deshpande (2024) menunjukkan penggunaan metrik evaluasi seperti accuracy, sensitivity, specificity, dan precision dalam analisis klasifikasi kanker payudara. Oleh sebab itu, pemilihan model dalam praktikum ini tidak hanya mempertimbangkan accuracy, tetapi juga sensitivity dan jumlah false negative.

BAB III METODE PENELITIAN

3.1 Sumber Data

Data yang digunakan dalam praktikum ini adalah Wisconsin Breast Cancer Database yang dimuat melalui paket mlbench pada perangkat lunak R. Dataset tersebut berisi hasil pengamatan karakteristik sel yang digunakan untuk mengklasifikasikan tumor payudara ke dalam dua kelas, yaitu benign dan malignant. Variabel Class digunakan sebagai variabel respons, sedangkan variabel karakteristik sel digunakan sebagai prediktor. Variabel Id tidak digunakan karena hanya berfungsi sebagai identitas observasi.

3.2 Rancangan Percobaan

Pemodelan dilakukan menggunakan algoritma K-NN dengan lima variasi nilai \(k\), yaitu 3, 5, 7, 9, dan 11. Berdasarkan NPM 20 yang termasuk NPM genap, pembagian data dilakukan dengan proporsi 80% data latih dan 20% data uji. Inisialisasi bilangan acak menggunakan set.seed(12320) agar pembagian data dapat direproduksi.

Komponen Keterangan
Dataset Wisconsin Breast Cancer Database
Variabel respons Class
Kelas positif malignant
Kelas negatif benign
Proporsi data latih 80%
Proporsi data uji 20%
Seed 12320
Nilai \(k\) 3, 5, 7, 9, 11
Metrik evaluasi Accuracy, Sensitivity, Specificity, dan False Negative

3.3 Langkah-Langkah Analisis

Tahapan analisis yang dilakukan dalam praktikum ini adalah:

  1. Memuat paket yang diperlukan dan dataset BreastCancer.
  2. Memeriksa struktur, tipe variabel, dan distribusi kelas pada dataset.
  3. Menghapus variabel identitas Id serta menangani nilai hilang.
  4. Mengubah variabel prediktor menjadi numerik dan melakukan normalisasi Min-Max.
  5. Membagi data menjadi 80% data latih dan 20% data uji menggunakan set.seed(12320).
  6. Menerapkan algoritma K-NN dengan nilai \(k\) sebesar 3, 5, 7, 9, dan 11.
  7. Menghitung confusion matrix, accuracy, sensitivity, specificity, dan false negative.
  8. Menyusun tabel perbandingan dan menentukan nilai \(k\) yang paling optimal.

BAB IV HASIL DAN PEMBAHASAN

4.1 Memuat Package dan Dataset

knitr::opts_chunk$set(echo = FALSE)
# Memuat package
library(class)
library(caret)
library(ggplot2)
library(mlbench)
library(dplyr)
library(knitr)

# Memuat dataset
data(BreastCancer, package = "mlbench")

# Melihat struktur dan enam data pertama
str(BreastCancer)
## 'data.frame':    699 obs. of  11 variables:
##  $ Id             : chr  "1000025" "1002945" "1015425" "1016277" ...
##  $ Cl.thickness   : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 5 5 3 6 4 8 1 2 2 4 ...
##  $ Cell.size      : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 1 4 1 8 1 10 1 1 1 2 ...
##  $ Cell.shape     : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 1 4 1 8 1 10 1 2 1 1 ...
##  $ Marg.adhesion  : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 1 5 1 1 3 8 1 1 1 1 ...
##  $ Epith.c.size   : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 2 7 2 3 2 7 2 2 2 2 ...
##  $ Bare.nuclei    : Factor w/ 10 levels "1","2","3","4",..: 1 10 2 4 1 10 10 1 1 1 ...
##  $ Bl.cromatin    : Factor w/ 10 levels "1","2","3","4",..: 3 3 3 3 3 9 3 3 1 2 ...
##  $ Normal.nucleoli: Factor w/ 10 levels "1","2","3","4",..: 1 2 1 7 1 7 1 1 1 1 ...
##  $ Mitoses        : Factor w/ 9 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 5 1 ...
##  $ Class          : Factor w/ 2 levels "benign","malignant": 1 1 1 1 1 2 1 1 1 1 ...
head(BreastCancer)
##        Id Cl.thickness Cell.size Cell.shape Marg.adhesion Epith.c.size
## 1 1000025            5         1          1             1            2
## 2 1002945            5         4          4             5            7
## 3 1015425            3         1          1             1            2
## 4 1016277            6         8          8             1            3
## 5 1017023            4         1          1             3            2
## 6 1017122            8        10         10             8            7
##   Bare.nuclei Bl.cromatin Normal.nucleoli Mitoses     Class
## 1           1           3               1       1    benign
## 2          10           3               2       1    benign
## 3           2           3               1       1    benign
## 4           4           3               7       1    benign
## 5           1           3               1       1    benign
## 6          10           9               7       1 malignant
# Melihat distribusi kelas
table(BreastCancer$Class)
## 
##    benign malignant 
##       458       241

Dataset BreastCancer memuat variabel identitas, sejumlah variabel karakteristik sel, dan variabel kelas. Variabel Class menjadi target klasifikasi dengan dua kategori, yaitu benign dan malignant. Pemeriksaan struktur data dilakukan untuk mengetahui tipe setiap variabel serta memastikan bahwa variabel yang digunakan sesuai dengan kebutuhan algoritma K-NN.

## [1] 683  10
##    Cl.thickness       Cell.size      Cell.shape   Marg.adhesion    Epith.c.size 
##               0               0               0               0               0 
##     Bare.nuclei     Bl.cromatin Normal.nucleoli         Mitoses           Class 
##               0               0               0               0               0
## 
##    benign malignant 
##       444       239
Ringkasan Dataset Setelah Pra-pemrosesan
Keterangan Nilai
Jumlah observasi setelah pembersihan 683
Jumlah variabel prediktor 9
Jumlah variabel respons 1
Jumlah nilai hilang 0

Berdasarkan keluaran struktur data (str), dataset awal BreastCancer terdiri atas 699 observasi dan 11 variabel, yang mencakup variabel identitas (Id), sembilan variabel karakteristik sel bertipe ordered factor dan factor (Cl.thickness, Cell.size, Cell.shape, Marg.adhesion, Epith.c.size, Bare.nuclei, Bl.cromatin, Normal.nucleoli, dan Mitoses), serta satu variabel target Class. Pada kondisi awal sebelum pembersihan, distribusi variabel target menunjukkan terdapat 458 observasi pada kelas benign dan 241 observasi pada kelas malignant. Setelah dilakukan tahap pra-pemrosesan berupa penghapusan variabel Id, konversi seluruh prediktor ke tipe numerik, serta penghapusan 16 observasi yang mengandung nilai hilang (? pada variabel Bare.nuclei), diperoleh dataset bersih berjumlah 683 observasi dengan 9 variabel prediktor dan 1 variabel respons tanpa adanya nilai hilang tersisa. Proporsi kelas akhir setelah pembersihan terdiri atas 444 kasus tumor jinak (benign) dan 239 kasus tumor ganas (malignant).

4.2 Pembagian Data Training dan Testing

Pembagian Data Training dan Testing
Data Jumlah Persentase
Training 548 80.23
Testing 135 19.77
Total 683 100.00

sebagai data training dan 135 observasi (19,77%) sebagai data testing. Selisih persentase desimal kecil dari target 80% dan 20% tersebut terjadi karena fungsi createDataPartition() menerapkan metode stratified random sampling agar proporsi kelas benign dan malignant tetap seimbang di kedua kelompok data. Pembagian ini memastikan bahwa model K-NN dilatih pada mayoritas data yang representatif sekaligus diuji secara objektif pada 135 data baru yang belum pernah dikenali sebelumnya.

4.3 Normalisasi Data

##   Cl.thickness      Cell.size        Cell.shape     Marg.adhesion   
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:0.1111   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :0.3333   Median :0.0000   Median :0.0000   Median :0.0000  
##  Mean   :0.3838   Mean   :0.2425   Mean   :0.2496   Mean   :0.2107  
##  3rd Qu.:0.5556   3rd Qu.:0.4444   3rd Qu.:0.4444   3rd Qu.:0.3333  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000  
##   Epith.c.size     Bare.nuclei      Bl.cromatin     Normal.nucleoli 
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:0.1111   1st Qu.:0.0000   1st Qu.:0.1111   1st Qu.:0.0000  
##  Median :0.1111   Median :0.0000   Median :0.2222   Median :0.0000  
##  Mean   :0.2553   Mean   :0.2922   Mean   :0.2760   Mean   :0.2060  
##  3rd Qu.:0.3333   3rd Qu.:0.6667   3rd Qu.:0.4444   3rd Qu.:0.3333  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000  
##     Mitoses       
##  Min.   :0.00000  
##  1st Qu.:0.00000  
##  Median :0.00000  
##  Mean   :0.06509  
##  3rd Qu.:0.00000  
##  Max.   :1.00000

prediktor telah berhasil ditransformasikan menggunakan metode normalisasi Min-Max sehingga memiliki nilai minimum sebesar 0.0000 dan nilai maksimum sebesar 1.0000. Selain rentang nilai yang seragam pada interval \([0, 1]\), teramati variasi sebaran pemusatan data pada tiap fitur, di mana variabel seperti Cl.thickness memiliki rata-rata relatif lebih tinggi (0.3838), sedangkan variabel Mitoses memiliki rata-rata terendah (0.06509) karena mayoritas observasinya bernilai nol setelah diskalakan. Keseragaman skala pada seluruh fitur ini menjamin bahwa perhitungan jarak Euclidean tidak akan didominasi oleh variabel tertentu dengan rentang angka awal yang lebih besar.

4.4 Pemodelan K-Nearest Neighbors

## $`3`
##  [1] benign    benign    benign    benign    benign    benign    benign   
##  [8] malignant malignant malignant
## Levels: benign malignant
## 
## $`5`
##  [1] benign    benign    benign    benign    benign    benign    benign   
##  [8] benign    malignant benign   
## Levels: benign malignant
## 
## $`7`
##  [1] benign    benign    benign    benign    benign    benign    benign   
##  [8] malignant malignant benign   
## Levels: benign malignant
## 
## $`9`
##  [1] benign    benign    benign    benign    benign    benign    benign   
##  [8] malignant malignant benign   
## Levels: benign malignant
## 
## $`11`
##  [1] benign    benign    benign    malignant benign    benign    benign   
##  [8] malignant malignant benign   
## Levels: benign malignant

Berdasarkan sepuluh sampel prediksi pertama pada data testing, terlihat adanya dinamika perubahan hasil klasifikasi seiring bergantinya jumlah tetangga terdekat (\(k\)) yang digunakan. Pada \(k = 3\) dan \(k = 9\), tiga observasi terakhir (indeks ke-8, ke-9, dan ke-10) seluruhnya diklasifikasikan sebagai malignant. Namun, ketika nilai \(k\) diubah menjadi 5, 7, dan 11, observasi ke-10 bergeser menjadi benign, bahkan pada \(k = 5\) observasi ke-8 ikut berubah menjadi benign serta pada \(k = 11\) observasi ke-4 terklasifikasi sebagai malignant. Pergeseran prediksi pada beberapa titik uji tersebut membuktikan bahwa perubahan nilai \(k\) secara langsung memengaruhi keputusan majority voting di sekitar batas keputusan antar-kelas.

4.5 Evaluasi Model K-NN

Perbandingan Kinerja Model K-NN
k Accuracy Sensitivity Specificity False_Negative
3 0.9852 0.9574 1 2
5 0.9704 0.9149 1 4
7 0.9704 0.9149 1 4
9 0.9704 0.9149 1 4
11 0.9704 0.9149 1 4
## 
## 
## Confusion Matrix untuk k = 3 
## Confusion Matrix and Statistics
## 
##            Reference
## Prediction  benign malignant
##   benign        88         2
##   malignant      0        45
##                                           
##                Accuracy : 0.9852          
##                  95% CI : (0.9475, 0.9982)
##     No Information Rate : 0.6519          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.967           
##                                           
##  Mcnemar's Test P-Value : 0.4795          
##                                           
##             Sensitivity : 0.9574          
##             Specificity : 1.0000          
##          Pos Pred Value : 1.0000          
##          Neg Pred Value : 0.9778          
##              Prevalence : 0.3481          
##          Detection Rate : 0.3333          
##    Detection Prevalence : 0.3333          
##       Balanced Accuracy : 0.9787          
##                                           
##        'Positive' Class : malignant       
##                                           
## 
## 
## Confusion Matrix untuk k = 5 
## Confusion Matrix and Statistics
## 
##            Reference
## Prediction  benign malignant
##   benign        88         4
##   malignant      0        43
##                                           
##                Accuracy : 0.9704          
##                  95% CI : (0.9259, 0.9919)
##     No Information Rate : 0.6519          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.9334          
##                                           
##  Mcnemar's Test P-Value : 0.1336          
##                                           
##             Sensitivity : 0.9149          
##             Specificity : 1.0000          
##          Pos Pred Value : 1.0000          
##          Neg Pred Value : 0.9565          
##              Prevalence : 0.3481          
##          Detection Rate : 0.3185          
##    Detection Prevalence : 0.3185          
##       Balanced Accuracy : 0.9574          
##                                           
##        'Positive' Class : malignant       
##                                           
## 
## 
## Confusion Matrix untuk k = 7 
## Confusion Matrix and Statistics
## 
##            Reference
## Prediction  benign malignant
##   benign        88         4
##   malignant      0        43
##                                           
##                Accuracy : 0.9704          
##                  95% CI : (0.9259, 0.9919)
##     No Information Rate : 0.6519          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.9334          
##                                           
##  Mcnemar's Test P-Value : 0.1336          
##                                           
##             Sensitivity : 0.9149          
##             Specificity : 1.0000          
##          Pos Pred Value : 1.0000          
##          Neg Pred Value : 0.9565          
##              Prevalence : 0.3481          
##          Detection Rate : 0.3185          
##    Detection Prevalence : 0.3185          
##       Balanced Accuracy : 0.9574          
##                                           
##        'Positive' Class : malignant       
##                                           
## 
## 
## Confusion Matrix untuk k = 9 
## Confusion Matrix and Statistics
## 
##            Reference
## Prediction  benign malignant
##   benign        88         4
##   malignant      0        43
##                                           
##                Accuracy : 0.9704          
##                  95% CI : (0.9259, 0.9919)
##     No Information Rate : 0.6519          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.9334          
##                                           
##  Mcnemar's Test P-Value : 0.1336          
##                                           
##             Sensitivity : 0.9149          
##             Specificity : 1.0000          
##          Pos Pred Value : 1.0000          
##          Neg Pred Value : 0.9565          
##              Prevalence : 0.3481          
##          Detection Rate : 0.3185          
##    Detection Prevalence : 0.3185          
##       Balanced Accuracy : 0.9574          
##                                           
##        'Positive' Class : malignant       
##                                           
## 
## 
## Confusion Matrix untuk k = 11 
## Confusion Matrix and Statistics
## 
##            Reference
## Prediction  benign malignant
##   benign        88         4
##   malignant      0        43
##                                           
##                Accuracy : 0.9704          
##                  95% CI : (0.9259, 0.9919)
##     No Information Rate : 0.6519          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.9334          
##                                           
##  Mcnemar's Test P-Value : 0.1336          
##                                           
##             Sensitivity : 0.9149          
##             Specificity : 1.0000          
##          Pos Pred Value : 1.0000          
##          Neg Pred Value : 0.9565          
##              Prevalence : 0.3481          
##          Detection Rate : 0.3185          
##    Detection Prevalence : 0.3185          
##       Balanced Accuracy : 0.9574          
##                                           
##        'Positive' Class : malignant       
## 

Tabel evaluasi menyajikan nilai accuracy, sensitivity, dan specificity untuk setiap nilai \(k\). Accuracy menggambarkan proporsi seluruh prediksi yang benar, sedangkan sensitivity menunjukkan kemampuan model dalam mengenali tumor ganas. Specificity menunjukkan kemampuan model dalam mengenali tumor jinak. Jumlah false negative juga ditampilkan untuk mengetahui banyaknya kasus tumor ganas yang salah diklasifikasikan sebagai tumor jinak.

4.6 Perbandingan Kinerja dan Penentuan Nilai k Terbaik

Peringkat Kinerja Model K-NN
k Accuracy Sensitivity Specificity False_Negative
3 0.9852 0.9574 1 2
5 0.9704 0.9149 1 4
7 0.9704 0.9149 1 4
9 0.9704 0.9149 1 4
11 0.9704 0.9149 1 4
## Nilai k terbaik berdasarkan prioritas evaluasi adalah: 3
## False Negative: 2
## Sensitivity: 0.9574
## Accuracy: 0.9852
## Specificity: 1

Penentuan model terbaik dilakukan dengan memprioritaskan jumlah false negative yang paling kecil karena kesalahan dalam mengklasifikasikan tumor ganas sebagai tumor jinak perlu diminimalkan. Apabila terdapat lebih dari satu model dengan jumlah false negative yang sama, model dengan sensitivity lebih tinggi diprioritaskan. Selanjutnya, accuracy dan specificity digunakan sebagai pertimbangan tambahan. Dengan demikian, model terbaik tidak hanya ditentukan berdasarkan ketepatan klasifikasi secara keseluruhan, tetapi juga mempertimbangkan kemampuan mendeteksi kelas malignant.

4.7 Visualisasi Perbandingan Metrik Evaluasi

Grafik garis perbandingan metrik evaluasi memperlihatkan performa model K-NN pada rentang \(k = 3\) hingga \(k = 11\) berada pada tingkat yang sangat tinggi dan stabil. Garis biru (Specificity) bertahan konstan tepat di angka 100% pada seluruh nilai \(k\), yang menunjukkan bahwa model tidak pernah salah mengklasifikasikan pasien tumor jinak menjadi tumor ganas (false positive bernilai nol). Sementara itu, garis merah (Accuracy) dan garis hijau (Sensitivity) mencapai titik tertinggi pada \(k = 3\) (mendekati 100% untuk accuracy dan di atas 95% untuk sensitivity), kemudian mengalami sedikit penurunan lalu mendatar secara konstan mulai dari \(k = 5\) hingga \(k = 11\). Pola visual ini mengindikasikan bahwa \(k = 3\) memberikan kemampuan deteksi kasus tumor ganas (sensitivity) paling optimal dibandingkan nilai \(k\) lainnya yang lebih besar

BAB V PENUTUP

5.1 Kesimpulan

Berdasarkan praktikum yang telah dilakukan, algoritma K-NN dapat diterapkan untuk mengklasifikasikan tumor payudara ke dalam kelas benign dan malignant menggunakan Wisconsin Breast Cancer Database. Sebelum pemodelan, data melalui tahapan pra-pemrosesan berupa penghapusan variabel identitas, penanganan nilai hilang, konversi prediktor menjadi numerik, dan normalisasi Min-Max. Pembagian data dilakukan dengan proporsi 80% data training dan 20% data testing sesuai dengan NPM 20 (genap), menggunakan set.seed(12320).

Pemodelan dilakukan dengan membandingkan nilai \(k\) sebesar 3, 5, 7, 9, dan 11. Kinerja setiap model dievaluasi menggunakan accuracy, sensitivity, specificity, dan jumlah false negative. Nilai \(k\) terbaik ditentukan dengan memprioritaskan jumlah false negative terkecil, kemudian sensitivity, accuracy, dan specificity. Nilai serta model terpilih mengikuti hasil yang diperoleh ketika dokumen R Markdown dijalankan.

5.2 Saran

Praktikum selanjutnya dapat mempertimbangkan pengujian beberapa teknik penskalaan dan ukuran jarak untuk mengetahui pengaruhnya terhadap kinerja K-NN. Selain itu, pemilihan nilai \(k\) dapat diperluas dan diuji menggunakan validasi silang agar kestabilan model dapat dievaluasi pada beberapa pembagian data. Untuk penerapan pada permasalahan medis, evaluasi sebaiknya tetap memperhatikan sensitivity dan false negative, bukan hanya accuracy, karena kesalahan dalam mengenali kasus tumor ganas memiliki konsekuensi yang penting.

DAFTAR PUSTAKA

Halder, R. K., Uddin, M. N., Uddin, M. A., Aryal, S., dan Khraisat, A. (2024). Enhancing K-nearest neighbor algorithm: A comprehensive review and performance analysis of modifications. Journal of Big Data, 11, Artikel 113. https://doi.org/10.1186/s40537-024-00973-y

Kubat, M. (2021). An Introduction to Machine Learning (Edisi ke-3). Springer. https://doi.org/10.1007/978-3-030-81935-4

Manir, S. B., dan Deshpande, P. (2024). Critical risk assessment, diagnosis, and survival analysis of breast cancer. Diagnostics, 14(10), 984. https://doi.org/10.3390/diagnostics14100984

Niño-Adan, I., Landa-Torres, I., Portillo, E., dan Manjarres, D. (2022). Influence of statistical feature normalisation methods on K-nearest neighbours and K-means in the context of Industry 4.0. Engineering Applications of Artificial Intelligence, 111, 104807. https://doi.org/10.1016/j.engappai.2022.104807

Yusran, M., Sadik, K., Soleh, A. M., dan Suhaeni, C. (2025). Effect of feature normalization and distance metrics on K-nearest neighbors performance for diabetes disease classification. Journal of Mathematics, Computations, and Statistics, 8(2), 341–354. https://doi.org/10.35580/jmathcos.v8i2.8012