Machine Learning Fundamental 6
📘 Pertemuan 6 – Decision Tree & Random Forest
🎯 Tujuan Pembelajaran
Setelah mengikuti pertemuan ini mahasiswa mampu:
- Memahami konsep Decision Tree
- Memahami cara kerja Random Forest
- Melakukan training model berbasis tree
- Memahami konsep feature importance
- Mengevaluasi performa model klasifikasi
1️⃣ Decision Tree
Decision Tree adalah algoritma machine learning yang bekerja seperti struktur pohon keputusan.
Model membuat keputusan dengan memecah data berdasarkan fitur tertentu.
Contoh struktur:
Apakah umur > 30?
├── Ya → Prediksi A
└── Tidak → Prediksi B
Keuntungan Decision Tree:
- Mudah dipahami
- Tidak perlu scaling
- Bisa menangani data non-linear
Kekurangan:
- Mudah mengalami overfitting
2️⃣ Konsep Split pada Decision Tree
Decision Tree memilih fitur terbaik untuk memisahkan data menggunakan metrik seperti:
Gini Impurity
[
Gini = 1 - \sum p_i^2
]
Entropy
[
Entropy = -\sum p_i \log_2(p_i)
]
Tujuannya adalah meminimalkan impurity sehingga node menjadi lebih homogen.
3️⃣ Dataset Contoh
Menggunakan dataset Titanic.
1 | import pandas as pd |
Encoding data kategorikal:1
2
3
4from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df['sex'] = le.fit_transform(df['sex'])
4️⃣ Train Test Split
1 | from sklearn.model_selection import train_test_split |
5️⃣ Implementasi Decision Tree
1 | from sklearn.tree import DecisionTreeClassifier |
6️⃣ Evaluasi Model
1 | from sklearn.metrics import accuracy_score |
7️⃣ Visualisasi Decision Tree
1 | from sklearn.tree import plot_tree |
Visualisasi ini membantu memahami alur keputusan model.
8️⃣ Random Forest
Random Forest adalah ensemble learning method yang menggunakan banyak decision tree.
Konsep utama:1
Banyak Decision Tree → Voting → Prediksi Final
Keuntungan Random Forest:
- Lebih stabil
- Mengurangi overfitting
- Akurasi lebih tinggi
9️⃣ Implementasi Random Forest
1 | from sklearn.ensemble import RandomForestClassifier |
🔟 Evaluasi Random Forest
1 | accuracy_rf = accuracy_score(y_test, y_pred_rf) |
Bandingkan dengan Decision Tree.
1️⃣1️⃣ Feature Importance
Random Forest dapat menunjukkan fitur yang paling berpengaruh.
1 | import pandas as pd |
1️⃣2️⃣ Visualisasi Feature Importance
1 | import matplotlib.pyplot as plt |
🧪 Praktikum Lengkap
1 | from sklearn.tree import DecisionTreeClassifier |
📝 Tugas Praktikum
- Gunakan dataset Titanic.
- Buat model:
- Decision Tree
- Random Forest
- Bandingkan:
- Accuracy
- Confusion Matrix
- Analisis feature importance.
📝 Tugas Mandiri
- Ambil dataset klasifikasi dari Kaggle.
- Lakukan:
- EDA
- preprocessing
- Decision Tree
- Random Forest
- Bandingkan performa model.
- Gunakan template laporan:
https://github.com/AzharRizkiZ/Template-DS-ML� - Upload ke GitHub repository masing-masing.
🎓 Target Kompetensi
Mahasiswa mampu:
- memahami konsep tree-based model
- mengimplementasikan decision tree
- menggunakan random forest
- menganalisis feature importance
- membandingkan performa model



