BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Perkembangan teknologi pengolahan data mendorong pemanfaatan machine learning untuk membantu proses klasifikasi dan pengambilan keputusan. Salah satu metode yang dapat digunakan adalah Decision Tree, yaitu metode pembelajaran terawasi (supervised learning) yang membentuk aturan prediksi melalui pemisahan data berdasarkan variabel prediktor. Metode ini memiliki keunggulan karena hasil pemodelannya dapat divisualisasikan dalam bentuk pohon sehingga lebih mudah dipahami dan diinterpretasikan. Dalam bidang kesehatan, Decision Tree dapat diterapkan untuk mengklasifikasikan kondisi kanker payudara ke dalam kategori jinak (benign) dan ganas (malignant) berdasarkan karakteristik sel. Mellina dkk. (2024) membahas penerapan algoritma Decision Tree untuk prediksi kanker payudara, sedangkan Munir dkk. (2024) membandingkan algoritma Naive Bayes dan Decision Tree dalam klasifikasi penyakit kanker payudara.

Pada praktikum ini, dataset BreastCancer dari package mlbench digunakan untuk membangun model Classification Tree. Tahapan analisis diawali dengan pemeriksaan dan penanganan missing value menggunakan package mice, kemudian data dibagi menjadi data training dan testing. Selanjutnya, model dibangun dan divisualisasikan, serta dilakukan analisis variable importance untuk mengetahui variabel yang berperan dalam klasifikasi. Kinerja model dievaluasi menggunakan confusion matrix, kemudian dilakukan penentuan Complexity Parameter (CP) terbaik dan pruning untuk menyederhanakan struktur pohon. Model setelah pruning dievaluasi kembali menggunakan confusion matrix, kurva Receiver Operating Characteristic (ROC), dan nilai Area Under the Curve (AUC) untuk mengetahui kemampuan model dalam membedakan kategori jinak dan ganas.

1.2 Rumusan Masalah

  1. Bagaimana menerapkan metode Decision Tree (Classification Tree) untuk mengklasifikasikan kondisi kanker payudara menggunakan dataset BreastCancer di RStudio?
  2. Bagaimana mengevaluasi dan meningkatkan kinerja model klasifikasi melalui penentuan nilai CP terbaik dan pruning menggunakan confusion matrix, kurva ROC, dan nilai AUC?

1.3 Tujuan

1.Menjelaskan konsep dasar Decision Tree untuk klasifikasi menggunakan metode CART (Classification and Regression Tree). 2.Membangun model Classification Tree menggunakan algoritma CART.

BAB II TINJAUAN PUSTAKA

2.1 Decision Tree

Decision Tree atau pohon keputusan merupakan metode machine learning yang termasuk dalam supervised learning dan digunakan untuk membentuk aturan prediksi berdasarkan pola dalam data. Model ini membagi data secara bertahap berdasarkan variabel prediktor hingga menghasilkan kelompok yang digunakan untuk menentukan hasil prediksi. Struktur Decision Tree terdiri atas root node sebagai simpul awal, branch sebagai cabang pemisahan, intermediate node sebagai simpul perantara, dan leaf node sebagai simpul akhir yang menghasilkan prediksi. Metode ini memiliki keunggulan berupa hasil pemodelan yang dapat divisualisasikan sehingga aturan keputusan relatif mudah dipahami dan diinterpretasikan (Berk, 2020).

Dalam klasifikasi kanker payudara, Decision Tree dapat digunakan untuk mengelompokkan kondisi kanker ke dalam kategori jinak (benign) dan ganas (malignant) berdasarkan karakteristik sel. Pembentukan pohon keputusan dilakukan dengan memilih variabel yang mampu memisahkan data ke dalam kelompok kelas secara efektif. Proses tersebut berlanjut hingga terbentuk aturan keputusan yang digunakan untuk mengklasifikasikan data baru. Kemampuan Decision Tree dalam membentuk aturan yang mudah diinterpretasikan menjadikannya salah satu metode yang dapat diterapkan pada permasalahan klasifikasi.

2.2 Classification and Regression Tree (CART)

Classification and Regression Tree (CART) merupakan metode pembentukan pohon keputusan yang digunakan untuk menyelesaikan permasalahan klasifikasi maupun regresi. Pada Classification Tree, variabel target berbentuk kategori, sedangkan pada Regression Tree, variabel target berupa nilai numerik. CART membentuk pohon melalui proses splitting atau pemisahan data berdasarkan variabel prediktor agar kelompok yang terbentuk semakin homogen. Dalam klasifikasi, salah satu ukuran yang dapat digunakan untuk menentukan kualitas pemisahan adalah Gini Index. Semakin kecil nilai ketidakmurnian suatu simpul, semakin besar dominasi kelas tertentu dalam simpul tersebut (Breiman dkk., 2017).

Pembentukan pohon CART dapat menghasilkan struktur yang kompleks apabila pemisahan dilakukan secara berulang hingga terlalu menyesuaikan diri dengan data pelatihan. Oleh karena itu, digunakan proses pruning atau pemangkasan untuk mengurangi cabang yang kurang diperlukan dan menyederhanakan model. Dalam implementasi menggunakan package rpart pada R, Complexity Parameter (CP) digunakan untuk mengendalikan kompleksitas pohon dan membantu menentukan model yang lebih sederhana. Pendekatan pengembangan pohon keputusan juga terus diteliti, termasuk penggunaan data berlabel sebagian dalam pembentukan pohon klasifikasi (Abedinia & Seydi, 2024). Pada praktikum ini, CART diterapkan untuk membangun Classification Tree menggunakan dataset BreastCancer, kemudian model dievaluasi sebelum dan sesudah pruning untuk melihat kemampuan klasifikasinya.

BAB III METODE PENELITIAN

3.1 Sumber Data

Data yang digunakan dalam penelitian ini merupakan data sekunder berupa data kondisi kanker payudara yang diperoleh dari dataset BreastCancer pada package mlbench dalam perangkat lunak R. Data tersebut memuat informasi karakteristik sel yang digunakan untuk mengklasifikasikan kondisi kanker payudara ke dalam dua kategori, yaitu jinak (benign) dan ganas (malignant). Data terdiri atas 699 observasi sebelum penanganan missing value. Data selanjutnya diolah menggunakan perangkat lunak RStudio dengan menerapkan metode Decision Tree (Classification Tree) untuk memperoleh hasil klasifikasi.

3.2 Variabel Penelitian

Variabel yang digunakan dalam penelitian ini terdiri atas variabel respon dan variabel prediktor yang menggambarkan karakteristik sel pada kanker payudara. Variabel respon yang digunakan adalah Class, sedangkan variabel prediktor terdiri atas sembilan karakteristik sel. Adapun definisi masing-masing variabel disajikan pada tabel berikut.

Variabel Nama Variabel Definisi
Y Class Kategori kondisi kanker payudara, yaitu jinak (benign) dan ganas (malignant).
X₁ Cl.thickness Ketebalan gumpalan sel.
X₂ Cell.size Keseragaman ukuran sel.
X₃ Cell.shape Keseragaman bentuk sel.
X₄ Marg.adhesion Tingkat perlekatan marginal sel.
X₅ Epith.c.size Ukuran sel epitel tunggal.
X₆ Bare.nuclei Kondisi inti sel yang tidak tertutup sitoplasma.
X₇ Bl.cromatin Karakteristik kromatin sel.
X₈ Normal.nucleoli Kondisi nukleolus sel.
X₉ Mitoses Tingkat aktivitas mitosis sel.

Variabel Id tidak digunakan dalam pemodelan karena hanya berfungsi sebagai identitas setiap observasi. Variabel Class digunakan sebagai target klasifikasi, sedangkan sembilan variabel lainnya digunakan sebagai prediktor dalam pembentukan model Decision Tree (Classification Tree).

3.3 Langkah-Langkah Analisis

Analisis data dilakukan menggunakan perangkat lunak RStudio dengan metode Decision Tree (Classification Tree). Adapun tahapan analisis yang dilakukan adalah sebagai berikut.

  1. Mengimpor dataset BreastCancer dari package mlbench, kemudian memeriksa struktur data, tipe variabel, dan jumlah observasi.
  2. Memeriksa keberadaan missing value pada setiap variabel menggunakan fungsi is.na() dan colSums().
  3. Melakukan penanganan missing value menggunakan metode imputasi dengan package mice, kemudian memeriksa kembali kelengkapan data.
  4. Membagi data menjadi data training sebesar 70% dan data testing sebesar 30% menggunakan fungsi createDataPartition() dari package caret.
  5. Membentuk model klasifikasi menggunakan fungsi rpart() dengan variabel Class sebagai variabel respon dan sembilan karakteristik sel sebagai variabel prediktor.
  6. Memvisualisasikan pohon klasifikasi menggunakan fungsi rpart.plot() untuk mengetahui struktur pohon dan aturan pemisahan yang terbentuk.
  7. Menganalisis variable importance untuk mengetahui variabel prediktor yang memberikan kontribusi relatif besar terhadap model klasifikasi.
  8. Melakukan prediksi pada data testing dan mengevaluasi model awal menggunakan confusion matrix untuk memperoleh nilai akurasi, sensitivitas, spesifisitas, dan Kappa.
  9. Menentukan nilai kompleksitas pohon (Complexity Parameter atau CP) terbaik berdasarkan hasil cross-validation dengan memperhatikan nilai xerror pada tabel kompleksitas.
  10. Melakukan pruning atau pemangkasan pohon menggunakan fungsi prune() berdasarkan nilai CP yang dipilih.
  11. Melakukan prediksi dan evaluasi ulang terhadap model setelah pruning menggunakan confusion matrix.
  12. Mengevaluasi kinerja model setelah pruning menggunakan kurva ROC (Receiver Operating Characteristic) dan nilai AUC (Area Under the Curve).
  13. Membandingkan hasil evaluasi model sebelum dan sesudah pruning, kemudian menyusun kesimpulan berdasarkan hasil klasifikasi.

BAB IV HASIL DAN PEMBAHASAN

4.1 Library

## '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 ...
##          Id       Cl.thickness   Cell.size     Cell.shape  Marg.adhesion
##  Length   :699   1      :145   1      :384   1      :353   1      :407  
##  N.unique :645   5      :130   10     : 67   2      : 59   2      : 58  
##  N.blank  :  0   3      :108   3      : 52   10     : 58   3      : 58  
##  Min.nchar:  5   4      : 80   2      : 45   3      : 56   10     : 55  
##  Max.nchar:  8   10     : 69   4      : 40   4      : 44   4      : 33  
##                  2      : 50   5      : 30   5      : 34   8      : 25  
##                  (Other):117   (Other): 81   (Other): 95   (Other): 63  
##   Epith.c.size  Bare.nuclei   Bl.cromatin  Normal.nucleoli    Mitoses   
##  2      :386   1      :402   2      :166   1      :443     1      :579  
##  3      : 72   10     :132   3      :165   10     : 61     2      : 35  
##  4      : 48   2      : 30   1      :152   3      : 44     3      : 33  
##  1      : 47   5      : 30   7      : 73   2      : 36     10     : 14  
##  6      : 41   3      : 28   4      : 40   8      : 24     4      : 12  
##  5      : 39   (Other): 61   5      : 34   6      : 22     7      :  9  
##  (Other): 66   NAs    : 16   (Other): 69   (Other): 69     (Other): 17  
##        Class    
##  benign   :458  
##  malignant:241  
##                 
##                 
##                 
##                 
## 
## 'data.frame':    699 obs. of  10 variables:
##  $ 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 ...

4.2 Penanganan Missing Value menggunakan mice

##    Cl.thickness       Cell.size      Cell.shape   Marg.adhesion    Epith.c.size 
##               0               0               0               0               0 
##     Bare.nuclei     Bl.cromatin Normal.nucleoli         Mitoses           Class 
##              16               0               0               0               0

##     Cl.thickness Cell.size Cell.shape Marg.adhesion Epith.c.size Bl.cromatin
## 683            1         1          1             1            1           1
## 16             1         1          1             1            1           1
##                0         0          0             0            0           0
##     Normal.nucleoli Mitoses Class Bare.nuclei   
## 683               1       1     1           1  0
## 16                1       1     1           0  1
##                   0       0     0          16 16
##    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
## 'data.frame':    699 obs. of  10 variables:
##  $ 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 ...

Berdasarkan hasil pemeriksaan missing value pada dataset BreastCancer, diketahui bahwa terdapat 16 nilai hilang pada variabel Bare.nuclei, sedangkan sembilan variabel lainnya tidak memiliki nilai hilang. Dataset awal terdiri atas 699 observasi dan 10 variabel. Visualisasi pola missing value menunjukkan bahwa sebanyak 683 observasi memiliki data lengkap, sedangkan 16 observasi lainnya memiliki nilai hilang pada variabel Bare.nuclei. Oleh karena itu, diperlukan penanganan missing value menggunakan metode imputasi agar data dapat digunakan dalam proses pemodelan klasifikasi.

Setelah dilakukan penanganan missing value menggunakan metode imputasi dengan package mice, hasil pemeriksaan menunjukkan bahwa seluruh variabel tidak lagi memiliki nilai hilang. Jumlah observasi tetap sebanyak 699 dengan 10 variabel, yang terdiri atas sembilan variabel prediktor dan satu variabel respon, yaitu Class. Variabel prediktor memiliki tipe data faktor, sebagian besar berupa ordered factor, sedangkan variabel Class memiliki dua kategori, yaitu benign dan malignant. Dengan demikian, dataset telah lengkap dan siap digunakan untuk tahap pembagian data serta pembentukan model klasifikasi menggunakan metode Decision Tree (Classification Tree).

4.3 Membagi data training dan Testing

## [1] 490  10
## [1] 209  10
## 
##    benign malignant 
##       321       169
## 
##    benign malignant 
##       137        72

Berdasarkan hasil pembagian data, dataset BreastCancer yang terdiri atas 699 observasi dibagi menjadi data training dan data testing dengan proporsi 70:30. Data training terdiri atas 490 observasi dan 10 variabel, sedangkan data testing terdiri atas 209 observasi dan 10 variabel. Pada data training, terdapat 321 observasi dengan kategori benign dan 169 observasi dengan kategori malignant. Sementara itu, data testing terdiri atas 137 observasi kategori benign dan 72 observasi kategori malignant. Pembagian ini bertujuan untuk menggunakan data training dalam membentuk model klasifikasi, sedangkan data testing digunakan untuk mengevaluasi kemampuan model dalam mengklasifikasikan data yang tidak digunakan selama proses pelatihan.

4.4 Membangun dan Memvisualisasikan classification tree

## n= 490 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##  1) root 490 169 benign (0.65510204 0.34489796)  
##    2) Cell.size=1,2 309  11 benign (0.96440129 0.03559871)  
##      4) Bare.nuclei=1,2,3,5 300   4 benign (0.98666667 0.01333333) *
##      5) Bare.nuclei=4,6,7,8,10 9   2 malignant (0.22222222 0.77777778) *
##    3) Cell.size=3,4,5,6,7,8,9,10 181  23 malignant (0.12707182 0.87292818)  
##      6) Bare.nuclei=1,2 34  17 benign (0.50000000 0.50000000)  
##       12) Cell.size=1,2,3 16   1 benign (0.93750000 0.06250000) *
##       13) Cell.size=4,5,6,7,8,9,10 18   2 malignant (0.11111111 0.88888889) *
##      7) Bare.nuclei=3,4,5,6,7,8,9,10 147   6 malignant (0.04081633 0.95918367) *

Berdasarkan hasil pembentukan model Decision Tree (Classification Tree) menggunakan 490 observasi data training, diperoleh pohon klasifikasi yang menggunakan variabel Cell.size sebagai pemisah utama pada simpul akar (root node). Pemisahan pertama membagi data menjadi dua kelompok, yaitu Cell.size dengan nilai 1–2 dan Cell.size dengan nilai 3–10. Selanjutnya, variabel Bare.nuclei digunakan sebagai pemisah pada beberapa cabang untuk menentukan klasifikasi kondisi kanker payudara. Hal ini menunjukkan bahwa Cell.size dan Bare.nuclei berperan dalam membentuk aturan klasifikasi pada model yang dihasilkan.

Pohon klasifikasi menghasilkan lima simpul terminal (terminal node) dengan dua kategori klasifikasi, yaitu benign dan malignant. Pada kelompok dengan Cell.size bernilai 1–2 dan Bare.nuclei bernilai 1, 2, 3, atau 5, model mengklasifikasikan data sebagai benign dengan probabilitas sekitar 99%. Sementara itu, kelompok dengan Cell.size bernilai 3–10 dan Bare.nuclei bernilai 3–10 diklasifikasikan sebagai malignant dengan probabilitas sekitar 96%. Cabang lainnya juga menunjukkan hasil klasifikasi benign maupun malignant berdasarkan kombinasi nilai kedua variabel tersebut. Dengan demikian, visualisasi pohon menunjukkan bahwa model dapat membentuk aturan keputusan berdasarkan karakteristik sel untuk mengklasifikasikan kondisi kanker payudara. Hasil ini merupakan gambaran model pada data training, sehingga kinerja klasifikasinya masih perlu dievaluasi menggunakan data testing.

4.5 Analisis variable importance

##       Cell.size      Cell.shape     Bare.nuclei     Bl.cromatin    Epith.c.size 
##      171.622410      137.525164      130.622151      123.538016      118.648989 
## Normal.nucleoli   Marg.adhesion    Cl.thickness 
##      116.497055        6.507812        3.404128
##          Variabel Importance
## 1       Cell.size 171.622410
## 2      Cell.shape 137.525164
## 3     Bare.nuclei 130.622151
## 4     Bl.cromatin 123.538016
## 5    Epith.c.size 118.648989
## 6 Normal.nucleoli 116.497055
## 7   Marg.adhesion   6.507812
## 8    Cl.thickness   3.404128

Berdasarkan hasil analisis variable importance pada model Classification Tree, variabel Cell.size memiliki tingkat kepentingan tertinggi dengan nilai sebesar 171,622410. Selanjutnya, variabel Cell.shape memiliki nilai sebesar 137,525164, diikuti Bare.nuclei sebesar 130,622151, Bl.cromatin sebesar 123,538016, Epith.c.size sebesar 118,648989, dan Normal.nucleoli sebesar 116,497055. Sementara itu, Marg.adhesion dan Cl.thickness memiliki tingkat kepentingan yang relatif rendah, masing-masing sebesar 6,507812 dan 3,404128.

Hasil tersebut menunjukkan bahwa Cell.size merupakan variabel yang paling berkontribusi dalam pembentukan model klasifikasi kanker payudara, sedangkan Cl.thickness memiliki kontribusi relatif paling rendah di antara variabel yang ditampilkan. Temuan ini sejalan dengan visualisasi pohon klasifikasi sebelumnya, yang menunjukkan bahwa Cell.size digunakan sebagai pemisah utama pada simpul akar. Dengan demikian, karakteristik ukuran sel menjadi faktor penting dalam menentukan hasil klasifikasi kondisi kanker payudara pada model yang dibangun.

4.6 Prediksi dan Evaluasi Model awal

##            Aktual
## Prediksi    benign malignant
##   benign       123         0
##   malignant     14        72
## Confusion Matrix and Statistics
## 
##            Reference
## Prediction  benign malignant
##   benign       123         0
##   malignant     14        72
##                                           
##                Accuracy : 0.933           
##                  95% CI : (0.8902, 0.9629)
##     No Information Rate : 0.6555          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.8582          
##                                           
##  Mcnemar's Test P-Value : 0.000512        
##                                           
##             Sensitivity : 1.0000          
##             Specificity : 0.8978          
##          Pos Pred Value : 0.8372          
##          Neg Pred Value : 1.0000          
##              Prevalence : 0.3445          
##          Detection Rate : 0.3445          
##    Detection Prevalence : 0.4115          
##       Balanced Accuracy : 0.9489          
##                                           
##        'Positive' Class : malignant       
## 

Berdasarkan hasil prediksi dan evaluasi model awal menggunakan data testing sebanyak 209 observasi, diperoleh 123 data benign yang diklasifikasikan dengan benar sebagai benign dan 72 data malignant yang diklasifikasikan dengan benar sebagai malignant. Sementara itu, terdapat 14 data benign yang salah diklasifikasikan sebagai malignant, sedangkan tidak terdapat data malignant yang salah diklasifikasikan sebagai benign. Hasil evaluasi menunjukkan bahwa model memperoleh nilai akurasi sebesar 93,3% dan nilai Kappa sebesar 0,8582, yang menunjukkan tingkat kesesuaian klasifikasi yang tinggi. Selain itu, nilai sensitivitas sebesar 100% menunjukkan bahwa seluruh data dengan kategori malignant berhasil diidentifikasi oleh model, sedangkan nilai spesifisitas sebesar 89,78% menunjukkan kemampuan model dalam mengidentifikasi kategori benign dengan benar. Nilai positive predictive value sebesar 83,72% dan negative predictive value sebesar 100% juga menunjukkan hasil prediksi yang baik. Adapun nilai balanced accuracy sebesar 94,89% memperlihatkan bahwa model memiliki kinerja klasifikasi yang baik pada kedua kategori. Dengan demikian, model Decision Tree awal mampu mengklasifikasikan kondisi kanker payudara dengan baik. Namun, evaluasi lebih lanjut setelah proses pruning diperlukan untuk mengetahui apakah penyederhanaan pohon dapat mempertahankan atau meningkatkan kinerja model.

4.7 Menentukan CP terbaik

## 
## Classification tree:
## rpart(formula = Class ~ ., data = BreastCancer.train, method = "class", 
##     cp = 0.008)
## 
## Variables actually used in tree construction:
## [1] Bare.nuclei Cell.size  
## 
## Root node error: 169/490 = 0.3449
## 
## n= 490 
## 
##         CP nsplit rel error  xerror     xstd
## 1 0.798817      0  1.000000 1.00000 0.062260
## 2 0.041420      1  0.201183 0.27811 0.038571
## 3 0.029586      3  0.118343 0.17751 0.031402
## 4 0.008000      4  0.088757 0.18343 0.031886

## [1] 0.0295858

Berdasarkan hasil penentuan nilai Complexity Parameter (CP), diperoleh empat kandidat nilai CP dengan jumlah pemisahan (nsplit) yang berbeda. Nilai cross-validation error (xerror) terkecil terdapat pada CP sebesar 0,029586 dengan nilai xerror sebesar 0,17751 dan jumlah pemisahan sebanyak tiga. Sementara itu, CP sebesar 0,008 menghasilkan xerror sebesar 0,18343 dengan empat pemisahan. Grafik complexity parameter menunjukkan bahwa nilai kesalahan relatif menurun secara signifikan ketika pohon dikembangkan dari nol menjadi tiga pemisahan, kemudian sedikit meningkat pada empat pemisahan. Berdasarkan hasil tersebut, nilai CP sebesar 0,0295858 dipilih sebagai CP terbaik karena menghasilkan nilai xerror terkecil. Nilai ini selanjutnya digunakan dalam proses pruning untuk menyederhanakan struktur pohon klasifikasi dengan tetap mempertahankan kemampuan prediksi model.

4.8 Pruning dan visualisasi Pohon

## n= 490 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##  1) root 490 169 benign (0.65510204 0.34489796)  
##    2) Cell.size=1,2 309  11 benign (0.96440129 0.03559871) *
##    3) Cell.size=3,4,5,6,7,8,9,10 181  23 malignant (0.12707182 0.87292818)  
##      6) Bare.nuclei=1,2 34  17 benign (0.50000000 0.50000000)  
##       12) Cell.size=1,2,3 16   1 benign (0.93750000 0.06250000) *
##       13) Cell.size=4,5,6,7,8,9,10 18   2 malignant (0.11111111 0.88888889) *
##      7) Bare.nuclei=3,4,5,6,7,8,9,10 147   6 malignant (0.04081633 0.95918367) *

Berdasarkan hasil pruning menggunakan nilai CP terbaik sebesar 0,0295858, diperoleh pohon klasifikasi yang lebih sederhana dibandingkan model awal. Pohon hasil pemangkasan memiliki empat simpul terminal dengan menggunakan variabel Cell.size dan Bare.nuclei sebagai variabel pemisah. Variabel Cell.size digunakan sebagai pemisah utama, sedangkan Bare.nuclei digunakan untuk membedakan kategori pada cabang dengan nilai Cell.size sebesar 3–10. Penyederhanaan ini mengurangi jumlah simpul terminal tanpa menghilangkan aturan klasifikasi utama yang terbentuk pada model.

Hasil visualisasi menunjukkan bahwa data dengan Cell.size bernilai 1–2 diklasifikasikan sebagai benign dengan probabilitas sebesar 96%. Pada kelompok dengan Cell.size bernilai 3–10, klasifikasi selanjutnya ditentukan berdasarkan nilai Bare.nuclei. Data dengan Bare.nuclei bernilai 1–2 dan Cell.size bernilai 1–2 atau 3 diklasifikasikan sebagai benign dengan probabilitas sekitar 94%, sedangkan data dengan Cell.size bernilai 4–10 pada kelompok tersebut diklasifikasikan sebagai malignant dengan probabilitas sekitar 89%. Adapun data dengan Bare.nuclei bernilai 3–10 diklasifikasikan sebagai malignant dengan probabilitas sekitar 96%. Dengan demikian, proses pruning menghasilkan pohon yang lebih ringkas dan tetap memberikan aturan klasifikasi berdasarkan karakteristik sel. Kinerja model setelah pemangkasan selanjutnya perlu dibandingkan melalui evaluasi menggunakan data testing.

4.9 Evaluasi Model setelah pruning

##            Aktual
## Prediksi    benign malignant
##   benign       127         1
##   malignant     10        71
## Confusion Matrix and Statistics
## 
##            Reference
## Prediction  benign malignant
##   benign       127         1
##   malignant     10        71
##                                           
##                Accuracy : 0.9474          
##                  95% CI : (0.9078, 0.9734)
##     No Information Rate : 0.6555          
##     P-Value [Acc > NIR] : < 2e-16         
##                                           
##                   Kappa : 0.8868          
##                                           
##  Mcnemar's Test P-Value : 0.01586         
##                                           
##             Sensitivity : 0.9861          
##             Specificity : 0.9270          
##          Pos Pred Value : 0.8765          
##          Neg Pred Value : 0.9922          
##              Prevalence : 0.3445          
##          Detection Rate : 0.3397          
##    Detection Prevalence : 0.3876          
##       Balanced Accuracy : 0.9566          
##                                           
##        'Positive' Class : malignant       
## 

Berdasarkan hasil evaluasi model Decision Tree setelah dilakukan pruning pada 209 observasi data testing, diperoleh 127 data benign yang diklasifikasikan dengan benar sebagai benign dan 71 data malignant yang diklasifikasikan dengan benar sebagai malignant. Selain itu, terdapat 10 data benign yang salah diklasifikasikan sebagai malignant dan satu data malignant yang salah diklasifikasikan sebagai benign. Model menghasilkan nilai akurasi sebesar 94,74% dan nilai Kappa sebesar 0,8868, yang menunjukkan tingkat kesesuaian klasifikasi yang tinggi. Nilai sensitivitas sebesar 98,61% menunjukkan bahwa model mampu mengidentifikasi sebagian besar data malignant dengan benar, sedangkan nilai spesifisitas sebesar 92,70% menunjukkan kemampuan model dalam mengklasifikasikan data benign secara tepat. Nilai positive predictive value sebesar 87,65%, negative predictive value sebesar 99,22%, dan balanced accuracy sebesar 95,66% juga menunjukkan kinerja klasifikasi yang baik. Dengan demikian, model setelah pruning mampu mengklasifikasikan kondisi kanker payudara dengan baik. Jika dibandingkan dengan model awal yang memiliki akurasi 93,30%, model setelah pruning mengalami peningkatan akurasi menjadi 94,74%. Hal ini menunjukkan bahwa proses pruning menghasilkan model yang lebih sederhana dengan kinerja klasifikasi yang lebih baik pada data testing.

4.10 ROC dan AUC

## Area under the curve: 0.9634

Berdasarkan hasil evaluasi kurva ROC (Receiver Operating Characteristic) pada model Classification Tree setelah pruning, diperoleh nilai AUC (Area Under the Curve) sebesar 0,9634. Nilai tersebut menunjukkan bahwa model memiliki kemampuan yang sangat baik dalam membedakan kategori benign dan malignant. Kurva ROC yang berada jauh dari garis diagonal menunjukkan bahwa kemampuan klasifikasi model lebih baik dibandingkan dengan klasifikasi secara acak. Dengan demikian, model setelah pruning memiliki kemampuan diskriminasi yang sangat baik dalam mengklasifikasikan kondisi kanker payudara.

4.11 Membandingkan model sebelum dan sesudah pruning

##                         Model  Accuracy       AUC
## 1    Classification Tree Awal 0.9330144 0.9700426
## 2 Classification Tree Pruning 0.9473684 0.9634023

Berdasarkan hasil perbandingan, model Classification Tree awal memperoleh nilai akurasi sebesar 93,30% dan AUC sebesar 0,9700. Sementara itu, model setelah pruning memperoleh nilai akurasi sebesar 94,74% dan AUC sebesar 0,9634. Hasil tersebut menunjukkan bahwa proses pruning meningkatkan akurasi sebesar 1,44 poin persentase, tetapi menurunkan nilai AUC sebesar 0,66 poin persentase. Dengan demikian, model setelah pruning memiliki akurasi yang lebih tinggi dan struktur pohon yang lebih sederhana, sedangkan model awal memiliki kemampuan diskriminasi yang sedikit lebih tinggi berdasarkan nilai AUC. Secara keseluruhan, model setelah pruning dapat dipertimbangkan sebagai model yang lebih baik apabila prioritas analisis adalah memperoleh akurasi yang lebih tinggi dengan struktur klasifikasi yang lebih sederhana.

BAB V KESIMPULAN

Berdasarkan hasil analisis klasifikasi kanker payudara menggunakan metode Decision Tree (Classification Tree) pada dataset BreastCancer, dilakukan penanganan missing value pada variabel Bare.nuclei yang memiliki 16 nilai hilang dari total 699 observasi. Setelah proses imputasi, seluruh data telah lengkap dan dibagi menjadi 490 observasi data training serta 209 observasi data testing. Model awal menghasilkan pohon klasifikasi dengan variabel Cell.size sebagai pemisah utama, diikuti oleh Bare.nuclei. Hasil analisis variable importance menunjukkan bahwa Cell.size memiliki tingkat kepentingan tertinggi sebesar 171,622410, sedangkan Cl.thickness memiliki tingkat kepentingan terendah sebesar 3,404128. Selanjutnya, penentuan nilai CP terbaik menghasilkan nilai sebesar 0,0295858 yang digunakan untuk melakukan pruning sehingga struktur pohon menjadi lebih sederhana.

Hasil evaluasi menunjukkan bahwa model awal memperoleh akurasi sebesar 93,30% dan AUC sebesar 0,9700, sedangkan model setelah pruning memperoleh akurasi sebesar 94,74% dan AUC sebesar 0,9634. Model setelah pruning juga memiliki sensitivitas sebesar 98,61%, spesifisitas sebesar 92,70%, dan balanced accuracy sebesar 95,66%. Hasil tersebut menunjukkan bahwa proses pruning meningkatkan akurasi model sebesar 1,44 poin persentase, meskipun nilai AUC sedikit menurun. Dengan demikian, model setelah pruning dapat dipertimbangkan sebagai model yang lebih baik dari segi akurasi dan kesederhanaan struktur pohon, sedangkan model awal memiliki kemampuan diskriminasi yang sedikit lebih tinggi berdasarkan nilai AUC. Secara keseluruhan, metode Decision Tree mampu mengklasifikasikan kondisi kanker payudara dengan baik berdasarkan karakteristik sel yang digunakan.

DAFTAR PUSTAKA

Mellina, A. D. F., Suhartono, & Yaqin, M. A. (2024). Algoritma Decision Tree untuk prediksi deteksi penyakit kanker payudara. JISKA (Jurnal Informatika Sunan Kalijaga), 9(1), 70–78. https://doi.org/10.14421/jiska.2024.9.1.70-78

Munir, A. S., Saputra, A. B., Aziz, A., & Barata, M. A. (2024). Perbandingan akurasi algoritma Naive Bayes dan algoritma Decision Tree dalam pengklasifikasian penyakit kanker payudara. Jurnal Ilmiah Informatika Global, 15(1), 23–29. https://doi.org/10.36982/jiig.v15i1.3578

Abedinia, A., & Seydi, V. (2024). Building semi-supervised decision trees with semi-cart algorithm. International Journal of Machine Learning and Cybernetics, 15, 4493–4510. https://doi.org/10.1007/s13042-024-02161-z

Berk, R. A. (2020). Statistical learning from a regression perspective (3rd ed.). Springer. https://doi.org/10.1007/978-3-030-40189-4

Breiman, L., Friedman, J. H., Olshen, R. A., & Stone, C. J. (2017). Classification and regression trees. CRC Press.