BAB I PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi informasi menghasilkan data dalam jumlah besar yang dapat dimanfaatkan untuk membantu pengambilan keputusan, termasuk di bidang kesehatan. Salah satu pemanfaatannya adalah klasifikasi, yaitu proses menentukan kelas atau kategori suatu pengamatan berdasarkan karakteristik yang dimilikinya. Dalam bidang kesehatan, klasifikasi dapat digunakan untuk membantu membedakan kondisi pasien, misalnya tumor jinak (benign) dan ganas (malignant) pada kasus kanker payudara. Kanker payudara sendiri termasuk jenis kanker dengan jumlah kasus yang tinggi dan menjadi salah satu penyebab kematian terbesar di dunia, sehingga deteksi dan klasifikasi yang akurat menjadi hal yang penting (Robbaniyyah dkk., 2026).

Salah satu metode supervised learning yang banyak digunakan untuk klasifikasi adalah Decision Tree. Metode ini membagi data secara bertahap berdasarkan variabel prediktor sehingga terbentuk kelompok data yang semakin homogen, dan hasilnya disajikan dalam bentuk pohon yang mudah divisualisasikan serta diinterpretasikan. Salah satu algoritma Decision Tree yang umum digunakan adalah Classification and Regression Tree (CART). Apabila variabel respon berupa kategori, CART membentuk pohon klasifikasi (Classification Tree), sedangkan apabila variabel respon berupa numerik kontinu, CART membentuk pohon regresi (Regression Tree).

Oleh karena itu, praktikum Decision Tree dilakukan untuk memahami konsep dasar Decision Tree dan menerapkan metode CART pada kasus klasifikasi menggunakan RStudio. Melalui praktikum ini, praktikan diharapkan mampu membangun model Classification Tree, menganalisis tingkat kepentingan variabel, melakukan prediksi, melakukan pruning, serta mengevaluasi kinerja model menggunakan confusion matrix, kurva ROC, dan nilai AUC.

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas, rumusan masalah yang dapat disimpulkan yaitu:

  1. Bagaimana konsep dasar Decision Tree untuk klasifikasi menggunakan metode CART (Classification and Regression Tree)?
  2. Bagaimana membangun model Classification Tree menggunakan algoritma CART di program RStudio?

1.3 Tujuan Penelitian

Berdasarkan rumusan masalah di atas, tujuan yang dapat disimpulkan yaitu:

  1. Praktikan dapat menjelaskan konsep dasar Decision Tree untuk klasifikasi menggunakan metode CART (Classification and Regression Tree).
  2. Praktikan dapat membangun model Classification Tree menggunakan algoritma CART di program RStudio.

1.4 Manfaat Penelitian

Adapun manfaat dari praktikum ini yaitu:

  1. Bagi penulis, yaitu dapat memberikan informasi dan pengetahuan serta menerapkan ilmu pengetahuan mengenai metode Decision Tree (Classification Tree) dengan R.
  2. Bagi Pembaca, yaitu dapat menambah ilmu pengetahuan dan pemahaman mengenai metode Decision Tree (Classification Tree) dengan R.

1.5 Batasan Masalah

Adapun batasan masalah dari praktikum ini, yaitu menggunakan dataset Hitters dari package ISLR untuk memprediksi gaji (Salary) pemain bisbol menggunakan Decision Tree (Regression Tree). Lakukan pengecekan dan penanganan missing value menggunakan na.omit(), kemudian bagi data menjadi training dan testing. Selanjutnya, bangun dan visualisasikan tree, analisis variable importance, lakukan prediksi dan evaluasi menggunakan Mean Squared Error (MSE), tentukan Complexity Parameter (CP) terbaik, lakukan pruning, dan evaluasi kembali model menggunakan MSE. Tampilkan dan interpretasikan setiap output!

BAB II TINJAUAN PUSTAKA

2.1 Decision Tree

Decision Tree merupakan salah satu metode supervised learning berbasis pohon yang dapat digunakan untuk membentuk aturan prediksi. Pada metode ini, data dibagi secara bertahap melalui proses splitting berdasarkan variabel prediktor sehingga terbentuk kelompok-kelompok data yang semakin homogen. Setiap percabangan pada pohon menunjukkan aturan pemisahan, sedangkan simpul akhir (leaf node) menunjukkan hasil prediksi (Fransiska, 2026).

Penelitian terdahulu menunjukkan bahwa Decision Tree telah banyak dimanfaatkan untuk klasifikasi dan prediksi penyakit kanker payudara. Mellina dkk. (2024) menerapkan algoritma Decision Tree ID3 dan C5.0 untuk memprediksi deteksi penyakit kanker payudara dan memperoleh hasil bahwa algoritma C5.0 memberikan hasil klasifikasi terbaik dibandingkan ID3 dengan akurasi sebesar 80%. Hal ini menunjukkan bahwa Decision Tree dapat digunakan sebagai salah satu pendekatan untuk membantu proses klasifikasi pada data medis.

Menurut Fransiska (2026), Decision Tree memiliki beberapa karakteristik, yaitu mudah dipahami dan diinterpretasikan karena dapat divisualisasikan dalam bentuk pohon, dapat menggunakan variabel prediktor numerik maupun kategorik, membagi data secara bertahap sehingga kelompok yang terbentuk semakin homogen, dapat digunakan untuk klasifikasi maupun regresi, serta dapat disederhanakan melalui pruning untuk mengurangi kompleksitas pohon dan risiko overfitting. Komponen utama dalam Decision Tree adalah sebagai berikut (Fransiska, 2026):

Komponen Keterangan
Root node Simpul awal atau simpul paling atas yang memuat seluruh data sebelum dilakukan pemisahan
Intermediate node Simpul di antara root node dan leaf node yang masih dapat mengalami pemisahan
Leaf node Simpul akhir yang menunjukkan hasil prediksi, berupa kelas pada klasifikasi dan nilai numerik pada regresi
Branch Cabang yang menghubungkan satu simpul dengan simpul lainnya berdasarkan aturan tertentu
Attribute Variabel prediktor yang digunakan sebagai dasar untuk melakukan pemisahan data
Splitting criteria Kriteria yang digunakan untuk menentukan pemisahan terbaik, yaitu Gini Index atau Entropy pada klasifikasi dan ukuran kesalahan seperti MSE pada regresi
Decision rules Aturan keputusan yang terbentuk dari jalur percabangan dan digunakan untuk menghasilkan prediksi
Pruning Proses pemangkasan cabang yang kurang penting untuk menyederhanakan pohon dan mengurangi risiko overfitting

2.2 Classification and Regression Tree (CART)

Classification and Regression Tree (CART) dapat digunakan untuk dua jenis pemodelan, yaitu klasifikasi untuk memprediksi kategori atau kelas, dan regresi untuk memprediksi nilai numerik. Jika variabel respon berupa kategori, pohon yang terbentuk disebut pohon klasifikasi (Classification Tree), sedangkan jika variabel respon berupa numerik kontinu disebut pohon regresi (Regression Tree) (Fransiska, 2026).

Pada Classification Tree, proses pemisahan data dilakukan dengan memilih aturan yang mampu menghasilkan simpul-simpul yang semakin homogen. Ukuran yang digunakan dalam proses pemisahan tersebut antara lain Entropy, Information Gain, dan Gini Index (Fransiska, 2026):

  1. Entropy mengukur tingkat ketidakpastian atau ketidakmurnian kelas dalam suatu simpul. Semakin kecil nilai Entropy, semakin homogen simpul tersebut, dan bernilai 0 apabila seluruh amatan berasal dari satu kelas yang sama.

\[Entropy(t) = -\sum_{k=1}^{K} p_k \log_2(p_k)\]

  1. Information Gain mengukur besarnya penurunan Entropy setelah dilakukan suatu pemisahan. Semakin besar nilai Information Gain, semakin baik pemisahan yang dilakukan.

\[IG = E(D) - \sum_{j=1}^{J} \frac{|D_j|}{|D|} E(D_j)\]

  1. Gini Index mengukur tingkat ketidakmurnian kelas (Gini impurity) dalam suatu simpul. Semakin kecil nilai Gini Index, semakin homogen data dalam simpul tersebut.

\[Gini(t) = 1 - \sum_{k=1}^{K} p_k^2\]

Pada penelitian Robbaniyyah dkk. (2026), algoritma CART diterapkan pada model klasifikasi kanker payudara berdasarkan data rekam medis pasien. Model yang dibangun dievaluasi menggunakan confusion matrix dan menghasilkan akurasi sebesar 94,74%, spesifisitas sebesar 95,77%, serta recall, precision, dan F1-Score masing-masing sebesar 93,02%, sehingga CART dinilai dapat diterapkan dengan baik pada model klasifikasi.

Algoritma CART dilakukan melalui tahapan mencari pemisahan terbaik dari setiap variabel prediktor, menentukan variabel dan pemisah terbaik, kemudian melakukan pemisahan serta memeriksa apakah proses perlu dilanjutkan. Tahapan tersebut dilakukan berulang pada setiap simpul yang terbentuk dan berhenti apabila simpul sudah cukup homogen, nilai variabel prediktor tidak memungkinkan pemisahan lebih lanjut, jumlah amatan dalam simpul lebih kecil dari batas minimum, atau kedalaman pohon telah mencapai batas maksimum (Fransiska, 2026).

2.3 Missing Value

Missing value adalah kondisi ketika terdapat nilai yang tidak tersedia pada suatu observasi dalam dataset. Data yang mengandung missing value perlu ditangani sebelum dilakukan pemodelan agar analisis dapat berjalan dengan baik. Salah satu pendekatan yang dapat digunakan adalah listwise deletion, yaitu menghapus baris pengamatan yang memiliki nilai hilang. Pramudita dkk. (2025) membahas listwise deletion sebagai salah satu pendekatan penanganan missing value dan membandingkannya dengan metode imputasi.

2.4 Pruning dan Evaluasi Model

Pruning merupakan proses pemangkasan cabang yang kurang penting untuk menyederhanakan pohon dan mengurangi risiko overfitting. Pada paket rpart, kompleksitas pohon dikendalikan oleh parameter complexity parameter (CP). Nilai CP terbaik umumnya dipilih berdasarkan nilai cross-validation error (xerror) terkecil pada tabel CP (Fransiska, 2026).

Evaluasi Classification Tree dilakukan dengan membandingkan kelas aktual dan kelas hasil prediksi yang disajikan dalam confusion matrix (Fransiska, 2026):

Predicted Positive Predicted Negative
Actual Positive True Positive (TP) False Negative (FN)
Actual Negative False Positive (FP) True Negative (TN)

Berdasarkan confusion matrix, ukuran evaluasi yang dapat digunakan adalah:

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

\[Recall = \frac{TP}{TP+FN} \qquad Specificity = \frac{TN}{TN+FP}\]

\[F1\text{-}Score = 2\left(\frac{Precision \times Recall}{Precision + Recall}\right)\]

Selain itu, kemampuan model dalam membedakan kelas pada berbagai nilai ambang (threshold) dapat dinilai melalui kurva ROC (Receiver Operating Characteristic) dan nilai AUC (Area Under the Curve). Semakin mendekati 1 nilai AUC, semakin baik kemampuan model dalam membedakan kedua kelas.

BAB III METODE PENELITIAN

3.1 Sumber Data

Jenis data yang digunakan dalam penelitian ini adalah data numerik dan kategorik. Data yang digunakan merupakan dataset Hitters yang tersedia pada package ISLR di R. Data ini merupakan data sekunder yang berisi informasi mengenai pemain bisbol, termasuk karakteristik pemain serta gaji (Salary) yang diperoleh. Data yang memiliki missing value dihapus menggunakan fungsi na.omit() sebelum dilakukan pemodelan.

3.2 Variabel Penelitian

Penelitian ini menggunakan variabel Salary sebagai variabel respons dan variabel lainnya sebagai variabel prediktor. Variabel Salary menunjukkan gaji pemain bisbol dalam ribuan dolar, sedangkan variabel prediktor mencakup karakteristik pemain, seperti pengalaman bermain (Years), jumlah pertandingan yang dimainkan (Games), jumlah pukulan (Hits), jumlah home run (HmRun), dan karakteristik statistik permainan lainnya. Variabel League, Division, dan NewLeague merupakan variabel kategorik, sedangkan variabel lainnya berupa numerik. Variabel Salary diprediksi menggunakan metode Decision Tree (Regression Tree) untuk mengetahui pola hubungan antara karakteristik pemain dan gaji yang diperoleh.

3.3 Langkah-langkah Analisis

Berikut adalah langkah-langkah yang dilakukan dalam analisis:

  1. Membaca dan memeriksa dataset Hitters dari package ISLR.
  2. Memeriksa dan menangani missing value menggunakan fungsi na.omit().
  3. Membagi data menjadi data training dan testing.
  4. Membangun model Regression Tree menggunakan metode CART dan memvisualisasikan tree.
  5. Menganalisis variable importance untuk mengetahui variabel prediktor yang berperan penting dalam pemodelan.
  6. Melakukan prediksi pada data testing dan mengevaluasi model menggunakan Mean Squared Error (MSE).
  7. Menentukan nilai Complexity Parameter (CP) terbaik berdasarkan cross-validation error.
  8. Melakukan pruning pada tree berdasarkan nilai CP terbaik.
  9. Melakukan prediksi kembali menggunakan model hasil pruning dan mengevaluasi model menggunakan MSE.
  10. Membandingkan nilai MSE sebelum dan setelah pruning untuk mengetahui perubahan kinerja model.
  11. Menampilkan dan menginterpretasikan output dari setiap tahapan analisis.

3.4 Diagram Alir Penelitian

BAB IV HASIL DAN PEMBAHASAN

4.1 Eksplorasi Awal Data

Regression Tree merupakan metode machine learning yang digunakan untuk memprediksi variabel respons numerik melalui pembentukan pohon keputusan. Penelitian ini menggunakan dataset Hitters dari package ISLR untuk memprediksi variabel Salary berdasarkan sejumlah variabel prediktor. Tahapan analisis meliputi pemeriksaan dan penanganan missing value, pembagian data menjadi training dan testing, pembentukan dan visualisasi pohon regresi, analisis variabel importance, evaluasi model menggunakan Mean Squared Error (MSE), penentuan nilai Complexity Parameter (CP) terbaik, serta pruning untuk memperoleh model yang lebih sederhana.

Berikut adalah hasil analisis yang diperoleh dalam pengecekkan missing value data.

## 'data.frame':    322 obs. of  20 variables:
##  $ AtBat    : int  293 315 479 496 321 594 185 298 323 401 ...
##  $ Hits     : int  66 81 130 141 87 169 37 73 81 92 ...
##  $ HmRun    : int  1 7 18 20 10 4 1 0 6 17 ...
##  $ Runs     : int  30 24 66 65 39 74 23 24 26 49 ...
##  $ RBI      : int  29 38 72 78 42 51 8 24 32 66 ...
##  $ Walks    : int  14 39 76 37 30 35 21 7 8 65 ...
##  $ Years    : int  1 14 3 11 2 11 2 3 2 13 ...
##  $ CAtBat   : int  293 3449 1624 5628 396 4408 214 509 341 5206 ...
##  $ CHits    : int  66 835 457 1575 101 1133 42 108 86 1332 ...
##  $ CHmRun   : int  1 69 63 225 12 19 1 0 6 253 ...
##  $ CRuns    : int  30 321 224 828 48 501 30 41 32 784 ...
##  $ CRBI     : int  29 414 266 838 46 336 9 37 34 890 ...
##  $ CWalks   : int  14 375 263 354 33 194 24 12 8 866 ...
##  $ League   : Factor w/ 2 levels "A","N": 1 2 1 2 2 1 2 1 2 1 ...
##  $ Division : Factor w/ 2 levels "E","W": 1 2 2 1 1 2 1 2 2 1 ...
##  $ PutOuts  : int  446 632 880 200 805 282 76 121 143 0 ...
##  $ Assists  : int  33 43 82 11 40 421 127 283 290 0 ...
##  $ Errors   : int  20 10 14 3 4 25 7 9 19 0 ...
##  $ Salary   : num  NA 475 480 500 91.5 750 70 100 75 1100 ...
##  $ NewLeague: Factor w/ 2 levels "A","N": 1 2 1 2 2 1 1 1 2 1 ...
##                   AtBat Hits HmRun Runs RBI Walks Years CAtBat CHits CHmRun
## -Andy Allanson      293   66     1   30  29    14     1    293    66      1
## -Alan Ashby         315   81     7   24  38    39    14   3449   835     69
## -Alvin Davis        479  130    18   66  72    76     3   1624   457     63
## -Andre Dawson       496  141    20   65  78    37    11   5628  1575    225
## -Andres Galarraga   321   87    10   39  42    30     2    396   101     12
## -Alfredo Griffin    594  169     4   74  51    35    11   4408  1133     19
##                   CRuns CRBI CWalks League Division PutOuts Assists Errors
## -Andy Allanson       30   29     14      A        E     446      33     20
## -Alan Ashby         321  414    375      N        W     632      43     10
## -Alvin Davis        224  266    263      A        W     880      82     14
## -Andre Dawson       828  838    354      N        E     200      11      3
## -Andres Galarraga    48   46     33      N        E     805      40      4
## -Alfredo Griffin    501  336    194      A        W     282     421     25
##                   Salary NewLeague
## -Andy Allanson        NA         A
## -Alan Ashby        475.0         N
## -Alvin Davis       480.0         A
## -Andre Dawson      500.0         N
## -Andres Galarraga   91.5         N
## -Alfredo Griffin   750.0         A
##      AtBat            Hits         HmRun            Runs       
##  Min.   : 16.0   Min.   :  1   Min.   : 0.00   Min.   :  0.00  
##  1st Qu.:255.2   1st Qu.: 64   1st Qu.: 4.00   1st Qu.: 30.25  
##  Median :379.5   Median : 96   Median : 8.00   Median : 48.00  
##  Mean   :380.9   Mean   :101   Mean   :10.77   Mean   : 50.91  
##  3rd Qu.:512.0   3rd Qu.:137   3rd Qu.:16.00   3rd Qu.: 69.00  
##  Max.   :687.0   Max.   :238   Max.   :40.00   Max.   :130.00  
##                                                                
##       RBI             Walks            Years            CAtBat       
##  Min.   :  0.00   Min.   :  0.00   Min.   : 1.000   Min.   :   19.0  
##  1st Qu.: 28.00   1st Qu.: 22.00   1st Qu.: 4.000   1st Qu.:  816.8  
##  Median : 44.00   Median : 35.00   Median : 6.000   Median : 1928.0  
##  Mean   : 48.03   Mean   : 38.74   Mean   : 7.444   Mean   : 2648.7  
##  3rd Qu.: 64.75   3rd Qu.: 53.00   3rd Qu.:11.000   3rd Qu.: 3924.2  
##  Max.   :121.00   Max.   :105.00   Max.   :24.000   Max.   :14053.0  
##                                                                      
##      CHits            CHmRun           CRuns             CRBI        
##  Min.   :   4.0   Min.   :  0.00   Min.   :   1.0   Min.   :   0.00  
##  1st Qu.: 209.0   1st Qu.: 14.00   1st Qu.: 100.2   1st Qu.:  88.75  
##  Median : 508.0   Median : 37.50   Median : 247.0   Median : 220.50  
##  Mean   : 717.6   Mean   : 69.49   Mean   : 358.8   Mean   : 330.12  
##  3rd Qu.:1059.2   3rd Qu.: 90.00   3rd Qu.: 526.2   3rd Qu.: 426.25  
##  Max.   :4256.0   Max.   :548.00   Max.   :2165.0   Max.   :1659.00  
##                                                                      
##      CWalks        League  Division    PutOuts          Assists     
##  Min.   :   0.00   A:175   E:157    Min.   :   0.0   Min.   :  0.0  
##  1st Qu.:  67.25   N:147   W:165    1st Qu.: 109.2   1st Qu.:  7.0  
##  Median : 170.50                    Median : 212.0   Median : 39.5  
##  Mean   : 260.24                    Mean   : 288.9   Mean   :106.9  
##  3rd Qu.: 339.25                    3rd Qu.: 325.0   3rd Qu.:166.0  
##  Max.   :1566.00                    Max.   :1378.0   Max.   :492.0  
##                                                                     
##      Errors          Salary       NewLeague
##  Min.   : 0.00   Min.   :  67.5   A:176    
##  1st Qu.: 3.00   1st Qu.: 190.0   N:146    
##  Median : 6.00   Median : 425.0            
##  Mean   : 8.04   Mean   : 535.9            
##  3rd Qu.:11.00   3rd Qu.: 750.0            
##  Max.   :32.00   Max.   :2460.0            
##                  NAs    :59
## [1] 322  20
##     AtBat      Hits     HmRun      Runs       RBI     Walks     Years    CAtBat 
##         0         0         0         0         0         0         0         0 
##     CHits    CHmRun     CRuns      CRBI    CWalks    League  Division   PutOuts 
##         0         0         0         0         0         0         0         0 
##   Assists    Errors    Salary NewLeague 
##         0         0        59         0
##     AtBat      Hits     HmRun      Runs       RBI     Walks     Years    CAtBat 
##         0         0         0         0         0         0         0         0 
##     CHits    CHmRun     CRuns      CRBI    CWalks    League  Division   PutOuts 
##         0         0         0         0         0         0         0         0 
##   Assists    Errors    Salary NewLeague 
##         0         0         0         0
## [1] 263  20

Berdasarkan hasil pemeriksaan awal, dataset Hitters terdiri atas 322 observasi dan 20 variabel. Hasil pengecekan menunjukkan bahwa terdapat 59 missing value pada variabel Salary, sedangkan variabel lainnya tidak memiliki nilai yang hilang. Penanganan dilakukan menggunakan fungsi na.omit() dengan menghapus observasi yang memiliki nilai hilang. Setelah proses pembersihan, jumlah data menjadi 263 observasi dengan 20 variabel dan tidak ditemukan lagi missing value. Dengan demikian, data yang digunakan dalam analisis selanjutnya merupakan data lengkap.

4.2 Splitting Data

Pembagian data dilakukan untuk memisahkan data yang digunakan dalam pembentukan model dan data yang digunakan untuk mengevaluasi kemampuan prediksi model. Pada penelitian ini, data dibagi menjadi 80% data training dan 20% data testing. Fungsi createDataPartition() digunakan agar pembagian data mempertimbangkan distribusi variabel respons Salary, sedangkan set.seed(234) digunakan untuk menjaga agar hasil pembagian data dapat direproduksi.

## [1] 212  20
## [1] 51 20

Berdasarkan hasil pembagian data, diperoleh 212 observasi sebagai data training dan 51 observasi sebagai data testing. Data training digunakan untuk membentuk model Regression Tree, sedangkan data testing digunakan untuk mengukur kemampuan model dalam memprediksi nilai Salary pada data yang tidak digunakan selama proses pelatihan. Pembagian ini memungkinkan evaluasi kinerja model dilakukan secara terpisah dari proses pembentukan model.

4.3 Model Regression Tree

Pembentukan model Regression Tree dilakukan menggunakan fungsi rpart() dengan variabel Salary sebagai variabel respons dan seluruh variabel lainnya sebagai prediktor. Metode “anova” digunakan karena variabel respons berupa data numerik. Nilai cp = 0.001 ditetapkan agar model awal dapat membentuk pohon dengan tingkat kompleksitas yang cukup tinggi sebelum dilakukan pemangkasan (pruning).Berikut merupakan hasil pembentukan dan visualisasi model Regression Tree.

## n= 212 
## 
## node), split, n, deviance, yval
##       * denotes terminal node
## 
##   1) root 212 46453330.00  544.9977  
##     2) CRBI< 307.5 124  9065008.00  309.6062  
##       4) CAtBat< 1428 79  4910701.00  201.3143  
##         8) RBI>=16.5 72   561989.70  169.0069  
##          16) CRuns< 101.5 43    66050.42  114.8837 *
##          17) CRuns>=101.5 29   183208.80  249.2586  
##            34) CWalks< 117.5 20    45028.44  213.3750 *
##            35) CWalks>=117.5 9    55199.50  329.0000 *
##         9) RBI< 16.5 7  3500575.00  533.6190 *
##       5) CAtBat>=1428 45  1601443.00  499.7185  
##        10) Hits< 118 24   540337.00  417.7014  
##          20) NewLeague=A 14   132261.00  358.0239 *
##          21) NewLeague=N 10   288412.60  501.2500 *
##        11) Hits>=118 21   715156.00  593.4524  
##          22) CHmRun< 23 7   267142.90  457.8571 *
##          23) CHmRun>=23 14   254959.40  661.2500 *
##     3) CRBI>=307.5 88 20836090.00  876.6857  
##       6) AtBat< 424 32  2174114.00  543.1250  
##        12) CHmRun< 122.5 21   777955.40  453.5318  
##          24) Years>=10.5 13    95525.68  360.8975 *
##          25) Years< 10.5 8   389599.20  604.0625 *
##        13) CHmRun>=122.5 11   905784.70  714.1666 *
##       7) AtBat>=424 56 13067050.00 1067.2920  
##        14) CHmRun< 256.5 47  6300814.00  964.6910  
##          28) Walks< 68.5 37  3302243.00  863.0534  
##            56) Assists>=236.5 11   324834.50  645.1948 *
##            57) Assists< 236.5 26  2234440.00  955.2243  
##             114) Runs< 78.5 19   760675.30  860.8772 *
##             115) Runs>=78.5 7   845580.20 1211.3100 *
##          29) Walks>=68.5 10  1202151.00 1340.7500 *
##        15) CHmRun>=256.5 9  3687698.00 1603.0960 *

##        CRBI      CAtBat       CRuns       CHits      CWalks      CHmRun 
## 21370107.10 18625493.78 18296949.70 17732855.43 15734994.14 15724153.17 
##        Hits       AtBat        Runs       Walks         RBI       HmRun 
##  6379536.90  6254013.74  5973517.41  5245870.75  4944750.92  2667878.66 
##       Years     Assists      Errors     PutOuts   NewLeague      League 
##  1597627.90  1126033.19   607859.11   179642.11   119663.41    95730.73

Pohon regresi yang terbentuk menunjukkan proses pembagian data berdasarkan variabel prediktor yang digunakan untuk memperkirakan nilai Salary. Setiap percabangan menggambarkan aturan pemisahan berdasarkan nilai variabel tertentu, sedangkan simpul terminal menunjukkan nilai prediksi Salary untuk observasi yang memenuhi aturan pada jalur tersebut. Struktur pohon dapat digunakan untuk melihat hubungan antara karakteristik pemain bisbol dan nilai gaji yang diprediksi oleh model.

Selanjutnya, analisis variable importance dilakukan untuk mengetahui variabel prediktor yang memberikan kontribusi relatif besar dalam pembentukan model.

Berdasarkan grafik variable importance, variabel dengan nilai kepentingan tertinggi merupakan variabel yang memberikan kontribusi relatif paling besar dalam proses pembentukan pohon regresi. Semakin tinggi nilai importance, semakin besar kontribusi variabel tersebut terhadap pembagian simpul pada pohon. Sebaliknya, variabel dengan nilai importance lebih rendah memiliki kontribusi relatif yang lebih kecil. Urutan dan nama variabel yang paling penting ditentukan berdasarkan hasil grafik yang diperoleh dari pemodelan.

4.4 Prediksi dan Evaluasi Model Awal

Setelah model Regression Tree terbentuk, dilakukan prediksi terhadap data testing menggunakan fungsi predict(). Nilai prediksi kemudian dibandingkan dengan nilai Salary aktual. Evaluasi kinerja model dilakukan menggunakan Mean Squared Error (MSE), yaitu rata-rata kuadrat selisih antara nilai aktual dan nilai prediksi. Nilai MSE yang lebih kecil menunjukkan bahwa kesalahan prediksi model secara rata-rata lebih rendah.

##                   Aktual Prediksi
## -Al Newman            70 533.6190
## -Argenis Salazar     100 114.8837
## -Andre Thornton     1100 714.1666
## -Andy VanSlyke       550 501.2500
## -Alan Wiggins        700 358.0239
## -Buddy Biancalana    175 533.6190
## [1] 76127.9

Berdasarkan hasil prediksi pada data testing, model Regression Tree awal menghasilkan nilai Mean Squared Error (MSE) sebesar 76.127,90. Nilai tersebut menunjukkan besarnya rata-rata kuadrat selisih antara nilai Salary aktual dan nilai prediksi model. Semakin kecil nilai MSE, semakin rendah kesalahan prediksi yang dihasilkan. Nilai MSE ini digunakan sebagai dasar pembanding untuk mengevaluasi kinerja model setelah dilakukan pruning.

4.5 Penentuan NP Terbaik dan Pruning

Selanjutnya, Complexity Parameter (CP) digunakan untuk mengendalikan kompleksitas pohon. Nilai CP yang sesuai dapat dipilih berdasarkan nilai cross-validation error terkecil pada tabel CP model.

## 
## Regression tree:
## rpart(formula = Salary ~ ., data = Hitters.train, method = "anova", 
##     cp = 0.001)
## 
## Variables actually used in tree construction:
##  [1] Assists   AtBat     CAtBat    CHmRun    CRBI      CRuns     CWalks   
##  [8] Hits      NewLeague RBI       Runs      Walks     Years    
## 
## Root node error: 46453326/212 = 219119
## 
## n= 212 
## 
##           CP nsplit rel error  xerror    xstd
## 1  0.3563195      0   1.00000 1.00816 0.15341
## 2  0.1204419      1   0.64368 0.68692 0.11946
## 3  0.0662717      2   0.52324 0.72977 0.12157
## 4  0.0549555      3   0.45697 0.71152 0.12765
## 5  0.0386715      4   0.40201 0.64994 0.12969
## 6  0.0182578      5   0.36334 0.65490 0.12969
## 7  0.0159939      6   0.34508 0.69478 0.13070
## 8  0.0135229      7   0.32909 0.69799 0.13038
## 9  0.0105563      8   0.31557 0.72500 0.13524
## 10 0.0074473      9   0.30501 0.72502 0.13537
## 11 0.0067321     10   0.29756 0.72499 0.13647
## 12 0.0063038     11   0.29083 0.72336 0.13656
## 13 0.0041559     12   0.28453 0.72223 0.13582
## 14 0.0025760     13   0.28037 0.72288 0.13581
## 15 0.0017863     14   0.27779 0.72296 0.13581
## 16 0.0010000     15   0.27601 0.72057 0.13581

## [1] 0.03867153

Berdasarkan grafik Complexity Parameter (CP), terlihat bahwa nilai Cross-Validated Relative Error mengalami penurunan cukup besar pada awal pemangkasan, kemudian cenderung stabil seiring bertambahnya jumlah splits. Nilai galat terendah terlihat pada pohon dengan sekitar empat splits, sebelum kembali meningkat pada jumlah splits berikutnya. Hal ini menunjukkan bahwa penambahan jumlah splits tidak selalu meningkatkan kemampuan prediksi model. Oleh karena itu, pemilihan CP terbaik dilakukan dengan melihat nilai xerror terkecil pada tabel CP untuk memperoleh model dengan tingkat kesalahan prediksi yang lebih rendah.

## n= 212 
## 
## node), split, n, deviance, yval
##       * denotes terminal node
## 
##  1) root 212 46453330  544.9977  
##    2) CRBI< 307.5 124  9065008  309.6062  
##      4) CAtBat< 1428 79  4910701  201.3143 *
##      5) CAtBat>=1428 45  1601443  499.7185 *
##    3) CRBI>=307.5 88 20836090  876.6857  
##      6) AtBat< 424 32  2174114  543.1250 *
##      7) AtBat>=424 56 13067050 1067.2920  
##       14) CHmRun< 256.5 47  6300814  964.6910 *
##       15) CHmRun>=256.5 9  3687698 1603.0960 *

##     CRBI    CRuns   CAtBat    CHits   CHmRun   CWalks    AtBat     Hits 
## 20077896 17544847 17343995 16603144 14740336 14650933  5594926  5245243 
##     Runs      RBI    Walks    HmRun    Years 
##  4545877  3671670  3314364  2098097  1304797

Berdasarkan pohon regresi setelah pruning, variabel CRBI menjadi pemisah utama dalam memprediksi Salary. Pemain dengan nilai CRBI kurang dari 308 dipisahkan kembali berdasarkan variabel CAtBat dengan batas 1.428. Sementara itu, pemain dengan nilai CRBI minimal 308 dipisahkan berdasarkan variabel AtBat dengan batas 424. Pada cabang berikutnya, variabel CHmRun digunakan untuk membedakan pemain berdasarkan nilai 257.

Nilai pada setiap simpul akhir menunjukkan prediksi Salary berdasarkan karakteristik pemain pada cabang tersebut. Pemain dengan CRBI minimal 308, AtBat minimal 424, dan CHmRun minimal 257 memiliki prediksi Salary tertinggi, yaitu sekitar 1.603, sedangkan pemain dengan CRBI kurang dari 308 dan CAtBat kurang dari 1.428 memiliki prediksi Salary sekitar 201. Hasil ini menunjukkan bahwa CRBI, CAtBat, AtBat, dan CHmRun berperan dalam membentuk prediksi Salary pada model regresi pohon yang telah dipangkas..

##                   Aktual Prediksi
## -Al Newman            70 201.3143
## -Argenis Salazar     100 201.3143
## -Andre Thornton     1100 543.1250
## -Andy VanSlyke       550 499.7185
## -Alan Wiggins        700 499.7185
## -Buddy Biancalana    175 201.3143
## [1] 61881.45

Berdasarkan hasil evaluasi pada data testing, model Regression Tree setelah pruning menghasilkan nilai MSE sebesar 61.881,45. Nilai ini menunjukkan rata-rata kuadrat kesalahan prediksi antara nilai Salary aktual dan nilai yang diprediksi oleh model setelah pemangkasan. Nilai MSE tersebut lebih rendah dibandingkan dengan MSE model awal, yaitu sebesar 76.127,90. Hal ini menunjukkan bahwa model setelah pruning menghasilkan kesalahan prediksi yang lebih rendah pada data testing yang digunakan.

4.6 Evaluasi dan Perbandingan Model

##             Model      MSE
## 1 Sebelum Pruning 76127.90
## 2 Setelah Pruning 61881.45

Berdasarkan hasil perbandingan, model Regression Tree awal memiliki MSE sebesar 76.127,90, sedangkan model setelah pruning memiliki MSE sebesar 61.881,45. Terjadi penurunan MSE sebesar 14.246,45 atau sekitar 18,71% setelah dilakukan pruning. Hasil ini menunjukkan bahwa pemangkasan pohon menghasilkan model yang lebih sederhana dengan kesalahan prediksi yang lebih rendah pada data testing. Dengan demikian, berdasarkan ukuran MSE pada data pengujian tersebut, model Regression Tree setelah pruning memiliki kinerja prediksi yang lebih baik dibandingkan dengan model awal.

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan

Decision Tree merupakan metode supervised learning yang membentuk pohon keputusan melalui pemisahan data berdasarkan variabel prediktor. Pada metode CART (Classification and Regression Tree), pemisahan dilakukan agar kelompok data semakin homogen. Metode ini mudah dipahami dan dapat digunakan untuk klasifikasi maupun regresi, serta disederhanakan melalui proses pruning.

Pembuatan Classification Tree di RStudio dilakukan dengan menyiapkan data, menentukan variabel respons dan prediktor, membentuk serta memvisualisasikan pohon, kemudian mengevaluasi hasilnya menggunakan confusion matrix. Kinerja model dapat dinilai melalui accuracy, precision, recall, specificity, dan F1-Score. Proses pruning juga dapat dilakukan untuk menyederhanakan pohon.

Berdasarkan analisis dataset Hitters, model yang digunakan adalah Regression Tree karena variabel Salary berupa data numerik. Setelah missing value dihapus menggunakan fungsi na.omit(), diperoleh 263 observasi yang dibagi menjadi 212 data training dan 51 data testing. Nilai MSE menurun dari 76.127,90 sebelum pruning menjadi 61.881,45 setelah pruning, atau turun sebesar 18,71%. Dengan demikian, model setelah pruning memiliki kesalahan prediksi yang lebih rendah. Variabel yang berperan penting dalam pohon hasil pruning adalah CRBI, CAtBat, AtBat, dan CHmRun.

5.2 Saran

Praktikan dapat melakukan pembelajaran lebih lanjut mengenai Decision Tree dengan R agar semakin paham. Dapat dilakukan melalui sumber-sumber belajar lainnya. Dalam penulisan laporan praktikan juga diharapkan untuk selalu teliti dan memperhatikan tata cara penulisan yang baik.

DAFTAR PUSTAKA

Fransiska, H. (2026). Modul Praktikum Machine Learning dan Model Prediction. Universitas Bengkulu: Bengkulu.

Mellina, A. D. F., Suhartono, S., & Yaqin, M. A. (2024). Prediksi deteksi penyakit kanker payudara dengan menggunakan algoritma decision tree. JISKA (Jurnal Informatika Sunan Kalijaga), 9(1), 70-78.

Pramudita, C., Wiccaksono, N. A. A., Hartiyah, A. K., Maisaroh, A., Khairisudin, I. (2025). Menangani Missing Value dengan Metode Imputasi Menggunakan Package MICE di R. Jurnal PRISMA, Prosiding Seminar Nasional Matematika, 8, 399-406.

Robbaniyyah, N. A., Asmawati, I., & Bahri, S. (2026). Breast cancer classification model using decision tree algorithm. Jurnal Matematika, Statistika dan Komputasi, 22(3), 617-626.