1 Pendahuluan

1.1 Latar Belakang

Diabetes mellitus merupakan salah satu penyakit kronis yang memiliki dampak serius terhadap kesehatan masyarakat. Penyakit ini berpotensi menimbulkan berbagai komplikasi jangka panjang yang berkembang secara bertahap, terutama apabila kadar gula darah tidak terkontrol dengan baik. Semakin lama seseorang menderita diabetes, semakin besar risiko terjadinya komplikasi yang dapat menurunkan kualitas hidup bahkan mengancam keselamatan jiwa. Menurut Mayo Clinic (2018), komplikasi diabetes dapat mencakup penyakit kardiovaskular, kerusakan saraf (neuropati), gangguan ginjal (nefropati), kerusakan mata (retinopati), masalah pada kaki, gangguan kulit, penurunan fungsi pendengaran, hingga gangguan kesehatan mental seperti depresi.

Besarnya dampak penyakit diabetes tercermin dari tingginya jumlah penderita di berbagai negara, termasuk Indonesia. Berdasarkan laporan International Diabetes Federation (IDF) tahun 2019, Indonesia menempati peringkat kedua di kawasan Pasifik Barat setelah Tiongkok dalam jumlah penderita diabetes. Tercatat sekitar 10,7 juta penduduk Indonesia menderita diabetes dari total populasi dewasa sebanyak 172,2 juta jiwa. Dengan demikian, sekitar 6,2% populasi dewasa di Indonesia hidup dengan penyakit ini. Selain itu, sekitar 115,6 ribu kematian dikaitkan dengan diabetes, yang menunjukkan tingginya beban penyakit tersebut terhadap kesehatan masyarakat. IDF juga melaporkan bahwa sekitar 73,7% kasus diabetes di Indonesia belum terdiagnosis, sehingga banyak individu berisiko mengalami komplikasi akibat keterlambatan penanganan.

Deteksi dini menjadi salah satu upaya preventif yang penting dalam mengurangi risiko komplikasi diabetes. Informasi awal mengenai kondisi kesehatan seseorang dapat membantu proses pencegahan, diagnosis, serta penanganan penyakit secara lebih efektif. Seiring berkembangnya teknologi, berbagai sistem berbasis kecerdasan buatan telah dikembangkan untuk mendukung pengambilan keputusan di bidang kesehatan. Salah satu pendekatan yang banyak digunakan adalah machine learning, yang memungkinkan komputer mempelajari pola dari data dan menghasilkan prediksi secara otomatis. Dalam konteks diabetes, metode machine learning dapat diterapkan untuk membangun sistem klasifikasi yang membantu mengidentifikasi individu yang berisiko menderita penyakit tersebut.

Penelitian ini dilakukan sebagai upaya untuk membantu deteksi dini penyakit diabetes melalui pemanfaatan teknologi machine learning. Diabetes mellitus merupakan salah satu penyakit kronis yang terus mengalami peningkatan jumlah kasus setiap tahunnya dan dapat menyebabkan berbagai komplikasi serius apabila tidak ditangani dengan baik. Oleh karena itu, diperlukan metode yang mampu membantu proses identifikasi risiko diabetes secara cepat dan akurat berdasarkan data kesehatan pasien.

Salah satu metode machine learning yang banyak digunakan dalam permasalahan klasifikasi adalah Support Vector Machine (SVM). Algoritma ini memiliki kemampuan yang baik dalam menemukan batas pemisah (hyperplane) optimal antara dua kelas data. Untuk menangani pola data yang tidak dapat dipisahkan secara linear, SVM dapat dikombinasikan dengan kernel Radial Basis Function (RBF) yang mampu memetakan data ke ruang berdimensi lebih tinggi sehingga meningkatkan kemampuan klasifikasi.

Beberapa penelitian sebelumnya telah menunjukkan bahwa metode SVM memiliki performa yang baik dalam klasifikasi penyakit diabetes. Sisodia dan Sisodia (2018) membandingkan beberapa algoritma klasifikasi, yaitu Decision Tree, Naive Bayes, dan Support Vector Machine pada dataset yang sama. Hasil penelitian menunjukkan bahwa setiap algoritma memiliki tingkat performa yang berbeda, sehingga pemilihan metode dan proses optimasi parameter menjadi faktor penting dalam menghasilkan model klasifikasi yang optimal.

Berdasarkan kondisi tersebut, penelitian ini bertujuan untuk membangun model klasifikasi diabetes menggunakan algoritma Support Vector Machine dengan kernel Radial Basis Function (SVM-RBF). Dataset yang digunakan adalah Pima Indians Diabetes Dataset yang tersedia secara publik melalui repositori Jason Brownlee di GitHub. Dataset ini berasal dari National Institute of Diabetes and Digestive and Kidney Diseases (NIDDK) dan merupakan salah satu dataset yang paling banyak digunakan sebagai benchmark dalam penelitian klasifikasi medis. Dataset tersebut berisi 768 data pasien perempuan keturunan Pima Indian dengan delapan atribut kesehatan, yaitu jumlah kehamilan, kadar glukosa, tekanan darah, ketebalan lipatan kulit, kadar insulin, indeks massa tubuh (BMI), fungsi riwayat diabetes keluarga, dan usia, serta satu atribut target yang menunjukkan status diabetes.

Melalui penerapan tahapan prapemrosesan data, standardisasi fitur, tuning hyperparameter, dan evaluasi menggunakan berbagai metrik klasifikasi, penelitian ini diharapkan dapat menghasilkan model SVM-RBF yang mampu mengklasifikasikan status diabetes secara akurat serta memberikan gambaran mengenai efektivitas metode tersebut dalam mendukung deteksi dini penyakit diabetes.

1.2 Tujuan Analisis

Tujuan utama analisis ini adalah:

  1. Membangun model klasifikasi SVM dengan kernel Radial Basis Function (RBF) untuk memprediksi status diabetes seseorang.

  2. Melakukan tuning hiperparameter secara sistematis menggunakan cross-validation untuk mendapatkan performa optimal.

  3. Mengevaluasi model secara komprehensif menggunakan berbagai metrik klasifikasi.

  4. Menginterpretasikan hasil model dalam konteks klinis yang bermakna.

2 Deskripsi Data

2.1 Sumber Data

Data yang digunakan dalam penelitian ini merupakan data sekunder yang diperoleh dari website https://github.com/jbrownlee/Datasets/blame/master/pima-indians-diabetes.names. Dataset yang digunakan adalah Pima Indians Diabetes Dataset

Dataset yang digunakan adalah Pima Indians Diabetes Dataset, yang tersedia secara publik melalui repositori Jason Brownlee di GitHub. Dataset ini awalnya berasal dari National Institute of Diabetes and Digestive and Kidney Diseases (NIDDK) dan sering digunakan sebagai benchmark dalam penelitian klasifikasi medis.

2.2 Unit Observasi

Unit observasi dalam penelitian ini adalah individu perempuan keturunan Pima Indian yang berusia minimal 21 tahun. Setiap baris data pada Pima Indians Diabetes Dataset merepresentasikan satu individu dengan karakteristik kesehatan tertentu yang digunakan untuk menentukan status diabetes. Dataset terdiri atas 768 observasi yang berasal dari National Institute of Diabetes and Digestive and Kidney Diseases (NIDDK).

2.3 Variabel Respons (Target Kelas)

Variabel respons yang digunakan dalam penelitian ini adalah status diabetes individu yang bersifat biner. Variabel ini menunjukkan apakah seorang individu terdiagnosis diabetes atau tidak berdasarkan hasil pemeriksaan medis. Distribusi kelas pada dataset dapat dilihat pada Tabel @ref(tab:distribusi-kelas).

Distribusi Kelas pada Pima Indians Diabetes Dataset
Kelas Label Jumlah Proporsi
1 Diabetes 268 34,9%
0 No_Diabetes 500 65,1%

Berdasarkan Tabel @ref(tab:distribusi-kelas), distribusi kelas pada dataset tidak seimbang (class imbalance), di mana jumlah individu yang tidak menderita diabetes lebih besar dibandingkan individu yang menderita diabetes. Kondisi ini perlu diperhatikan dalam proses pembangunan dan evaluasi model klasifikasi karena dapat memengaruhi performa model dalam mendeteksi kelas minoritas.

2.4 Variabel Penelitian

Variabel yang digunakan dalam penelitian ini terdiri atas satu variabel respons (dependent variable) dan delapan variabel prediktor (independent variable). Variabel respons berupa status diabetes, sedangkan variabel prediktor merupakan faktor-faktor kesehatan yang diduga berpengaruh terhadap kondisi diabetes seseorang. Rincian variabel penelitian dapat dilihat pada Tabel @ref(tab:variabel-penelitian).

Variabel Penelitian
Variabel Keterangan Satuan Sumber
Outcome Variabel Respons (Y) Kategori Pima Indians Diabetes Dataset (NIDDK)
Pregnancies Variabel Prediktor (X1) Kali Pima Indians Diabetes Dataset (NIDDK)
Glucose Variabel Prediktor (X2) mg/dL Pima Indians Diabetes Dataset (NIDDK)
BloodPressure Variabel Prediktor (X3) mm Hg Pima Indians Diabetes Dataset (NIDDK)
SkinThickness Variabel Prediktor (X4) mm Pima Indians Diabetes Dataset (NIDDK)
Insulin Variabel Prediktor (X5) μU/ml Pima Indians Diabetes Dataset (NIDDK)
BMI Variabel Prediktor (X6) kg/m² Pima Indians Diabetes Dataset (NIDDK)
DiabetesPedigreeFunction Variabel Prediktor (X7) - Pima Indians Diabetes Dataset (NIDDK)
Age Variabel Prediktor (X8) Tahun Pima Indians Diabetes Dataset (NIDDK)

Seluruh variabel prediktor dalam penelitian ini berbentuk numerik dan digunakan sebagai masukan (input) dalam model Support Vector Machine (SVM) dengan kernel Radial Basis Function (RBF) untuk mengklasifikasikan status diabetes pada individu.

3 Metode : Teori Support Vector Machine (SVM)

3.1 Konsep Dasar SVM

Support Vector Machine (SVM) adalah algoritma pembelajaran terawasi yang digunakan untuk klasifikasi dan regresi. SVM bekerja dengan menemukan hyperplane optimal yang memisahkan data dari kelas berbeda dengan margin maksimal.

3.1.1 SVM Linear

Pada SVM linear, kita mencari hyperplane yang dapat memisahkan data. Formulasi matematisnya mengoptimalkan:

\[\min_{w, b} \frac{1}{2} ||w||^2 + C \sum_{i=1}^{n} \xi_i\]

dengan batasan \(y_i(w^T x_i + b) \geq 1 - \xi_i\) untuk semua data \(i\), di mana: - \(w\) adalah vektor normal terhadap hyperplane - \(b\) adalah bias - \(C\) adalah parameter regularisasi (trade-off antara margin maksimal dan toleransi kesalahan) - \(\xi_i\) adalah variabel slack (mengukur pelanggaran margin) - \(x_i\) adalah vektor fitur dari data ke-i - \(y_i\) adalah label kelas (-1 atau 1)

3.1.2 SVM Non-linear dengan Kernel RBF

Untuk data yang tidak dapat dipisahkan secara linear, SVM menggunakan kernel trick untuk memetakan data ke dimensi yang lebih tinggi. Kernel RBF (Radial Basis Function) adalah yang paling umum digunakan:

\[K(x_i, x_j) = \exp(-\gamma ||x_i - x_j||^2)\]

di mana \(\gamma\) (gamma) mengontrol “jarak jangkauan” pengaruh setiap titik data. Gamma yang lebih tinggi = pengaruh lebih lokal (model lebih kompleks dan cenderung overfit).

3.1.3 Parameter Penting dalam SVM RBF

  1. Parameter C (Cost): Mengontrol trade-off antara margin maksimal dan toleransi kesalahan
    • C kecil: Margin lebar, lebih banyak support vectors, model lebih general
    • C besar: Margin sempit, lebih sedikit support vectors, model lebih kompleks (overfit)
    • Range praktis: 0.01 hingga 1000
  2. Parameter Sigma (σ) atau Gamma (γ): Mengontrol jangkauan kernel RBF
    • Sigma kecil: Pengaruh lokal, model kompleks
    • Sigma besar: Pengaruh global, model lebih sederhana
    • Hubungan: \(\gamma = 1/(2\sigma^2)\)
    • Range praktis: 0.001 hingga 10

4 Eksplorasi Dataset Pima Indians Diabetes

Dataset Pima Indians Diabetes berisi data medis dari 768 perempuan berusia ≥21 tahun dari komunitas Pima di Arizona. Data ini dikumpulkan oleh National Institute of Diabetes and Digestive and Kidney Diseases (NIDDK).

4.1 Membaca dan Memeriksa Data

Tabel Statistik Deskriptif Dataset Pima Indians Diabetes
Variabel Min Q1 Median Mean Q3 Max SD
Pregnancies 0.00 1.00 3.00 3.85 6.00 17.00 3.37
Glucose 0.00 99.00 117.00 120.89 140.25 199.00 31.97
BloodPressure 0.00 62.00 72.00 69.11 80.00 122.00 19.36
SkinThickness 0.00 0.00 23.00 20.54 32.00 99.00 15.95
Insulin 0.00 0.00 30.50 79.80 127.25 846.00 115.24
BMI 0.00 27.30 32.00 31.99 36.60 67.10 7.88
DiabetesPedigreeFunction 0.08 0.24 0.37 0.47 0.63 2.42 0.33
Age 21.00 24.00 29.00 33.24 41.00 81.00 11.76
Outcome 0.00 0.00 0.00 0.35 1.00 1.00 0.48

Berdasarkan tabel statistik deskriptif, rata-rata kadar glukosa adalah 120,89 mg/dL, rata-rata BMI 31,99 kg/m², dan rata-rata usia 33,24 tahun. Nilai minimum 0 pada variabel Glucose, BloodPressure, SkinThickness, Insulin, dan BMI mengindikasikan adanya data yang tidak logis secara medis sehingga perlu diperlakukan sebagai missing value.

Secara umum, responden memiliki kadar glukosa dan BMI yang relatif tinggi. Ditemukan beberapa nilai nol pada variabel klinis yang secara medis tidak mungkin terjadi, sehingga dilakukan proses imputasi untuk meningkatkan kualitas data sebelum pemodelan.

4.2 Pembersihan Data

Distribusi Variabel Target (Outcome)
Outcome n Percentage
Diabetes 268 34.89583
No_Diabetes 500 65.10417

4.3 Visualisasi Data Eksplorasi (EDA)

4.3.1 Visualisasi Distribusi Target, Glukosa, BMI, Usia

  • Distribusi kelas menunjukkan ketidakseimbangan (class imbalance), di mana jumlah pasien non-diabetes (65,1%) lebih besar dibandingkan pasien diabetes (34,9%). Kondisi ini dapat menyebabkan model cenderung memprediksi kelas mayoritas sehingga perlu diperhatikan pada tahap evaluasi model.

  • Individu yang menderita diabetes memiliki kadar glukosa yang secara konsisten lebih tinggi dibandingkan individu non-diabetes. Perbedaan median yang cukup besar menunjukkan bahwa kadar glukosa merupakan salah satu prediktor utama dalam klasifikasi diabetes.

  • Kelompok diabetes cenderung memiliki indeks massa tubuh (BMI) yang lebih tinggi. Hasil ini mengindikasikan bahwa obesitas atau kelebihan berat badan berpotensi meningkatkan risiko diabetes mellitus.

  • Risiko diabetes cenderung meningkat pada kelompok usia yang lebih tua. Temuan ini sejalan dengan literatur yang menyatakan bahwa prevalensi diabetes meningkat seiring bertambahnya usia.

4.3.2 Visualisasi Scatter plot Glukosa vs BMI berdasarkan Outcome

Terdapat kecenderungan bahwa individu dengan kadar glukosa dan BMI yang lebih tinggi memiliki probabilitas lebih besar untuk mengalami diabetes. Meskipun demikian, masih terdapat tumpang tindih antara kedua kelompok sehingga diperlukan model non-linear seperti SVM-RBF untuk memisahkan pola tersebut secara lebih baik.

4.4 Analisis Korelasi Fitur

Tidak ditemukan korelasi yang sangat tinggi (>|0,8|) antar variabel prediktor. Hal ini menunjukkan bahwa masalah multikolinearitas relatif rendah sehingga seluruh variabel masih layak digunakan dalam pemodelan.


5 Persiapan Data untuk Pemodelan

Sebelum proses pemodelan dilakukan, dataset yang telah melalui tahap pembersihan data diperiksa kembali untuk memastikan tidak terdapat nilai hilang (missing values) yang tersisa. Observasi yang masih mengandung nilai hilang dihapus sehingga diperoleh dataset lengkap yang siap digunakan dalam proses pembelajaran mesin.

Selanjutnya, data dibagi menjadi dua bagian, yaitu data latih (training set) sebesar 80% dan data uji (test set) sebesar 20%. Pembagian data dilakukan menggunakan metode stratified sampling berdasarkan variabel target (Outcome) untuk mempertahankan proporsi kelas diabetes dan non-diabetes pada kedua subset data. Pendekatan ini bertujuan untuk menghasilkan proses pelatihan dan evaluasi model yang lebih representatif serta mengurangi potensi bias akibat ketidakseimbangan kelas.

5.1 Cross-Validation Setup

Untuk memperoleh estimasi performa model yang lebih stabil dan mengurangi risiko overfitting, digunakan metode 5-fold cross-validation pada data latih. Dalam metode ini, data latih dibagi menjadi lima subset (fold), di mana pada setiap iterasi empat subset digunakan untuk melatih model dan satu subset digunakan untuk validasi. Proses ini dilakukan secara bergantian hingga seluruh subset memperoleh kesempatan menjadi data validasi.

Selain itu, teknik stratified cross-validation diterapkan berdasarkan variabel Outcome sehingga proporsi kelas diabetes dan non-diabetes tetap terjaga pada setiap fold. Dengan demikian, proses evaluasi model menjadi lebih konsisten dan mampu merepresentasikan karakteristik data secara lebih baik.

5.2 Identifikasi Data Hilang

Dalam dataset ini, nilai 0 pada variabel tertentu secara medis tidak mungkin terjadi (misalnya, glukosa plasma = 0 berarti pasien tidak mungkin hidup). Oleh karena itu, nilai 0 pada variabel berikut diperlakukan sebagai data hilang tersembunyi (implicit missing values) dan dikonversi menjadi NA:

step_mutate(
  Glucose       = na_if(Glucose, 0),
  BloodPressure = na_if(BloodPressure, 0),
  SkinThickness = na_if(SkinThickness, 0),
  Insulin       = na_if(Insulin, 0),
  BMI           = na_if(BMI, 0)
)

Variabel yang terdeteksi memiliki nilai nol tidak logis secara medis:

Variabel dengan Nilai 0 Tidak Logis {#tbl-missing}
Variabel Nilai Min Keterangan
Glucose 0 Tidak mungkin secara klinis
BloodPressure 0 Tidak mungkin secara klinis
SkinThickness 0 Sangat tidak realistis
Insulin 0 Memungkinkan tapi dicurigai missing
BMI 0 Tidak mungkin secara fisik

Data hilang kemudian diimputasi menggunakan median dari data training:

step_impute_median(all_numeric_predictors())

5.3 Pembagian Data Train-Test

Dataset dibagi dengan rasio 80:20 menggunakan stratified sampling berdasarkan variabel respons, untuk memastikan proporsi kelas terjaga di kedua subset:

split_obj <- initial_split(pima, prop = 0.80, strata = Outcome)
train_dat <- training(split_obj)   # 313 observasi
test_dat  <- testing(split_obj)    # 79 observasi
Pembagian Data Training dan Testing {#tbl-split}
Subset Jumlah Observasi Proporsi Diabetes
Training 313 ~34,9%
Testing 79 ~34,9%

5.4 Standardisasi / Normalisasi

Semua variabel prediktor dinormalisasi dengan standardisasi z-score (mean = 0, standar deviasi = 1). Ini sangat penting untuk SVM karena algoritma sensitif terhadap skala fitur:

\[z = \frac{x - \bar{x}}{s}\]

step_normalize(all_numeric_predictors())

6 Pemodelan Support Vector Machine dengan Kernel Radial Basis Function (SVM-RBF)

Penelitian ini menggunakan metode Support Vector Machine (SVM) dengan kernel Radial Basis Function (RBF) untuk mengklasifikasikan status diabetes. Kernel RBF dipilih karena mampu menangani hubungan nonlinier antar variabel prediktor dan menghasilkan batas keputusan (decision boundary) yang lebih fleksibel dibandingkan model linear. Selain itu, SVM-RBF dikenal memiliki kemampuan generalisasi yang baik pada dataset dengan dimensi menengah dan kompleksitas pola yang cukup tinggi.

6.1 Spesifikasi Model

Pada tahap ini ditentukan spesifikasi model SVM-RBF yang akan digunakan. Dua hiperparameter utama yang akan dioptimalkan adalah cost (\(C\)) dan rbf_sigma (\(\sigma\)). Parameter \(C\) mengontrol tingkat penalti terhadap kesalahan klasifikasi, sedangkan parameter \(\sigma\) mengatur tingkat kelengkungan fungsi kernel RBF dalam memetakan data ke ruang berdimensi lebih tinggi. Proses tuning dilakukan untuk memperoleh kombinasi parameter yang menghasilkan performa klasifikasi terbaik.

6.2 Workflow Definition

Untuk mempermudah proses pemodelan, seluruh tahapan praproses data dan spesifikasi model digabungkan ke dalam sebuah workflow. Pendekatan ini memastikan bahwa setiap proses transformasi data yang diterapkan pada data latih juga diterapkan secara konsisten pada data validasi maupun data uji.

6.3 Grid Tuning

Optimasi hiperparameter dilakukan menggunakan metode grid search, yaitu dengan mencoba berbagai kombinasi nilai parameter yang telah ditentukan sebelumnya. Pada penelitian ini digunakan rentang nilai cost dari 0,01 hingga 100 serta nilai rbf sigma dari 0,001 hingga 1. Dengan lima tingkat (levels) pada masing-masing parameter, diperoleh sebanyak 25 kombinasi hiperparameter yang akan dievaluasi.

6.4 Metrics untuk Evaluasi

Performa model dievaluasi menggunakan beberapa metrik klasifikasi. Nilai ROC-AUC digunakan untuk mengukur kemampuan model dalam membedakan kelas diabetes dan non-diabetes secara keseluruhan. Accuracy digunakan untuk mengukur proporsi klasifikasi yang benar, Sensitivity digunakan untuk mengukur kemampuan model dalam mendeteksi pasien diabetes, sedangkan Specificity digunakan untuk mengukur kemampuan model dalam mengenali individu yang tidak menderita diabetes.

6.5 Tuning dengan Cross-Validation

Proses pencarian parameter terbaik dilakukan menggunakan metode 5-fold cross-validation. Setiap kombinasi hiperparameter dievaluasi pada lima subset data latih yang berbeda sehingga menghasilkan estimasi performa yang lebih stabil dan mengurangi risiko overfitting. Dengan 25 kombinasi parameter dan 5 fold validasi, total sebanyak 125 model dievaluasi selama proses tuning.


7 Analisis Hasil Tuning

7.1 Performa Model berdasarkan Metrik

Top 10 Models - ROC AUC
cost rbf_sigma .metric .estimator mean n std_err .config
2.00 0.0316 roc_auc binary 0.8613 5 0.0202 pre0_mod18_post0
2.00 0.0056 roc_auc binary 0.8607 5 0.0200 pre0_mod17_post0
1.00 0.0056 roc_auc binary 0.8606 5 0.0181 pre0_mod12_post0
0.25 0.0316 roc_auc binary 0.8597 5 0.0177 pre0_mod03_post0
1.00 0.0316 roc_auc binary 0.8595 5 0.0208 pre0_mod13_post0
4.00 0.0056 roc_auc binary 0.8588 5 0.0199 pre0_mod22_post0
0.50 0.0316 roc_auc binary 0.8587 5 0.0196 pre0_mod08_post0
4.00 0.0010 roc_auc binary 0.8575 5 0.0178 pre0_mod21_post0
0.25 0.1778 roc_auc binary 0.8532 5 0.0161 pre0_mod04_post0
0.25 0.0056 roc_auc binary 0.8530 5 0.0165 pre0_mod02_post0
Top 10 Models - Accuracy
cost rbf_sigma .metric .estimator mean n std_err .config
0.25 0.0316 accuracy binary 0.7861 5 0.0124 pre0_mod03_post0
2.00 0.0316 accuracy binary 0.7858 5 0.0174 pre0_mod18_post0
0.50 0.1778 accuracy binary 0.7828 5 0.0137 pre0_mod09_post0
2.00 0.0056 accuracy binary 0.7794 5 0.0124 pre0_mod17_post0
1.00 0.0056 accuracy binary 0.7765 5 0.0169 pre0_mod12_post0
1.00 0.0316 accuracy binary 0.7763 5 0.0151 pre0_mod13_post0
4.00 0.0056 accuracy binary 0.7762 5 0.0119 pre0_mod22_post0
4.00 0.0316 accuracy binary 0.7730 5 0.0069 pre0_mod23_post0
1.00 0.1778 accuracy binary 0.7701 5 0.0101 pre0_mod14_post0
0.50 0.0316 accuracy binary 0.7699 5 0.0151 pre0_mod08_post0
Top 10 Models - Sensitivity
cost rbf_sigma .metric .estimator mean n std_err .config
2.00 0.0316 sens binary 0.5962 5 0.0488 pre0_mod18_post0
1.00 0.1778 sens binary 0.5681 5 0.0484 pre0_mod14_post0
1.00 0.0316 sens binary 0.5676 5 0.0417 pre0_mod13_post0
4.00 0.0316 sens binary 0.5676 5 0.0492 pre0_mod23_post0
0.50 0.0316 sens binary 0.5671 5 0.0478 pre0_mod08_post0
2.00 0.0056 sens binary 0.5671 5 0.0339 pre0_mod17_post0
4.00 0.0056 sens binary 0.5671 5 0.0339 pre0_mod22_post0
2.00 0.1778 sens binary 0.5576 5 0.0381 pre0_mod19_post0
0.50 0.1778 sens binary 0.5486 5 0.0502 pre0_mod09_post0
0.25 0.0316 sens binary 0.5386 5 0.0509 pre0_mod03_post0

Kombinasi parameter Cost = 2 dan Sigma = 0,0316 menghasilkan kemampuan diskriminasi terbaik selama proses cross-validation. Nilai ROC-AUC sebesar 0,8613 menunjukkan bahwa model mampu membedakan pasien diabetes dan non-diabetes dengan tingkat akurasi diskriminatif yang sangat baik.

7.2 Visualisasi Performa Tuning

Peningkatan nilai Cost tidak selalu meningkatkan performa model. Kombinasi parameter tertentu menghasilkan keseimbangan terbaik antara sensitivity dan specificity. Hal ini menunjukkan pentingnya proses tuning hiperparameter dalam memperoleh model SVM yang optimal.

7.3 Parameter Terbaik

# Pilih parameter terbaik berdasarkan ROC AUC
best_par <- select_best(svm_tuned, metric = "roc_auc")

8 Finalisasi Model dan Evaluasi pada Test Set

8.1 Membuat Model Final

Model akhir dibangun menggunakan kombinasi parameter terbaik yang diperoleh dari proses hyperparameter tuning. Selanjutnya, model dilatih pada data latih (training set) dan dievaluasi menggunakan data uji (test set).

8.2 Metrik Performa pada Test Set

Model mampu mengklasifikasikan 75,9% observasi dengan benar. Nilai ROC-AUC sebesar 0,829 menunjukkan kemampuan diskriminasi yang baik. Namun, sensitivity sebesar 50% mengindikasikan bahwa model hanya mampu mendeteksi setengah dari seluruh pasien diabetes yang sebenarnya positif. Sebaliknya, specificity sebesar 88,7% menunjukkan bahwa model sangat baik dalam mengenali individu yang tidak menderita diabetes.

8.3 Prediksi pada Test Set

id Outcome .pred_class .pred_Diabetes .pred_No_Diabetes
train/test split Diabetes Diabetes 0.8771 0.1229
train/test split Diabetes No_Diabetes 0.3126 0.6874
train/test split No_Diabetes Diabetes 0.6028 0.3972
train/test split No_Diabetes No_Diabetes 0.0973 0.9027
train/test split No_Diabetes Diabetes 0.7641 0.2359

9 Evaluasi Detail Model

9.1 Confusion Matrix

Hasil prediksi pada data uji:

##              Truth
## Prediction    Diabetes No_Diabetes
##   Diabetes          13           6
##   No_Diabetes       13          47
Confusion Matrix pada Data Uji
Actual Pred..Diabetes Pred..No.Diabetes Total
Diabetes 13 (TP) 13 (FN) 26
No Diabetes 6 (FP) 47 (TN) 53
Total 19 60 79

Dari 26 pasien diabetes, model berhasil mengidentifikasi 13 pasien secara benar dan gagal mendeteksi 13 pasien lainnya. Sementara itu, dari 53 pasien non-diabetes, model berhasil mengklasifikasikan 47 pasien dengan benar. Hasil ini menunjukkan bahwa model lebih efektif dalam mengenali individu sehat dibandingkan mendeteksi seluruh kasus diabetes.

9.2 ROC Curve dan AUC

Kurva ROC yang berada jauh di atas garis acak menunjukkan bahwa model memiliki kemampuan klasifikasi yang baik. Nilai AUC sebesar 0,88 menunjukkan bahwa model memiliki probabilitas sekitar 88% untuk memberikan skor risiko yang lebih tinggi kepada pasien diabetes dibandingkan pasien non-diabetes yang dipilih secara acak.

9.3 Metrik Klasifikasi Lainnya


10 Analisis Support Vectors


Model Support Vector Machine dengan kernel Radial Basis Function (SVM-RBF) berhasil dibangun untuk mengklasifikasikan status diabetes pada Pima Indians Diabetes Dataset. Hasil tuning menunjukkan bahwa kombinasi Cost = 2 dan Sigma = 0,0316 memberikan performa terbaik dengan ROC-AUC cross-validation sebesar 0,8613. Pada data pengujian, model menghasilkan akurasi 75,9%, sensitivitas 50,0%, spesifisitas 88,7%, dan ROC-AUC 82,9%. Temuan ini menunjukkan bahwa model memiliki kemampuan yang baik dalam membedakan pasien diabetes dan non-diabetes, namun masih kurang optimal dalam mendeteksi seluruh kasus diabetes sehingga pengembangan lebih lanjut, seperti penyeimbangan kelas menggunakan SMOTE atau optimasi threshold klasifikasi, perlu dipertimbangkan untuk meningkatkan sensitivitas model.

10.1 Potensi Kesalahan (Error Analysis)

Jenis Kesalahan Jumlah Dampak Klinis
False Negative (FN) 23 Tinggi — Pasien diabetes tidak terdeteksi, risiko komplikasi
False Positive (FP) 11 Sedang — Pasien non-diabetes menjalani tes tambahan yang tidak perlu

23 kasus False Negative adalah perhatian utama dari perspektif klinis. Dalam konteks skrining kesehatan, kesalahan tipe ini (melewatkan kasus positif) berpotensi lebih berbahaya daripada False Positive.

10.2 Kekuatan Model

  1. ROC-AUC tinggi (0.881): Menunjukkan kemampuan diskriminasi yang sangat kuat.
  2. Specificity tinggi (0.890): Efektif meminimalkan false alarm pada populasi sehat.
  3. Pipeline reprodusibel: Menggunakan framework tidymodels yang terstandarisasi.
  4. Imputasi cerdas: Menangani nilai nol tidak logis secara sistematis sebelum pelatihan.
  5. Stratified CV: Tuning dilakukan dengan mempertimbangkan ketidakseimbangan kelas.

10.3 Keterbatasan Model

  1. Sensitivity rendah (0.574): Model melewatkan hampir setengah kasus diabetes positif — tidak ideal untuk skrining klinis massal.
  2. Ketidakseimbangan kelas: Meskipun sudah ditangani dengan stratified sampling, imbalance masih mempengaruhi kecenderungan model untuk lebih “aman” memprediksi non-diabetes.
  3. Ukuran dataset terbatas: Hanya 768 observasi — lebih banyak data berpotensi meningkatkan generalisasi.
  4. Keterbatasan fitur: Dataset hanya mencakup wanita keturunan Pima Indian ≥ 21 tahun — generalisasi ke populasi lain harus dilakukan dengan hati-hati.
  5. Interpretabilitas terbatas: SVM adalah model “kotak hitam” (black box) yang sulit diinterpretasi secara klinis dibandingkan model seperti regresi logistik atau pohon keputusan.
  6. Peringatan konvergensi: Beberapa konfigurasi hiperparameter menghasilkan pesan “maximum number of iterations reached”, mengindikasikan potensi isu konvergensi pada nilai parameter ekstrem.

11 Kesimpulan

Model Support Vector Machine (SVM) dengan kernel Radial Basis Function (RBF) berhasil dibangun untuk mengklasifikasikan status diabetes pada Pima Indians Diabetes Dataset. Berdasarkan hasil analisis yang telah dilakukan, diperoleh beberapa kesimpulan sebagai berikut.

  1. Model SVM-RBF berhasil dibangun melalui proses training, cross-validation, dan hyperparameter tuning. Parameter optimal diperoleh melalui proses grid search dan menghasilkan performa terbaik berdasarkan nilai ROC-AUC.

  2. Proses hyperparameter tuning menggunakan 5-fold cross-validation berhasil meningkatkan performa model. Nilai ROC-AUC pada proses validasi silang mencapai sekitar \(0.861\), yang menunjukkan kemampuan diskriminasi model yang sangat baik dalam membedakan pasien diabetes dan non-diabetes.

  3. Evaluasi pada data pengujian (test set) menunjukkan bahwa model memiliki performa yang baik dengan nilai akurasi sebesar \(75.9\%\), sensitivitas sebesar \(50.0\%\), spesifisitas sebesar \(88.7\%\), dan ROC-AUC sebesar \(0.829\). Hasil tersebut menunjukkan bahwa model mampu mengklasifikasikan sebagian besar observasi dengan benar serta memiliki kemampuan diskriminasi yang baik.

  4. Dari perspektif klinis, model lebih andal dalam mengidentifikasi individu yang tidak menderita diabetes dibandingkan mendeteksi seluruh kasus diabetes yang sebenarnya. Hal ini ditunjukkan oleh nilai spesifisitas yang tinggi (\(88.7\%\)) dan sensitivitas yang relatif rendah (\(50.0\%\)). Oleh karena itu, model masih berpotensi menghasilkan false negative sehingga perlu pengembangan lebih lanjut sebelum digunakan sebagai alat skrining klinis.


12 Rekomendasi Analitik

No Rekomendasi
1 Menerapkan teknik penyeimbangan kelas seperti Synthetic Minority Oversampling Technique (SMOTE) atau undersampling untuk meningkatkan sensitivitas model.
2 Membandingkan performa SVM-RBF dengan metode lain seperti Random Forest, XGBoost, dan Logistic Regression.
3 Melakukan optimasi classification threshold berdasarkan kurva ROC untuk memperoleh keseimbangan yang lebih baik antara sensitivitas dan spesifisitas.
4 Menggunakan dataset yang lebih besar dan lebih beragam agar kemampuan generalisasi model meningkat.
5 Menerapkan metode interpretabilitas model seperti SHAP (SHapley Additive exPlanations) atau LIME (Local Interpretable Model-Agnostic Explanations) untuk meningkatkan pemahaman terhadap keputusan model.
6 Melakukan validasi eksternal menggunakan dataset independen sebelum model diterapkan dalam lingkungan klinis nyata.

Referensi

Dataset:

  • Smith, J.W., Everhart, J.E., Dickson, W.C., Knowler, W.C., & Johannes, R.S. (1988). Using the ADAP learning algorithm to forecast the onset of diabetes mellitus. Proceedings of the Annual Symposium on Computer Application in Medical Care, 261–265.

  • Brownlee, J. (2016). Pima Indians Diabetes Dataset. Machine Learning Mastery GitHub Repository. https://github.com/jbrownlee/Datasets

Metode dan Perangkat Lunak: