webtmzaini
IntroductionΒ
Regression
Classification
Regresi linier adalah salah satu metode statistik yang digunakan untuk memodelkan hubungan antara satu variabel terikat (dependent variable, biasanya dilambangkan YYY) dengan satu atau lebih variabel bebas (independent variable, biasanya dilambangkan XXX).
Ada dua jenis utama:
Regresi Linier Sederhana
Hanya melibatkan satu variabel bebas.
Persamaan umum:
Y=a+bX+Ξ΅Y = a + bX + \varepsilonY=a+bX+Ξ΅
Di mana:
YYY = variabel terikat (nilai yang diprediksi)
XXX = variabel bebas (faktor yang memengaruhi)
aaa = intercept (konstanta)
bbb = koefisien regresi (kemiringan garis)
Ξ΅\varepsilonΞ΅ = error (residu)
Regresi Linier Berganda
Melibatkan lebih dari satu variabel bebas.
Persamaan umum:
Y=a+b1X1+b2X2+β―+bnXn+Ξ΅Y = a + b_1X_1 + b_2X_2 + \dots + b_nX_n + \varepsilonY=a+b1βX1β+b2βX2β+β―+bnβXnβ+Ξ΅
π Tujuan regresi linier:
Mengetahui arah dan kekuatan hubungan antar variabel.
Membuat prediksi nilai YYY berdasarkan nilai XXX.
Contoh sederhana:
Jika kita ingin memprediksi berat badan (Y) berdasarkan tinggi badan (X), maka kita bisa menggunakan regresi linier sederhana.
Regresi non-linier adalah metode analisis statistik untuk memodelkan hubungan antara variabel terikat (YYY) dan variabel bebas (XXX) ketika pola hubungan tidak dapat dijelaskan dengan garis lurus.
π Berbeda dengan regresi linier yang berbentuk:
Y=a+bXY = a + bXY=a+bX
pada regresi non-linier bentuk persamaannya bisa berupa eksponensial, logaritmik, kuadrat, logistik, dsb.
Kuadratik (Polinomial derajat 2)
Y=a+bX+cX2+Ξ΅Y = a + bX + cX^2 + \varepsilonY=a+bX+cX2+Ξ΅
Eksponensial
Y=aβ
ebX+Ξ΅Y = a \cdot e^{bX} + \varepsilonY=aβ
ebX+Ξ΅
Logaritmik
Y=a+blnβ‘(X)+Ξ΅Y = a + b \ln(X) + \varepsilonY=a+bln(X)+Ξ΅
Logistik (S-curve)
Y=L1+eβ(a+bX)+Ξ΅Y = \frac{L}{1 + e^{-(a+bX)}} + \varepsilonY=1+eβ(a+bX)Lβ+Ξ΅
Power (Pangkat)
Y=aXb+Ξ΅Y = aX^b + \varepsilonY=aXb+Ξ΅
Pertumbuhan populasi biasanya mengikuti model eksponensial.
Respon dosis obat sering dimodelkan dengan fungsi logistik (sigmoid).
Hubungan luas daun dan fotosintesis kadang berbentuk kuadratik.
Classification (klasifikasi) adalah salah satu metode supervised learning di machine learning, di mana model dilatih untuk memprediksi kategori (label) dari suatu data berdasarkan fitur-fitur yang dimilikinya.
Input: sekumpulan fitur (variabel independen, XXX)
Output: kelas/label (variabel dependen, YYY) yang bersifat kategorikal
Contoh:
Email β Spam atau Bukan Spam
Hasil tes medis β Positif atau Negatif
Jenis bunga iris β Setosa, Versicolor, Virginica
Binary Classification
Dua kelas (contoh: spam vs non-spam).
Contoh algoritma: Logistic Regression, SVM, Decision Tree.
Multi-class Classification
Lebih dari dua kelas (contoh: klasifikasi jenis bunga iris β 3 kelas).
Algoritma: Random Forest, Neural Network, k-NN.
Multi-label Classification
Satu data bisa punya lebih dari satu label.
Contoh: gambar kucing + anjing β label [kucing, anjing].
Logistic Regression β untuk binary classification.
Decision Tree β mudah dipahami & divisualisasikan.
Random Forest β kumpulan decision tree untuk akurasi lebih baik.
K-Nearest Neighbors (k-NN) β berdasarkan kedekatan data.
Support Vector Machine (SVM) β mencari hyperplane terbaik pemisah kelas.
Naive Bayes β berbasis probabilitas (cocok untuk teks).
Neural Networks / Deep Learning β untuk data besar & kompleks (misalnya image classification).
Beberapa metrik yang digunakan:
Accuracy β seberapa banyak prediksi yang benar.
Precision β seberapa akurat prediksi positif.
Recall (Sensitivity) β seberapa banyak kasus positif terdeteksi.
F1-Score β harmonisasi precision & recall.
Confusion Matrix β tabel ringkasan benar/salah prediksi per kelas.
berikut penjelasan langkah-demi-langkah (step-by-step) bagaimana Decision Tree bekerja, disertai contoh perhitungan entropi / information gain, pseudocode singkat, tips hyperparameter, dan contoh kode Python kecil.
Inti singkat
Decision Tree membagi data berulang-ulang menjadi subset dengan aturan kondisi (mis. fitur β€ t) sehingga setiap node menjadi βlebih murniβ (hanya berisi satu kelas atau proporsi kelas serupa). Pemilihan pemisahan dibuat dengan mengukur penurunan impurity (mis. information gain berbasis entropi atau Gini impurity).
Langkah-langkah training (root β leaf)
Mulai di root node dengan seluruh data. Hitung impurity awal (contoh: entropi atau Gini).
Untuk setiap fitur, cari calon pemisahan terbaik:
Jika fitur kontinu: urutkan nilai unik, coba ambang (threshold) di titik tengah antara nilai berturut-turut.
Jika fitur kategorikal: coba pemisahan satu-per-satu atau penggabungan kategori (tergantung implementasi).
Untuk setiap calon split, bagi data menjadi dua (kiri/kanan) dan hitung impurity anak (entropy/Gini).
Hitung weighted impurity anak:
Isplit=nLnI(L)+nRnI(R)I_{split} = \frac{n_{L}}{n} I(L) + \frac{n_{R}}{n} I(R)Isplitβ=nnLββI(L)+nnRββI(R).
Kemudian hitung penurunan impurity (mis. Information Gain):
ΞI=I(parent)βIsplit\Delta I = I(parent) - I_{split}ΞI=I(parent)βIsplitβ.
Pilih split dengan ΞI\Delta IΞI terbesar (atau Gini decrease terbesar). Buat node internal dengan aturan tersebut.
Bagi subset ke child node dan ulangi rekursif untuk masing-masing child sampai memenuhi kriteria berhenti:
Semua contoh di node punya kelas sama, atau
depth maksimum tercapai, atau
jumlah sampel di node < min_samples_split, atau
impurity sudah sangat rendah.
Atur leaf: jika berhenti, tetapkan label (mayoritas) atau probabilitas kelas di leaf.
(Opsional) Pruning: potong cabang yang overfit (pre-prune dengan batasan di langkah berhenti, atau post-prune menggunakan data validasi).
Formula impurity (yang umum dipakai)
Entropy (untuk kelas-k):
H=ββi=1kpilogβ‘2piH = -\sum_{i=1}^k p_i \log_2 p_iH=ββi=1kβpiβlog2βpiβ
Gini impurity:
G=1ββi=1kpi2G = 1 - \sum_{i=1}^k p_i^2G=1ββi=1kβpi2β
Information Gain (IG):
IG=H(parent)ββcβ{L,R}ncnH(c)IG = H(parent) - \sum_{c \in \{L,R\}} \frac{n_c}{n} H(c)IG=H(parent)ββcβ{L,R}βnncββH(c)
Misal dataset 10 contoh, 2 kelas: Positif (P) = 6, Negatif (N) = 4.
Entropi parent:
pP=6/10=0.6p_P = 6/10 = 0.6pPβ=6/10=0.6, pN=4/10=0.4p_N = 4/10 = 0.4pNβ=4/10=0.4.
Hitung logβ:
logβ‘2(0.6)=lnβ‘0.6lnβ‘2ββ0.736965594\log_2(0.6) = \dfrac{\ln 0.6}{\ln 2} \approx -0.736965594log2β(0.6)=ln2ln0.6βββ0.736965594.
kontribusi =β0.6Γ(β0.736965594)=0.4421793564= -0.6 \times (-0.736965594) = 0.4421793564=β0.6Γ(β0.736965594)=0.4421793564.
logβ‘2(0.4)ββ1.321928095\log_2(0.4) \approx -1.321928095log2β(0.4)ββ1.321928095.
kontribusi =β0.4Γ(β1.321928095)=0.5287712380= -0.4 \times (-1.321928095) = 0.5287712380=β0.4Γ(β1.321928095)=0.5287712380.
Jadi H(parent)β0.4421793564+0.5287712380=0.9709505944H(parent) \approx 0.4421793564 + 0.5287712380 = 0.9709505944H(parent)β0.4421793564+0.5287712380=0.9709505944 (β 0.971 bit).
Misal sebuah split membagi jadi: kiri = 4 P, 0 N (size 4); kanan = 2 P, 4 N (size 6).
Entropi kiri: semua P β H(L)=0H(L)=0H(L)=0.
Entropi kanan: pP=2/6β0.3333333, pN=4/6β0.6666667p_P=2/6\approx 0.3333333,\ p_N=4/6\approx 0.6666667pPβ=2/6β0.3333333, pNβ=4/6β0.6666667.
logβ‘2(1/3)ββ1.5849625\log_2(1/3)\approx -1.5849625log2β(1/3)ββ1.5849625 β kontribusi =β13Γ(β1.5849625)β0.5283208333= -\tfrac{1}{3}\times(-1.5849625)\approx 0.5283208333=β31βΓ(β1.5849625)β0.5283208333.
logβ‘2(2/3)ββ0.5849625\log_2(2/3)\approx -0.5849625log2β(2/3)ββ0.5849625 β kontribusi =β23Γ(β0.5849625)β0.389975= -\tfrac{2}{3}\times(-0.5849625)\approx 0.389975=β32βΓ(β0.5849625)β0.389975.
Jadi H(R)β0.5283208333+0.389975=0.9182958333H(R)\approx 0.5283208333 + 0.389975 = 0.9182958333H(R)β0.5283208333+0.389975=0.9182958333.
Weighted child entropy: 410β 0+610β 0.9182958333β0.5509775\frac{4}{10}\cdot0 + \frac{6}{10}\cdot0.9182958333 \approx 0.5509775104ββ 0+106ββ 0.9182958333β0.5509775.
Information Gain = 0.9709505944β0.5509775β0.41997309440.9709505944 - 0.5509775 \approx 0.41997309440.9709505944β0.5509775β0.4199730944.
Split ini meningkatkan βkemurnianβ sebesar β 0.420 bit; Decision Tree akan membandingkan IG untuk semua calon split dan memilih yang terbesar.
Prediksi (inference)
Untuk sampel baru: mulai di root β cek aturan fitur_i β€ threshold β turun ke child kiri/kanan sesuai aturan β ulang sampai mencapai leaf β keluarkan prediksi (label mayoritas di leaf) atau probabilitas (proporsi kelas di leaf).
Hyperparameter penting & tips praktis
criterion: 'gini' (CART, cepat) atau 'entropy' (ID3-style/info gain). Hasil mirip biasanya.
max_depth: mencegah overfitting (pre-prune).
min_samples_split, min_samples_leaf: batasi split pada node kecil.
max_features: mengurangi variance (serupa idea random forest).
class_weight: untuk data tidak seimbang.
Tips: tidak perlu feature scaling (tree invariant terhadap skala), tapi raw outliers bisa memengaruhi thresholding. Untuk performa dan generalisasi, sering gunakan ensemble (Random Forest / Gradient Boosting).
Kelebihan & Kekurangan (ringkas)
Kelebihan: mudah diinterpretasi (visualisasi), menangani fitur kategorikal dan kontinu, tidak perlu scaling.
Kekurangan: mudah overfit, sensitif pada variasi data (variance tinggi), pembagian greedy lokal (tidak global optimal).
Sebuah universitas ingin memprediksi apakah mahasiswa akan lulus tepat waktu atau tidak. Data yang dipakai misalnya:
IPK Semester Awal (X1)
Jumlah Kehadiran (X2)
Status Ekonomi (X3)
Aktivitas Organisasi (X4)
Nilai Mata Kuliah Inti (X5)
Label (Y): Lulus Tepat Waktu / Tidak Lulus Tepat Waktu
Hitung impurity (misal entropy) pada dataset awal.
Coba semua atribut sebagai calon pemisah (IPK, Kehadiran, Ekonomi, dll.).
Misal, splitting pada IPK β₯ 3.0 menghasilkan pembagian dengan Information Gain terbesar.
Bagi data sesuai aturan:
Node kiri: IPK β₯ 3.0 β lanjut cek Kehadiran
Node kanan: IPK < 3.0 β mayoritas "Tidak Tepat Waktu" β jadi leaf.
Teruskan proses sampai semua node cukup murni atau mencapai batas.
Interpretasi:
Mahasiswa dengan IPK < 3.0 cenderung tidak lulus tepat waktu.
Jika IPK β₯ 3.0 tapi kehadiran < 80%, juga berisiko tidak lulus.
Mahasiswa dengan IPK β₯ 3.0 dan kehadiran β₯ 80% kemungkinan lulus tepat waktu.
Dosen & kampus bisa mengidentifikasi mahasiswa berisiko sejak awal.
Mahasiswa yang rawan tidak lulus bisa diberi bimbingan khusus.
Bisa dipakai untuk sistem peringatan dini (early warning system).
Decision Tree dalam Analisis Keputusan Pembelian Program Pada Perkumpulan Penggiat Programmer Indonesia E-Jurnal UMRI
Analisis faktor-faktor yang mempengaruhi keputusan pembelian program, menggunakan Decision Tree. E-Jurnal UMRI
Akurasi sekitar 83,33%. E-Jurnal UMRI
Application of Decision Tree C4.5 in Predicting the Best Predicate in Madrasah Ta'hiliyah Ibrahimy OJS UNUD
Memprediksi predikat siswa (nilai/kelas terbaik) di madrasah, menggunakan algoritma C4.5. OJS UNUD
Hasil akurasi ~ 74,17%. OJS UNUD
Penerapan Algoritma Decision Tree Berbasis Pohon Keputusan dalam Klasifikasi Penyakit Jantung Ejournal ITN
Klasifikasi penyakit jantung menggunakan dataset klinis (Cleveland Clinic, dsb); melakukan evaluasi metrik seperti akurasi, precision, recall, F1-score. Ejournal ITN
Akurasi ~ 93.44%, recall ~ 75%, precision ~ 90%, F1-score ~ 81.81%. Ejournal ITN
Penerapan Algoritma Decision Tree Untuk Memprediksi Kanker Payudara JDI UPY
Prediksi kanker payudara menggunakan decision tree (ID3, CART, C4.5), termasuk pruning/pre-pruning. JDI UPY
Akurasi hingga 98,25% pada beberapa metode. JDI UPY
Performance Analysis of the Decision Tree Classification Algorithm on the Water Quality and Potability Dataset Jurnal Yocto Brain
Memprediksi tingkat kelayakan air (potability) dari dataset water quality. Jurnal Yocto Brain
Akurasi ~ 54,33%, jadi masih cukup rendah, mungkin karena ketidakseimbangan data atau fitur yang kurang baik. Jurnal Yocto Brain
π Contoh Jurnal / Artikel Internasional / Umum
Decision Tree Classifier: A Detailed Survey (Priyanka & Dharmender Kumar, 2020) InderScience Online
Survey menyeluruh tentang algoritma Decision Tree: metode pemilihan atribut (splitting criteria), pruning, variasi algoritma ID3 / CART / C4.5 / C5.0 / ensemble, serta aplikasi & kekurangan. Cocok sebagai latar teoritis. InderScience Online
An Advanced Decision Tree-Based Deep Neural Network in Nonlinear Data Classification (MDPI, 2023) MDPI
Menggabungkan konsep decision tree dengan neural network untuk menangani data yang non-linier dengan performa lebih baik. MDPI
Decision Tree-Based Federated Learning: A Survey (Wang & Gai, 2024) MDPI
Survey penggunaan Decision Tree dalam konteks Federated Learning (di mana data tersebar, privasi penting) β bagaimana tree diadaptasi, tantangan, aplikasinya. MDPI
Applications of Decision Tree and Random Forest as Tree-Based Machine Learning Techniques for Analyzing the Ultimate Strain of Spliced and Non-Spliced Reinforcement Bars MDPI
Aplikasi Decision Tree & Random Forest di bidang teknik (struktur beton / reinforcing bars), untuk memprediksi strain ultimate. Contoh bagus jika kamu tertarik aplikasi teknik / material. MDPI