Topik ini memetakan empat prasyarat untuk mengikuti jalur machine learning ini, yaitu Python, pandas, statistika, dan aljabar linear. Setiap prasyarat dibatasi pada kedalaman yang benar-benar diperlukan. Peta ini menjaga persiapan tetap realistis, karena persyaratan yang dilebihkan menunda pemodelan pertama, sedangkan persyaratan yang diringkas membuat contoh sulit dibaca. Setelah topik ini tuntas, konsep yang perlu disegarkan beserta kedalamannya dapat ditentukan melalui tabel pemetaan dan satu contoh terukur.
Empat prasyarat dan kedalamannya#
Prasyarat pertama adalah Python pada tingkat fungsi, list, dict, dan import modul. Seluruh contoh pada jalur ini berupa skrip pendek yang memanggil fungsi dari pustaka, membungkus logika kecil dalam fungsi sendiri, dan mengimpor data dari berkas. Pemahaman tentang class, decorator, dan pemrograman asinkron tidak diperlukan untuk mengikuti contoh apa pun. Kemampuan membaca pesan error Python justru lebih bernilai, karena sebagian besar pekerjaan awal berupa perbaikan argumen yang keliru.
Prasyarat kedua adalah pandas untuk memuat dan menginspeksi dataset. Kedalaman yang diperlukan mencakup DataFrame sebagai struktur tabel, pembacaan berkas CSV dengan read_csv, seleksi kolom, dan ringkasan statistik seperti describe. Operasi lanjutan seperti pivot, penggabungan bertingkat, dan penanganan deret waktu baru diperlukan pada topik yang memang memakainya. Hampir setiap topik pada jalur ini memulai pekerjaan dengan memuat data ke dalam DataFrame, sehingga kefasihan pada tiga operasi dasar itu terpakai berulang-ulang.
Prasyarat ketiga adalah statistika dasar, yaitu rata-rata, varians, standar deviasi, korelasi, dan distribusi. Varians sampel mengukur penyebaran data di sekitar rata-ratanya:
Konsep ini diperlukan secara langsung, karena metrik evaluasi pada jalur ini dibangun di atasnya. RMSE (root mean squared error), yaitu akar dari rata-rata kuadrat error prediksi, dibangun dari konsep rata-rata dan kuadrat. Korelasi antara dua variabel juga dihitung dengan melibatkan standar deviasi keduanya. Tanpa pemahaman itu, angka evaluasi hanya dibaca sebagai skor tinggi atau rendah tanpa makna.
Prasyarat keempat adalah aljabar linear pada tingkat vektor, matriks, dan perkalian titik. Pada dataset, satu baris adalah vektor fitur, sedangkan dataset utuh adalah matriks. Prediksi model linear adalah perkalian titik antara vektor bobot, yaitu parameter model, dan vektor fitur:
Ketiga bentuk dasar itu sudah cukup untuk skrip contoh pada bagian berikutnya. Konsep yang lebih lanjut, seperti dekomposisi nilai eigen (eigen decomposition), baru muncul pada topik reduksi dimensi dan cukup dipahami intuisinya di tempat itu. Tabel berikut memetakan setiap prasyarat ke penggunaannya pada jalur, sehingga persiapan dapat diprioritaskan sesuai kebutuhan.
| Prasyarat | Kedalaman minimal | Dipakai di jalur ini untuk |
|---|---|---|
| Python | fungsi, list, dict, import modul | seluruh skrip contoh dan pemanggilan pipeline |
| pandas | DataFrame, read_csv, seleksi kolom | memuat dataset, inspeksi data, tabulasi metrik |
| Statistika | rata-rata, varians, standar deviasi, korelasi, distribusi | metrik regresi, confusion matrix, cross-validation |
| Aljabar linear | vektor, matriks, perkalian titik | regresi linear, penskalaan fitur, PCA |
Contoh penakaran dengan kode#
Skrip berikut menggunakan numpy dan pandas dalam bentuk yang benar-benar muncul pada jalur ini, dengan data nilai ujian enam peserta pada dua mata kuliah. Bagian numpy menghitung prediksi berbobot melalui perkalian titik dan menampilkan ukuran matriks. Bagian pandas menunjukkan seleksi kolom serta ringkasan describe yang menjadi cara standar menginspeksi dataset baru.
"""Contoh kecil numpy dan pandas untuk menakar prasyarat jalur."""
import numpy as np
import pandas as pd
pd.set_option("display.width", 80)
# aljabar linear: jumlah berbobot fitur, prediksi paling sederhana
bobot = np.array([0.6, 0.4])
fitur = np.array([80.0, 70.0])
print(f"perkalian titik bobot dan fitur: {np.dot(bobot, fitur):.2f}")
matriks = np.array([[80.0, 70.0], [90.0, 85.0]])
print(f"ukuran matriks (baris, kolom): {matriks.shape}")
# pandas: ringkasan statistik nilai ujian enam peserta
nilai = pd.DataFrame({
"matematika": [80, 90, 70, 85, 60, 75],
"statistika": [75, 88, 65, 80, 62, 72],
})
print(f"rata-rata kolom statistika: {nilai['statistika'].mean():.2f}")
print(nilai.describe())perkalian titik bobot dan fitur: 76.00
ukuran matriks (baris, kolom): (2, 2)
rata-rata kolom statistika: 73.67
matematika statistika
count 6.000000 6.000000
mean 76.666667 73.666667
std 10.801234 9.605554
min 60.000000 62.000000
25% 71.250000 66.750000
50% 77.500000 73.500000
75% 83.750000 78.750000
max 90.000000 88.000000Keluaran mengikuti urutan skrip. Angka 76.00 adalah perkalian titik bobot [0.6, 0.4] terhadap fitur [80.0, 70.0], yaitu jumlah berbobot dari dua komponen penilaian. Ukuran matriks (2, 2) menyatakan dua baris contoh dengan dua kolom fitur, sesuai konvensi baris-contoh dan kolom-fitur yang umum digunakan pustaka numerik Python. Rata-rata kolom statistika sebesar 73.67 diperoleh melalui seleksi kolom nilai['statistika'], operasi pandas dasar yang digunakan berulang pada jalur ini. Tabel describe melengkapi inspeksi dengan count, mean, std, minimum, kuartil pada baris 25% dan 75%, median pada baris 50%, serta maksimum. Baris std memuat standar deviasi sampel.
Tidak ada satu pun operasi pada skrip itu yang menuntut pengetahuan di luar peta di atas. Perkalian titik dihitung dengan satu fungsi, matriks dibuat dari list dua tingkat, dan ringkasan statistik dihasilkan oleh satu pemanggilan. Inilah ukuran kedalaman yang diminta, yaitu kefasihan membaca dan memanggil, bukan kemampuan membuktikan teorema.
Kedalaman yang cukup, bukan sempurna#
Peta di atas sengaja menahan diri. Persiapan yang menunggu penguasaan seluruh teori sebelum memodelkan data pertama hampir selalu berakhir tanpa pemodelan sama sekali. Daftar prasyarat terasa tidak ada habisnya, sedangkan hasil yang tidak pernah terlihat mengurangi ketekunan belajar. Konsep yang benar-benar diperlukan justru cepat dikuasai ketika langsung diuji pada data. Kedalaman ekstra tetap diperlukan pada beberapa topik tertentu, misalnya turunan pada gradient descent dan dekomposisi matriks pada PCA (principal component analysis). Kedalaman itu dicari pada saat konsep yang memerlukannya muncul.
Cara menyegarkan yang efektif adalah membaca dokumentasi resmi langsung pada halaman yang relevan, bukan menuntaskan buku teks dari awal. Panduan singkat pandas dan halaman quickstart NumPy mencakup hampir semua sintaks yang dipakai pada jalur ini. Dokumentasi resmi menjelaskan perilaku versi yang benar-benar terpasang, sedangkan buku teks menyusun materinya menurut urutan kurikulum yang tidak selalu sama dengan urutan topik pada jalur ini. Konsep statistika dan aljabar linear paling cepat disegarkan dengan menghitung ulang contoh kecil seperti skrip di atas, karena setiap angkanya dapat diverifikasi dengan kalkulator.
Ringkasan#
- Empat prasyarat jalur ini adalah Python, pandas, statistika, dan aljabar linear, masing-masing hanya pada kedalaman konsep inti.
- Prediksi model linear ditulis sebagai perkalian titik vektor bobot dan vektor fitur, sehingga aljabar linear dipakai sejak contoh pertama.
- Statistika dasar menjadi bahan baku metrik evaluasi, sedangkan pandas menyediakan pemuatan dan inspeksi dataset.
- Kedalaman tambahan dicari pada saat konsep yang memerlukannya muncul, bukan dituntaskan sebelum pemodelan pertama.
Referensi#
- 10 minutes to pandas — pandas — Tur singkat konsep DataFrame yang menjadi dasar prasyarat pandas.
- pandas.DataFrame.describe — pandas — Halaman API ringkasan statistik yang dipakai contoh skrip.
- NumPy quickstart — NumPy — Pengantar resmi array, vektor, matriks, dan operasinya.