Parkinson merupakan penyakit neurodegeneratif progresif yang memengaruhi kemampuan motorik dan fungsi bicara. Gangguan pada pita suara, seperti tremor vokal dan ketidakstabilan frekuensi, menjadi salah satu indikator penting yang dapat diamati melalui analisis akustik. Perkembangan teknologi memungkinkan pengukuran karakteristik suara secara kuantitatif sehingga dapat membantu deteksi dini kondisi Parkinson.
Dataset yang digunakan dalam studi ini adalah Parkinson’s Disease Detection Dataset yang dibuat oleh Max Little dari Universitas Oxford yang berkolaborasi dengan National Centre for Voice and Speech, Denverm Colorado. Dataset ini berisi 195 rekaman suara dari 31 individu, yang terdiri dari 23 pasien Parkinson dan 8 individu sehat. Data dikembangkan oleh Max Little dan kolaborator sebagai bagian dari penelitian yang mengevaluasi kelayakan pengukuran suara untuk pemantauan Parkinson. Dataset mencakup 23 variabel.
informasi variabel: 1. name -Nama subjek dalam format ASCII dan nomor rekaman 2. MDVP:Fo(Hz) – Rata-rata frekuensi dasar vokal 3. MDVP:Fhi(Hz) – Frekuensi dasar vokal maksimum 4. MDVP:Flo(Hz) – Frekuensi dasar vokal minimum 5. MDVP:Jitter(%), MDVP:Jitter(Abs), MDVP:RAP, MDVP:PPQ, Jitter:DDP – Berbagai ukuran variasi pada frekuensi dasar 6. MDVP:Shimmer, MDVP:Shimmer(dB), Shimmer:APQ3, Shimmer:APQ5, MDVP:APQ, Shimmer:DDA – Beberapa ukuran variasi amplitudo suara 7. NHR, HNR – Dua ukuran rasio komponen noise terhadap komponen tonal dalam suara 8. status – Status kesehatan subjek (1) = Parkinson (0) = Sehat 9. RPDE, D2 – Dua ukuran kompleksitas dinamika nonlinear 10. DFA – Eksponen penskalaan fraktal sinyal 11. spread1, spread2, PPE – Tiga ukuran nonlinear dari variasi frekuensi dasar
URL: https://www.kaggle.com/datasets/thecansin/parkinsons-data-set
library(readxl)
data<-read_xlsx("D:/ARIF/data parkinson.xlsx")
head(data)
## # A tibble: 6 × 24
## name `MDVP:Fo(Hz)` `MDVP:Fhi(Hz)` `MDVP:Flo(Hz)` `MDVP:Jitter(%)`
## <chr> <dbl> <dbl> <dbl> <chr>
## 1 phon_R01_S01_1 11999200 15730200 7499700 0.00784
## 2 phon_R01_S01_2 12240000 14865000 11381900 0.00968
## 3 phon_R01_S01_3 11668200 13111100 11155500 0.01050
## 4 phon_R01_S01_4 11667600 13787100 11136600 0.00997
## 5 phon_R01_S01_5 11601400 14178100 11065500 0.01284
## 6 phon_R01_S01_6 12055200 13116200 11378700 0.00968
## # ℹ 19 more variables: `MDVP:Jitter(Abs)` <chr>, `MDVP:RAP` <chr>,
## # `MDVP:PPQ` <chr>, `Jitter:DDP` <chr>, `MDVP:Shimmer` <chr>,
## # `MDVP:Shimmer(dB)` <chr>, `Shimmer:APQ3` <chr>, `Shimmer:APQ5` <chr>,
## # `MDVP:APQ` <chr>, `Shimmer:DDA` <chr>, NHR <chr>, HNR <dbl>, status <dbl>,
## # RPDE <chr>, DFA <chr>, spread1 <dbl>, spread2 <chr>, D2 <dbl>, PPE <chr>
Data suara pada dataset Parkinson memiliki jumlah variabel yang cukup banyak serta saling berkorelasi. Ketika banyak variabel saling berkaitan, analisis langsung dapat menghasilkan interpretasi yang sulit dan berpotensi redundan. Oleh karena itu, diperlukan metode reduksi dimensi yang tetap mampu mempertahankan informasi penting dalam data.
Principal Component Analysis (PCA) adalah teknik statistik multivariat yang digunakan untuk menyederhanakan struktur data berdimensi tinggi ke dalam beberapa komponen utama. Metode ini mentransformasikan kumpulan variabel asli ke dalam variabel baru yang saling bebas (orthogonal) dan disusun berdasarkan besar variansinya. Komponen pertama (PC1) memuat informasi terbesar terhadap keragaman data, disusul komponen berikutnya.
Dengan PCA, pola dominan dalam data suara pasien Parkinson dapat ditangkap lebih jelas, khususnya variasi yang berasal dari jitter, shimmer, dan faktor nonlinier lain yang berhubungan dengan gangguan vokal.
Klasifikasi dengan Regresi Logistik digunakan pada komponen utama hasil PCA yang didapat. Penggunakan PCA akan mengurangi kompleksitas data serta meringankan dan mempercepat proses komputasi.
library(readxl)
readxl: digunakan untuk membaca data excel
data<-read_xlsx("D:/ARIF/data parkinson.xlsx")
head(data)
## # A tibble: 6 × 24
## name `MDVP:Fo(Hz)` `MDVP:Fhi(Hz)` `MDVP:Flo(Hz)` `MDVP:Jitter(%)`
## <chr> <dbl> <dbl> <dbl> <chr>
## 1 phon_R01_S01_1 11999200 15730200 7499700 0.00784
## 2 phon_R01_S01_2 12240000 14865000 11381900 0.00968
## 3 phon_R01_S01_3 11668200 13111100 11155500 0.01050
## 4 phon_R01_S01_4 11667600 13787100 11136600 0.00997
## 5 phon_R01_S01_5 11601400 14178100 11065500 0.01284
## 6 phon_R01_S01_6 12055200 13116200 11378700 0.00968
## # ℹ 19 more variables: `MDVP:Jitter(Abs)` <chr>, `MDVP:RAP` <chr>,
## # `MDVP:PPQ` <chr>, `Jitter:DDP` <chr>, `MDVP:Shimmer` <chr>,
## # `MDVP:Shimmer(dB)` <chr>, `Shimmer:APQ3` <chr>, `Shimmer:APQ5` <chr>,
## # `MDVP:APQ` <chr>, `Shimmer:DDA` <chr>, NHR <chr>, HNR <dbl>, status <dbl>,
## # RPDE <chr>, DFA <chr>, spread1 <dbl>, spread2 <chr>, D2 <dbl>, PPE <chr>
data_pca <- data[, !(names(data) %in% c("name", "status"))]
head(data_pca)
## # A tibble: 6 × 22
## `MDVP:Fo(Hz)` `MDVP:Fhi(Hz)` `MDVP:Flo(Hz)` `MDVP:Jitter(%)`
## <dbl> <dbl> <dbl> <chr>
## 1 11999200 15730200 7499700 0.00784
## 2 12240000 14865000 11381900 0.00968
## 3 11668200 13111100 11155500 0.01050
## 4 11667600 13787100 11136600 0.00997
## 5 11601400 14178100 11065500 0.01284
## 6 12055200 13116200 11378700 0.00968
## # ℹ 18 more variables: `MDVP:Jitter(Abs)` <chr>, `MDVP:RAP` <chr>,
## # `MDVP:PPQ` <chr>, `Jitter:DDP` <chr>, `MDVP:Shimmer` <chr>,
## # `MDVP:Shimmer(dB)` <chr>, `Shimmer:APQ3` <chr>, `Shimmer:APQ5` <chr>,
## # `MDVP:APQ` <chr>, `Shimmer:DDA` <chr>, NHR <chr>, HNR <dbl>, RPDE <chr>,
## # DFA <chr>, spread1 <dbl>, spread2 <chr>, D2 <dbl>, PPE <chr>
kolom tidak dipakai: 1) name: string 2) status: kategori
4.Memastikan semua variabel numerik
data_pca <- data.frame(lapply(data_pca, as.numeric))
data_scaled <- scale(data_pca)
pca_result <- prcomp(data_scaled, center = TRUE, scale. = TRUE)
summary(pca_result)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 3.5053 1.5891 1.25659 1.18431 1.01459 0.88288 0.81231
## Proportion of Variance 0.5585 0.1148 0.07177 0.06375 0.04679 0.03543 0.02999
## Cumulative Proportion 0.5585 0.6733 0.74505 0.80881 0.85560 0.89103 0.92102
## PC8 PC9 PC10 PC11 PC12 PC13 PC14
## Standard deviation 0.72730 0.60045 0.52954 0.46702 0.32773 0.29416 0.26258
## Proportion of Variance 0.02404 0.01639 0.01275 0.00991 0.00488 0.00393 0.00313
## Cumulative Proportion 0.94507 0.96145 0.97420 0.98411 0.98900 0.99293 0.99606
## PC15 PC16 PC17 PC18 PC19 PC20
## Standard deviation 0.19375 0.14307 0.12615 0.08924 0.05847 0.03612
## Proportion of Variance 0.00171 0.00093 0.00072 0.00036 0.00016 0.00006
## Cumulative Proportion 0.99777 0.99870 0.99942 0.99979 0.99994 1.00000
## PC21 PC22
## Standard deviation 0.0005992 0.0001819
## Proportion of Variance 0.0000000 0.0000000
## Cumulative Proportion 1.0000000 1.0000000
pca_result$rotation
## PC1 PC2 PC3 PC4 PC5
## MDVP.Fo.Hz. 0.055193894 0.54550190 -0.148439876 0.15655071 -0.073683981
## MDVP.Fhi.Hz. -0.006741024 0.33688014 -0.286421382 -0.24748712 -0.156467141
## MDVP.Flo.Hz. 0.065162920 0.40324488 0.226449639 0.25775376 -0.199712937
## MDVP.Jitter... -0.263503344 0.09093980 0.143138670 -0.23604382 -0.048601349
## MDVP.Jitter.Abs. -0.249701235 -0.07191208 0.169879960 -0.30671213 0.040546953
## MDVP.RAP -0.258535975 0.12356304 0.154697710 -0.24401603 0.003712619
## MDVP.PPQ -0.265610161 0.08155519 0.182030127 -0.13393317 -0.120349756
## Jitter.DDP -0.258532761 0.12357964 0.154743563 -0.24404607 0.003675938
## MDVP.Shimmer -0.264097172 0.04305064 -0.005404655 0.24760979 0.183467958
## MDVP.Shimmer.dB. -0.134498736 0.17495853 0.209952768 0.07487037 -0.402070546
## Shimmer.APQ3 -0.256804412 0.04567060 0.004169220 0.23926896 0.266858745
## Shimmer.APQ5 -0.256398518 0.04321312 0.011952631 0.31617683 0.117635050
## MDVP.APQ -0.259290421 0.04948832 -0.014561716 0.25423749 0.010966855
## Shimmer.DDA -0.256805983 0.04567220 0.004183458 0.23925816 0.266858019
## NHR -0.241776023 0.17201342 0.023176145 -0.26728456 0.097944405
## HNR 0.247115088 -0.02390552 0.181324619 -0.09577135 -0.178264707
## RPDE -0.151075947 -0.25486151 -0.335489821 -0.07189083 0.185117900
## DFA -0.041630179 -0.29421464 0.484538835 0.30182763 -0.240872879
## spread1 -0.231241134 -0.23497274 -0.125439930 -0.06691348 -0.238846095
## spread2 -0.155767098 -0.20111597 -0.299194144 0.13292835 -0.486507274
## D2 -0.158619074 0.11886714 -0.423622262 0.12533935 -0.256255222
## PPE -0.238678268 -0.20804470 -0.065839217 -0.01490291 -0.258681928
## PC6 PC7 PC8 PC9
## MDVP.Fo.Hz. 0.032949138 -0.135997099 0.024771832 -0.218683208
## MDVP.Fhi.Hz. -0.523485149 0.549165155 0.299612851 -0.036216648
## MDVP.Flo.Hz. 0.181030838 -0.349509834 0.577634102 0.030790524
## MDVP.Jitter... -0.019692365 -0.070642870 -0.005431340 0.031004213
## MDVP.Jitter.Abs. -0.055559290 -0.128774774 0.078857049 0.100432015
## MDVP.RAP -0.002009666 -0.112892220 -0.011915660 0.037311442
## MDVP.PPQ -0.030132128 0.008233202 0.033756818 -0.094553111
## Jitter.DDP -0.001906260 -0.112841061 -0.011988148 0.037305938
## MDVP.Shimmer -0.067237423 0.092015016 -0.004271147 0.063187571
## MDVP.Shimmer.dB. 0.532282021 0.517591690 -0.300914887 -0.031734852
## Shimmer.APQ3 -0.097849797 0.073812178 0.009092578 0.099747344
## Shimmer.APQ5 -0.077567899 0.107141660 -0.001738424 -0.029043193
## MDVP.APQ 0.060642685 0.156432384 -0.044669249 -0.006308414
## Shimmer.DDA -0.097857356 0.073818449 0.009103269 0.099706906
## NHR 0.066107375 -0.089342000 -0.071505535 0.300584697
## HNR -0.052049519 0.096241719 -0.027218899 0.237794720
## RPDE 0.449337963 0.125512128 0.450922960 -0.014580327
## DFA -0.375906925 0.026066208 0.087365296 -0.015016463
## spread1 -0.006382722 -0.083813884 0.088809791 -0.412264976
## spread2 -0.007237022 -0.048777280 0.173968145 0.624564666
## D2 -0.135931425 -0.374579230 -0.454588958 0.001793464
## PPE -0.046527870 -0.063559866 0.118029358 -0.440442553
## PC10 PC11 PC12 PC13
## MDVP.Fo.Hz. 0.018637948 -0.667689772 0.227151320 -0.079122837
## MDVP.Fhi.Hz. -0.124917342 0.180837059 -0.015008152 -0.027934882
## MDVP.Flo.Hz. 0.008916963 0.417291737 -0.085721054 -0.039128701
## MDVP.Jitter... -0.025450619 -0.100348071 0.065408965 0.079605448
## MDVP.Jitter.Abs. 0.067842012 0.072280047 0.052774993 -0.185469851
## MDVP.RAP -0.057987435 -0.080732476 0.130710954 0.002765981
## MDVP.PPQ 0.005581776 -0.115668522 -0.023518194 0.183826033
## Jitter.DDP -0.057749768 -0.080569478 0.130404312 0.002574747
## MDVP.Shimmer 0.127794700 0.053258809 0.078047992 0.002900912
## MDVP.Shimmer.dB. -0.096847898 0.086610945 -0.078075578 -0.254046379
## Shimmer.APQ3 0.112083897 0.007886074 0.020145115 -0.362934140
## Shimmer.APQ5 0.143639676 0.031331409 0.005881038 0.128613437
## MDVP.APQ 0.085240614 0.113120343 0.168578117 0.710406489
## Shimmer.DDA 0.112065314 0.007967885 0.020084129 -0.362923445
## NHR -0.081356002 0.080395043 -0.168503661 0.078640026
## HNR 0.466904705 0.123671099 0.714128755 -0.054309564
## RPDE -0.377647443 -0.031917005 0.421030414 -0.037642793
## DFA -0.518816979 -0.151495987 0.167791625 -0.052459594
## spread1 0.281429161 0.077509566 -0.011306548 -0.210378022
## spread2 0.149118547 -0.308305794 -0.191518516 0.009152371
## D2 -0.310263103 0.366719504 0.271143836 -0.093596397
## PPE 0.243207018 -0.012684068 -0.059597368 0.035758279
## PC14 PC15 PC16 PC17 PC18
## MDVP.Fo.Hz. 0.145831813 0.04701491 0.016886614 0.22195800 0.005563885
## MDVP.Fhi.Hz. -0.008303181 -0.02318333 0.020025359 0.01896713 0.035555372
## MDVP.Flo.Hz. -0.026287331 -0.02359417 0.015408443 -0.02462180 -0.019662211
## MDVP.Jitter... -0.156596124 -0.07364183 0.062770041 0.02714824 -0.482044275
## MDVP.Jitter.Abs. -0.217195300 0.30837350 0.138580952 0.71889453 0.113796059
## MDVP.RAP -0.126315290 -0.24816866 0.057604575 -0.25301554 0.381655714
## MDVP.PPQ -0.230483140 0.29453014 -0.377734110 -0.28103748 -0.446889267
## Jitter.DDP -0.126049427 -0.24799851 0.057899112 -0.25336436 0.381855762
## MDVP.Shimmer -0.018311236 -0.05287456 0.036009304 0.05574292 -0.036479764
## MDVP.Shimmer.dB. -0.016152794 0.02729597 0.048200769 0.05958357 0.047005539
## Shimmer.APQ3 0.015501450 -0.05106373 0.150469409 -0.12696240 -0.154418560
## Shimmer.APQ5 -0.060395179 0.33720577 -0.561568283 0.02978593 0.421012462
## MDVP.APQ 0.033003621 -0.25021065 0.269614861 0.23517366 -0.056710414
## Shimmer.DDA 0.015501897 -0.05088163 0.150624166 -0.12677861 -0.154577319
## NHR 0.804068201 0.10582631 -0.120276371 0.01549100 -0.037708061
## HNR 0.156605988 0.08937357 -0.062893283 -0.10072023 -0.047040883
## RPDE 0.029388038 0.09248263 -0.066763375 -0.04189078 -0.030713671
## DFA 0.218569841 -0.03850674 -0.009502261 0.07408702 0.005722473
## spread1 0.186751168 -0.52171276 -0.375143185 0.20573214 -0.078043118
## spread2 -0.100202216 -0.04294746 0.011507374 -0.02525745 0.042506607
## D2 -0.080593414 0.10644506 -0.015620629 -0.01953248 -0.049702892
## PPE 0.210707207 0.43209599 0.474868167 -0.26270293 0.122846540
## PC19 PC20 PC21 PC22
## MDVP.Fo.Hz. -0.048059877 -0.0029829593 -1.571075e-04 1.480671e-05
## MDVP.Fhi.Hz. 0.005550506 0.0049548512 -8.545254e-06 -1.858964e-05
## MDVP.Flo.Hz. 0.020930850 -0.0001957014 6.118598e-05 -2.869144e-05
## MDVP.Jitter... 0.739546466 0.0459172462 2.517180e-04 -5.815667e-05
## MDVP.Jitter.Abs. -0.179768205 0.0369881172 -8.204234e-05 -1.408277e-04
## MDVP.RAP -0.050067385 -0.0105942656 7.067034e-01 -2.362253e-02
## MDVP.PPQ -0.486136566 -0.0292803091 -3.558809e-04 -5.387732e-07
## Jitter.DDP -0.049552027 -0.0069790417 -7.067085e-01 2.384187e-02
## MDVP.Shimmer 0.018349489 -0.8842651978 -2.271323e-03 1.962275e-04
## MDVP.Shimmer.dB. 0.017466500 -0.0161408464 1.022959e-04 -2.019198e-05
## Shimmer.APQ3 -0.087364252 0.2460453392 -2.305201e-02 -7.067690e-01
## Shimmer.APQ5 0.344471887 0.1799916171 5.491560e-04 2.061450e-05
## MDVP.APQ -0.171700652 0.2400368073 4.156352e-04 -8.525095e-05
## Shimmer.DDA -0.087376787 0.2462428157 2.441305e-02 7.066477e-01
## NHR -0.029279476 -0.0140615686 1.135693e-04 -1.546414e-05
## HNR 0.006373017 0.0135702746 4.164761e-05 3.405695e-05
## RPDE 0.011690622 -0.0007352295 -1.448270e-04 1.884873e-05
## DFA -0.001011968 -0.0081745481 -1.570011e-04 7.302942e-06
## spread1 -0.053066657 0.0227646681 -4.580370e-05 5.942704e-05
## spread2 -0.010858440 0.0017530014 6.187360e-06 4.385183e-05
## D2 -0.020887294 0.0072874764 -6.234847e-05 -1.782057e-05
## PPE 0.090708353 -0.0327736366 2.589426e-04 -7.507013e-05
plot(pca_result, type = "l", main = "Scree Plot PCA")
Berdasarkan Scree Plot, direkomendasikan menggunakan PC 1 & PC 2, karena penurunan variance pada PC 3 dan seterusnya tidak signifikan.
Berdasarkan Cummulative Proportion dengan standar >70%, direkomendasikan menggunakan PC 1, PC 2, & PC 3. Akumulasi PC 1, PC 2, PC 3 adalah 74.5% sudah cukup untuk memenuhi standar.
Pada penelitian ini akan digunakan 3 komponen PC, yaitu PC 1, PC 2, & PC 3.
# Membuat dataframe PC
pc_scores <- as.data.frame(pca_result$x)
# Ambil 3 PC pertama
pc_data <- pc_scores[, 1:3]
# Tambahkan status (y)
pc_data$status <- as.factor(data$status)
# Regresi Logistik
model_logit <- glm(status ~ PC1 + PC2 + PC3,
data = pc_data,
family = binomial)
summary(model_logit)
##
## Call:
## glm(formula = status ~ PC1 + PC2 + PC3, family = binomial, data = pc_data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.9285 0.3300 5.844 5.11e-09 ***
## PC1 -0.5688 0.1539 -3.696 0.000219 ***
## PC2 -0.5670 0.1720 -3.296 0.000980 ***
## PC3 -0.2055 0.2167 -0.948 0.342948
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 217.65 on 194 degrees of freedom
## Residual deviance: 139.14 on 191 degrees of freedom
## AIC: 147.14
##
## Number of Fisher Scoring iterations: 6
model regresi logistik: log(p/(1-p))=1.9285−0.5688PC1−0.5670PC2−0.2055PC3
dengan
𝑝=𝑃(status = 1 | PC1, PC2, PC3)
yaitu peluang seseorang mengidap Parkinson.
prob_pred <- predict(model_logit, type = "response")
pred_class <- ifelse(prob_pred > 0.5, 1, 0)
cm<-table(Prediksi = pred_class, Asli = data$status)
cm
## Asli
## Prediksi 0 1
## 0 23 9
## 1 25 138
True Positive (TP) = 138 True Negative (TN) = 23 False Positive (FP) = 25 False Negative (FN) = 9
# True Positive, False Positive, False Negative
TP <- cm[2,2]
FP <- cm[1,2]
FN <- cm[2,1]
# Accuracy
accuracy <- mean(pred_class == data$status)
# Precision
precision <- TP / (TP + FP)
# Recall (Sensitivity)
recall <- TP / (TP + FN)
# F1 Score
F1 <- 2 * precision * recall / (precision + recall)
cat(" Accuracy: ", accuracy, "\n", "Precision: ", precision, "\n","Recall: ", recall,"\n","F1-Score: ",F1,"\n")
## Accuracy: 0.825641
## Precision: 0.9387755
## Recall: 0.8466258
## F1-Score: 0.8903226
Analisis PCA dilakukan untuk mereduksi dimensi dari sekumpulan variabel numerik pada data Parkinson. PCA bertujuan menghasilkan sejumlah komponen utama (Principal Components) yang mampu mewakili variasi terbesar dalam data, sehingga model menjadi lebih sederhana, bebas multikolinearitas, namun tetap informatif.
Berdasarkan hasil PCA, diperoleh beberapa temuan penting:
Komponen utama pertama (PC1) memiliki kontribusi variasi terbesar dibanding komponen lainnya. PC1 menangkap pola umum dari fitur suara pasien Parkinson, sehingga menjadi komponen paling informatif.
Komponen utama kedua (PC2) juga memberikan kontribusi signifikan terhadap variasi data. PC2 banyak dipengaruhi oleh kelompok variabel tertentu (misalnya jitter, shimmer, atau fitur harmonik) yang berbeda dari PC1.
Komponen ketiga (PC3) masih menangkap variasi data, namun kontribusinya lebih rendah dibanding PC1 dan PC2.
Secara keseluruhan, PC1–PC3 telah menjelaskan proporsi variasi yang cukup besar dalam dataset sehingga layak digunakan sebagai variabel input model prediksi.
Dengan demikian, PCA berhasil:
Mengurangi kompleksitas data,
Memperbaiki struktur data,
Menghilangkan multikolinearitas antar variabel asli,
Menyediakan variabel yang lebih stabil untuk model regresi logistik.
Setelah memperoleh komponen PC1, PC2, dan PC3, dilakukan pemodelan regresi logistik biner dengan variabel dependen:
status (0 = sehat, 1 = Parkinson)
model logit: log(P(Parkinson)/(1-P(Parkinson))) = 1.9285-0.5688 PC1-0.5670 PC2-).2055 PC3
Accuracy: 0.825641 Precision: 0.9387755 Recall: 0.8466258 F1-Score: 0.8903226
Interpretasi:
Akurasi 82.56% menunjukkan bahwa model secara keseluruhan cukup baik dalam mengklasifikasi kondisi pasien.
Precision tinggi (93.88%) berarti sebagian besar prediksi “Parkinson” adalah benar. Model sangat sedikit menghasilkan false positive.
Recall 84.66% menunjukkan model cukup mampu mendeteksi pasien Parkinson, meskipun masih ada sebagian kasus (sekitar 15%) yang terlewat.
F1-score 89.03% menegaskan bahwa model seimbang dalam hal precision dan recall.
Secara umum, model memiliki performa yang baik untuk tujuan klasifikasi awal kondisi Parkinson.
Secara keseluruhan, hasil analisis menunjukkan bahwa PCA berhasil mereduksi dimensi data dan menghasilkan komponen yang mewakili sebagian besar informasi penting dari fitur suara. Regresi logistik berdasarkan PC1, PC2, PC3 mampu memprediksi status Parkinson dengan akurasi yang cukup tinggi (82.56%). Model yang terbentuk memiliki tingkat kesalahan yang rendah, terutama dalam memprediksi kasus positif, menjadikannya model prediksi awal yang cukup baik untuk mendeteksi Parkinson. Komponen PC1 dan PC2 terbukti paling dominan dalam mengklasifikasi kondisi kesehatan, sehingga dapat menjadi fitur utama pada model prediksi berbasis machine learning selanjutnya.
Regresi logistik merupakan model yang sederhana dan interpretable. Penelitian selanjutnya dapat mempertimbangkan algoritma machine learning lain untuk meningkatkan akurasi, seperti Random Forest, Support Vector Machine (SVM), Gradient Boosting.