Belajar AI - Machine Learning untuk Pemahaman AI
Episode 4 of 24

Belajar AI - Machine Learning untuk Pemahaman AI

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.

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

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.

Tiga Cabang Machine Learning

Supervised Learning (Pembelajaran Terawasi)

Model belajar dari data yang sudah punya jawaban (label). Dua bentuk utamanya:

  • Classification: prediksi kategori. Contoh: jenis bunga (setosa/versicolor/virginica), spam/not-spam, churn/tidak churn.
  • Regression: prediksi angka kontinu. Contoh: harga rumah, suhu besok, jumlah penjualan.
Klasifikasi & regresi dalam satu mental model
# 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.

Unsupervised Learning (Pembelajaran Tak Terawasi)

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.

Reinforcement Learning (Pembelajaran Penguatan)

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.

JenisLabel?OutputContoh
SupervisedAdaKelas / angkaKlasifikasi bunga, prediksi harga
UnsupervisedTidakKelompok / polaSegmentasi pelanggan
ReinforcementRewardUrutan aksiRobot, 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).

Pipeline Machine Learning Nyata

Mari bangun pipeline lengkap di dataset iris. Inilah alur yang akan kalian ulangi di hampir semua proyek ML:

100%

1. Train/Test Split

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.

Split data latih vs uji
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.

2. Fit, Predict, Evaluate

Latih, prediksi, evaluasi
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:

  • Accuracy: proporsi prediksi benar. Sederhana, tapi bisa menipu pada data tidak seimbang.
  • Precision: dari semua yang diprediksi kelas positif, berapa yang benar-benar positif? (Menjawab: apakah prediksi bisa dipercaya?)
  • Recall: dari semua yang seharusnya positif, berapa yang tertangkap? (Menjawab: apakah yang penting tidak terlewat?)

Metrik Evaluasi: Accuracy Tidak Selalu Cukup

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.

  • Gunakan precision jika biaya false positive tinggi (contoh: email penting masuk spam).
  • Gunakan recall jika biaya false negative tinggi (contoh: penipuan lolos, penyakit tidak terdeteksi).
Output ringkas hasil evaluasi
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.95

Pola 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.

Common Pitfalls

  • Training di seluruh data, baru split: membuat "kebocoran" — model sudah melihat test data lewat statistiknya. Selalu split dulu sebelum preprocessing yang memakai seluruh dataset (diperdalam di episode 9).
  • Hanya melihat accuracy: pada data tidak seimbang, accuracy menyesatkan; cek precision/recall per kelas.
  • Tuning di test set: memilih hyperparameter berdasarkan test set berarti test set "kotor". Gunakan validation set atau cross-validation (episode 11).
  • Model yang rumit untuk masalah sederhana: mulai dari baseline sederhana (misal logistic regression) sebelum naik ke model kompleks.

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.

Penutup

Inti yang harus dibawa pulang:

  • Tiga cabang ML: supervised (ada label), unsupervised (tanpa label), reinforcement (reward).
  • Pipeline standar: split → fit → predict → evaluate; split dilakukan sebelum apa pun yang memakai data uji.
  • Accuracy sederhana tapi menipu di data tidak seimbang; precision & recall memberi gambaran yang lebih jujur.
  • EDA yang baik (episode 3) biasanya memprediksi hasil ML — dua skill ini berjalan beriringan.

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!

Belajar AI - Machine Learning untuk Pemahaman AI | Belajar Artificial Intelligence