Machine learning adalah bagian Course ini dengan permukaan terluas: ratusan algoritma, puluhan metrik, dan ekosistem pustaka yang terus bertambah. Kabar baiknya, hampir semuanya dipusatkan pada satu pustaka — scikit-learn — yang dokumentasinya tertata mengikuti alur belajar yang justru sama dengan alur Course ini. Pada chapter ini kita memetakan jalur belajar lewat dokumentasi scikit-learn, lalu melengkapi peta tersebut dengan pustaka pendamping untuk data tak seimbang, model bertingkat, penjelasan model, pencatatan eksperimen, dan penyajian model sebagai layanan.

Jalur Belajar di Dokumentasi scikit-learn #

Dokumentasi scikit-learn paling mudah dijelajahi bila kita membacanya sebagai empat tahap: dasar, supervised, evaluasi, lalu lanjutan. Tahap dasar menjawab pertanyaan bentuk data dan pemisahan latih-uji. Tahap supervised memetakan keluarga model untuk prediksi. Tahap evaluasi mengajarkan cara mengukur dan membandingkan secara jujur. Tahap lanjutan membuka topik clustering hingga jaringan saraf sederhana.

Dua halaman pada tabel itu layak dibaca paling awal. FAQ menjawab pertanyaan yang hampir semua pemula tanyakan — dari memilih algoritma sampai mengapa keluaran train_test_split berbeda tiap kali dijalankan. Laman toy datasets memperkenalkan dataset latihan bawaan yang dipakai banyak contoh resmi, sehingga kita bisa mencocokkan hasil contoh dengan percobaan sendiri.

Ekosistem di Sekitar scikit-learn #

Seiring perjalanan, kita akan menemui kebutuhan yang jawabannya ada di luar scikit-learn. Pustaka berikut melengkapi masing-masing celah tersebut:

PustakaMengisi kebutuhanChapter Course terkait
imbalanced-learn dengan SMOTEData label yang timpang (misalnya penipuan transaksi yang jarang)Imbalanced learning
XGBoostGradient boosting kelas industri untuk kompetisi dan produksiGradient boosting
SHAPMenjelaskan kontribusi tiap fitur pada prediksi satu dataExplainable AI
MLflowMencatat eksperimen dan menyimpan model secara tertibEksperimen dan pencatatan , menyimpan model
FastAPIMenyajikan model sebagai layanan yang dipanggil aplikasi lainPengenalan API model
Jupyter dan JupyterLabLingkungan notebook tempat semua eksperimen berlangsungPengenalan Jupyter Notebook

Ketiga pustaka pertama memperluas kemampuan pemodelan; MLflow dan FastAPI mengurus sisi pengelolaan dan penyajian; Jupyter adalah rumah tempat semuanya dikerjakan. Menyadari pembagian peran ini membantu kita mencari rujukan yang tepat: masalah akurasi model jarang selesai dengan MLflow, dan masalah penyajian model jarang selesai dengan SHAP.

Pola Enam Baris yang Menjadi Kebiasaan #

Hampir semua latihan machine learning di scikit-learn mengikuti satu pola yang sama: pisahkan data, latih model, ukur hasilnya. Mari kita jalankan pola tersebut pada data harga kopi dan jumlah pembeli — hubungan yang cukup rapat untuk menghasilkan model yang layak.

python
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

# Harga kopi (ribuan rupiah) dan jumlah gelas terjual per hari
X = np.array([[18], [20], [22], [24], [26], [28], [30], [32]])
y = np.array([150, 145, 130, 128, 110, 105, 90, 85])

X_latih, X_uji, y_latih, y_uji = train_test_split(
    X, y, test_size=0.25, random_state=42
)
model = LinearRegression().fit(X_latih, y_latih)

print("Koefisien kemiringan :", round(float(model.coef_[0]), 3))
print("Intercept            :", round(float(model.intercept_), 3))
print("Skor R^2 data uji    :", round(float(model.score(X_uji, y_uji)), 3))

Output yang Dihasilkan:

text
Koefisien kemiringan : -4.83
Intercept            : 237.86
Skor R^2 data uji    : 0.975

Mari kita telaah baris-baris kode di atas:

  1. Baris 11-12 (train_test_split(...)): dua puluh lima persen data disisihkan sebagai data uji. Parameter random_state=42 membekukan pengacakan sehingga pembagian yang sama terulang setiap kali kode dijalankan — kebiasaan yang ditegaskan pada chapter pembagian data latihan dan pengujian .
  2. Baris 13 (LinearRegression().fit(...)): pola buat model → latih dengan fit() berlaku untuk hampir semua model scikit-learn, dari regresi sampai random forest; yang berubah hanya nama kelasnya.
  3. Baris 15-17 (model.coef_, model.intercept_, model.score(...)): koefisien -4,83 berarti tiap kenaikan harga seribu rupiah menyusutkan penjualan sekitar 4,8 gelas, dan skor R² 0,975 pada data uji menandakan garis lurus sudah menjelaskan hampir seluruh variasi data.

Rangkuman #

  • Jelajahi dokumentasi scikit-learn sebagai empat tahap — dasar, supervised, evaluasi, lanjutan — yang sejajar dengan alur Course ini; mulai dari FAQ dan halaman toy datasets.
  • Pustaka pendamping mengisi celah spesifik: imbalanced-learn untuk label timpang, XGBoost untuk boosting, SHAP untuk penjelasan, MLflow untuk eksperimen dan penyimpanan, FastAPI untuk layanan, Jupyter untuk lingkungan kerja.
  • Pola train_test_split → fit → score berlaku seragam di seluruh model scikit-learn; menguasai satu berarti menguasai pintu masuk semuanya.

Kita kini telah mengumpulkan seluruh rujukan belajar: dokumentasi resmi, dataset terbuka, dan referensi per topik dari matematika sampai machine learning. Satu hal terakhir yang akan menemani kita sesudah course selesai adalah kamus istilah — glosarium yang menyingkat seluruh perjalanan ini dalam satu halaman.