Mempelajari tiga cabang machine learning: supervised learning dengan classification & regression, unsupervised learning dengan clustering, dan reinforcement learning; serta membangun pipeline nyata train/test split, fit, predict, dan evaluasi accuracy & precision di dataset iris.

Setelah di episode 3 kalian menguasai EDA — memahami data iris dari angka sampai plot — pada episode ini kita naik satu tingkat: membuat mesin belajar dari data tersebut. Inilah inti machine learning: bukan memprogram aturan, melainkan membiarkan algoritma menemukan pola dari contoh.
Mengapa episode ini penting? Karena ML adalah fondasi konseptual untuk semua yang mengikuti — deep learning (episode 5) hanyalah ML dengan model yang lebih besar, dan LLM (episode 7) hanyalah ML dengan data yang jauh lebih banyak. Jika kalian memahami pipeline ML di episode ini, episode-episode berikutnya tinggal variasi dari satu tema.
Model belajar dari data yang sudah punya jawaban (label). Dua bentuk utamanya:
# Classification -> output diskret (kelas)
# Regression -> output kontinu (angka)Analoginya: belajar dengan guru — guru memberi soal sekaligus kunci jawaban, dan kalian belajar pola dari pasangan soal-jawaban itu.
Model belajar dari data tanpa label, mencari struktur yang tersembunyi. Bentuk utamanya adalah clustering: mengelompokkan data serupa. Contoh: segmentasi pelanggan, anomali deteksi. Analoginya: belajar sendiri — mengelompokkan buku di perpustakaan tanpa diberi tahu kategorinya.
Model (agent) belajar dari reward/punishment dengan berinteraksi dengan lingkungan. Ini pola di balik robot, game AI, dan optimasi keputusan berurutan. Analoginya: melatih anjing — diberikan hadiah saat berperilaku benar, ditegur saat salah, lalu belajar kebijakan dari umpan balik tersebut.
| Jenis | Label? | Output | Contoh |
|---|---|---|---|
| Supervised | Ada | Kelas / angka | Klasifikasi bunga, prediksi harga |
| Unsupervised | Tidak | Kelompok / pola | Segmentasi pelanggan |
| Reinforcement | Reward | Urutan aksi | Robot, game AI |
Di series ini fokus utama adalah supervised learning (karena paling banyak dipakai di industri), dengan sentuhan unsupervised di episode 10 dan RL di episode 21 (agentic).
Mari bangun pipeline lengkap di dataset iris. Inilah alur yang akan kalian ulangi di hampir semua proyek ML:
Mengapa harus split? Model yang diukur hanya pada data latihnya sendiri itu curang — ia bisa sekadar menghafal (overfit). Untuk tahu seberapa bagus model pada data baru, kita tahan sebagian data (test) yang tidak pernah dilihat saat training.
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, precision_score, classification_report
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(
iris.data, iris.target, test_size=0.2, random_state=42, stratify=iris.target
)
print(X_train.shape, X_test.shape)stratify=iris.target menjaga proporsi kelas agar sama antara train dan test — penting untuk dataset yang tidak seimbang.
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print("Accuracy :", accuracy_score(y_test, y_pred).round(3))
print(classification_report(y_test, y_pred, target_names=iris.target_names))Alur ini — fit lalu predict — adalah API standar scikit-learn yang sama untuk hampir semua modelnya. Evaluasi menampilkan tiga metrik penting:
Bayangkan sistem deteksi penipuan di mana 99% transaksi normal dan 1% penipuan. Model yang selalu menjawab "normal" punya accuracy 99% — tapi sama sekali tidak berguna. Di sinilah precision dan recall (plus F1-score sebagai gabungan keduanya) berbicara lebih jujur.
Accuracy: 0.967
precision recall f1-score
setosa 1.00 1.00 1.00
versicolor 0.92 1.00 0.96
virginica 1.00 0.91 0.95Pola ini khas: setosa selalu mudah, versicolor/virginica kadang tertukar — persis seperti yang kalian lihat di plot EDA episode 3. EDA memprediksi hasil ML; itu bukan kebetulan.
Note
RandomForest yang kita pakai adalah model "klasik" — bukan deep learning. Ini disengaja: episode ini mengajarkan alur ML yang benar. Mengganti RandomForestClassifier dengan jaringan saraf (episode 5) tidak mengubah alur split → fit → predict → evaluate sedikit pun.
Inti yang harus dibawa pulang:
Di episode 5 selanjutnya kita akan masuk ke Deep Learning & Neural Network dasar — neuron, activation, layer, forward & backpropagation, dan overfitting — plus praktik membangun NN sederhana dengan PyTorch untuk dataset MNIST. Sampai jumpa di episode 5!