Lompat ke konten utama
←

Machine Learning Dasar dengan Python

Pelajaran 3 dari 16

Dasar machine learning dan menyiapkan data

Membagi data latih dan data uji

Setelah pelajaran ini kamu bisa membagi data dengan train_test_split memakai test_size, random_state, dan stratify.

±13 menitDiperiksa 27 Sep 2026

Materi

Model dinilai dari tebakannya pada data yang belum pernah ia lihat. Karena itu data dibagi dua: data latih untuk fit, dan data uji yang disimpan sampai model selesai. Menilai model dengan data latihnya sendiri memberi skor yang terlalu bagus, karena model hanya perlu mengingat jawaban.

train_test_split(X, y) mengacak baris lalu mengembalikan empat bagian berurutan: X_train, X_test, y_train, y_test. Parameter test_size menentukan porsi uji; bila tidak diisi, porsinya 0,25. Karena pembagiannya acak, hasilnya berubah setiap kali dijalankan kecuali random_state diberi bilangan bulat. Glossary scikit-learn menyebut random_state bilangan bulat sebagai cara mendapatkan hasil yang sama di setiap pemanggilan.

Bila label tidak seimbang, misalnya hanya 10% pelanggan yang berhenti, pengacakan bisa membuat data uji hampir tanpa kelas kecil itu. stratify=y menjaga proporsi setiap kelas sama di data latih dan data uji.

import numpy as np
from sklearn.model_selection import train_test_split

X = np.arange(20).reshape(10, 2)
y = np.array([0, 1] * 5)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.3, random_state=0
)
print(len(X_train), len(X_test))   # 7 3

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Data berisi 80 baris dibagi dengan train_test_split(X, y, test_size=0.2, random_state=1). Berapa baris yang masuk data uji?

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke