Kosakata Machine Learning

Fitur, target, data latih dan uji, pelatihan, serta inferensi sebagai bahasa bersama sepanjang jalur.

Daftar isi

Topik ini menghimpun kosakata inti machine learning yang digunakan secara konsisten pada seluruh jalur. Setiap istilah didefinisikan dalam tabel, sebagian dijelaskan lebih lanjut karena paling sering muncul, lalu semuanya diikat pada objek nyata melalui satu skrip Python. Setelah istilah-istilah ini dikuasai, dokumentasi scikit-learn dan topik-topik lanjutan dapat dibaca dengan lebih sedikit hambatan.

Tabel kosakata inti#

Sebagian besar istilah machine learning berasal dari bahasa Inggris, dan dokumentasi teknisnya juga ditulis dalam bahasa Inggris. Karena itu, bentuk asli setiap istilah perlu dikenali, dan padanan Indonesia yang digunakan perlu disepakati sejak awal. Tabel berikut memuat kosakata yang menjadi acuan seluruh jalur ini. Istilah yang lazim dalam bahasa Inggris tetap ditulis apa adanya, sedangkan istilah yang berpadanan digunakan dalam bentuk Indonesianya. Padanan Inggris pada tanda kurung hanya muncul sekali sebagai pengantar, dan setelah itu bentuk yang sudah dipilih digunakan secara konsisten.

IstilahMakna
fitur (feature)Kolom masukan yang menjelaskan setiap contoh.
targetKolom yang ingin diprediksi oleh model.
labelJawaban sebenarnya pada contoh terawasi, sering dipertukarkan dengan target.
baris dataSatu contoh, yaitu satu pasang fitur dan label yang utuh.
data latih (train set)Bagian dataset yang dilihat model saat pelatihan.
data validasi (validation set)Bagian dataset untuk membandingkan dan menyetel model sebelum penilaian akhir.
data uji (test set)Bagian dataset yang digunakan untuk mengukur kinerja akhir.
modelFungsi berparameter yang memetakan fitur menjadi prediksi.
parameterNilai yang dipelajari model dari data latih.
hyperparameterPengaturan yang ditetapkan manusia sebelum pelatihan dimulai.
pelatihan (training)Proses mencari parameter terbaik dengan meminimalkan kesalahan pada data latih.
inferensi (inference)Proses menghasilkan prediksi untuk contoh baru setelah pelatihan selesai.
prediksiKeluaran model untuk satu contoh.
metrikAngka yang menyatakan seberapa baik model bekerja.

Dua pasang istilah pada tabel sering tertukar dan perlu dibedakan sejak awal. Parameter adalah nilai yang dipelajari oleh model, sedangkan hyperparameter adalah pengaturan yang ditetapkan sebelum pelatihan. Bobot pada persamaan regresi linear adalah contoh parameter karena nilainya diperbarui selama pelatihan berlangsung, sedangkan jumlah cluster, yaitu kelompok data, pada algoritma K-Means adalah contoh hyperparameter. Target dan label juga saling berdekatan, karena target menyatakan kolom yang ingin diprediksi, sedangkan label menyatakan jawaban sebenarnya yang tersimpan pada setiap contoh. Perbedaannya terlihat pada data uji, karena label tersedia untuk mengukur ketepatan prediksi. Pada contoh baru yang sedang diprediksi, label belum ada.

Tiga istilah yang paling sering digunakan#

Pasangan fitur dan target adalah kerangka paling dasar dari setiap masalah terawasi. Fitur berperan sebagai bukti, sedangkan target berperan sebagai hal yang ditebak. Model yang baik menangkap hubungan antara keduanya, sehingga memilih fitur yang relevan sering memberi dampak lebih besar daripada mengganti modelnya. Fitur yang tidak relevan hanya menambah gangguan, sehingga kandidat fitur perlu disaring sejak awal. Notasi XX untuk fitur dan yy untuk target digunakan hampir di seluruh dokumentasi scikit-learn dan di seluruh jalur ini.

Pemisahan data latih, data validasi, dan data uji menjaga evaluasi tetap jujur. Data latih digunakan untuk mencari parameter, data validasi digunakan untuk membandingkan kandidat model dan menyetel hyperparameter, sedangkan data uji ditahan sampai akhir untuk mengukur kinerja sesungguhnya. Apabila evaluasi dilakukan berulang kali pada data uji, data itu perlahan kehilangan perannya sebagai ukuran independen karena keputusan mulai diambil berdasarkan data yang sama. Karena itu, data validasi digunakan sebagai arena pengujian harian, sedangkan data uji dihemat.

Pelatihan dan inferensi membedakan dua masa hidup model. Pelatihan berlangsung sekali atau beberapa kali, berat secara komputasi, dan membutuhkan label. Inferensi berlangsung terus-menerus saat model digunakan dan jauh lebih murah per contoh. Label tidak dibutuhkan pada inferensi, tetapi prediksi yang dihasilkan belum dapat diketahui kebenarannya. Pemisahan kedua masa ini penting saat deployment, yaitu penyajian model kepada pengguna, karena biaya dan infrastrukturnya berbeda. Model yang digunakan setiap hari menjalankan inferensi jutaan kali tanpa pernah berhenti untuk dilatih ulang.

Contoh kode: istilah pada objek nyata#

Skrip berikut mencetak bentuk dan isi dataset iris sehingga setiap istilah pada tabel terikat pada objek yang dapat diperiksa. Bentuk XX dan yy, nama fitur, nama kelas, serta ukuran data latih dan data uji dicetak langsung dari kode. Skrip dijalankan dari folder topik dengan perintah python3 -B demo-kosakata.py.

python demo-kosakata.py
"""Mengikat kosakata machine learning pada objek nyata di dataset iris."""

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# fitur, target, dan baris data
iris = load_iris()
print(f"bentuk fitur  (X): {iris.data.shape}")
print(f"bentuk target (y): {iris.target.shape}")
print(f"nama fitur       : {iris.feature_names}")
print(f"nama kelas       : {iris.target_names.tolist()}")

# data latih dan data uji
X_latih, X_uji, y_latih, y_uji = train_test_split(
    iris.data, iris.target, test_size=0.25, random_state=42
)
print(f"bentuk data latih: X = {X_latih.shape}, y = {y_latih.shape}")
print(f"bentuk data uji  : X = {X_uji.shape}, y = {y_uji.shape}")
text Keluaran
bentuk fitur  (X): (150, 4)
bentuk target (y): (150,)
nama fitur       : ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
nama kelas       : ['setosa', 'versicolor', 'virginica']
bentuk data latih: X = (112, 4), y = (112,)
bentuk data uji  : X = (38, 4), y = (38,)

Keluaran tersebut memperjelas setiap istilah. Bentuk XX berupa (150, 4), artinya 150 baris data dengan 4 fitur. Keempat fitur itu adalah panjang dan lebar sepal (kelopak bunga) serta panjang dan lebar petal (mahkota bunga) dalam sentimeter. Bentuk yy berupa (150,), yaitu satu nilai kelas untuk setiap baris, dan kelasnya bernama setosa, versicolor, serta virginica. Hasil pemisahan membagi 150 baris menjadi 112 baris data latih dan 38 baris data uji, sesuai proporsi sekitar 75 persen dan 25 persen. Dataset kecil ini sengaja dipilih karena bentuknya sederhana, tetapi kerangka istilahnya sama untuk dataset berukuran berapa pun.

Notasi pada keluaran juga mengikuti konvensi yang lazim. Huruf XX kapital menandakan matriks fitur yang berdimensi dua, sedangkan huruf yy kecil menandakan vektor target yang berdimensi satu. Konvensi ini berasal dari notasi matematika dan digunakan secara konsisten pada dokumentasi scikit-learn. Setelah konvensi ini dikenali, dokumentasi resmi dapat dibaca dengan lebih cepat.

Ringkasan#

  • Fitur adalah kolom masukan, target adalah kolom yang diprediksi, dan satu baris data adalah satu contoh.
  • Data latih, data validasi, dan data uji punya peran berbeda, sehingga evaluasi yang jujur memerlukan ketiganya dipisahkan sejak awal.
  • Pelatihan mencari parameter dari data, inferensi menggunakan model yang sudah terlatih untuk contoh baru, dan hyperparameter ditetapkan sebelum pelatihan.

Referensi#