5. Train-Test Split Algorithm
Dataset diacak lewat indeks, lalu dibagi 80% data latih dan 20% data uji.
Perintah soal
Diberikan sebuah dataset array 2 dimensi sebanyak 50 data sampel. Buat fungsi kustom di PHP native train_test_split($data, $test_size = 0.2, $shuffle = true) yang membagi dataset menjadi dua kelompok: 80% Data Latih (train) dan 20% Data Uji (test).
- Data diacak dengan algoritma pengacakan indeks
- Tidak ada duplikasi data antar subset
- Tampilkan jumlah baris masing-masing himpunan data hasil pembagian
Hasil tersimpan ke database (run #4). Lihat dashboard realtime
Total dataset
50
baris
Data latih (train)
40
baris
Data uji (test)
10
baris
test_size
0,20
shuffle: aktif
Proporsi pembagian
Kembali ke default 80:20
Data latih: 40 baris
Data uji: 10 baris
80%
20%
0 data gandaID yang muncul di data latih sekaligus data uji
50 dari 50 data terpakaiSeluruh data masuk ke salah satu subset
Data latih (train)
40 baris| ID | fitur_x | label_y |
|---|---|---|
| 35 | 40 | 0 |
| 21 | 52 | 1 |
| 6 | 18 | 1 |
| 17 | 54 | 0 |
| 13 | 100 | 1 |
| 22 | 86 | 1 |
| 3 | 70 | 1 |
| 32 | 65 | 0 |
| 28 | 78 | 1 |
| 23 | 87 | 1 |
| 34 | 39 | 0 |
| 11 | 91 | 1 |
| 30 | 83 | 1 |
| 26 | 38 | 0 |
| 47 | 56 | 0 |
| 33 | 92 | 0 |
| 36 | 24 | 1 |
| 15 | 19 | 1 |
| 45 | 86 | 1 |
| 44 | 71 | 1 |
| 14 | 36 | 1 |
| 1 | 14 | 1 |
| 49 | 47 | 0 |
| 7 | 72 | 0 |
| 24 | 71 | 1 |
| 41 | 27 | 1 |
| 29 | 67 | 0 |
| 2 | 60 | 0 |
| 46 | 20 | 1 |
| 48 | 63 | 1 |
| 50 | 20 | 0 |
| 27 | 53 | 0 |
| 12 | 63 | 1 |
| 25 | 22 | 0 |
| 18 | 58 | 1 |
| 43 | 59 | 0 |
| 40 | 18 | 1 |
| 10 | 56 | 1 |
| 9 | 84 | 1 |
| 16 | 62 | 1 |
Data uji (test)
10 baris| ID | fitur_x | label_y |
|---|---|---|
| 38 | 20 | 0 |
| 8 | 79 | 1 |
| 31 | 44 | 0 |
| 4 | 37 | 1 |
| 42 | 44 | 1 |
| 5 | 70 | 0 |
| 19 | 99 | 0 |
| 37 | 62 | 0 |
| 20 | 71 | 0 |
| 39 | 52 | 0 |
Kelola dataset sampel (CRUD)
50 sampel di tabel dataset_split
| ID | fitur_x | label_y | Aksi |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 | |||
| 6 | |||
| 7 | |||
| 8 | |||
| 9 | |||
| 10 | |||
| 11 | |||
| 12 | |||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | |||
| 17 | |||
| 18 | |||
| 19 | |||
| 20 | |||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | |||
| 25 | |||
| 26 | |||
| 27 | |||
| 28 | |||
| 29 | |||
| 30 | |||
| 31 | |||
| 32 | |||
| 33 | |||
| 34 | |||
| 35 | |||
| 36 | |||
| 37 | |||
| 38 | |||
| 39 | |||
| 40 | |||
| 41 | |||
| 42 | |||
| 43 | |||
| 44 | |||
| 45 | |||
| 46 | |||
| 47 | |||
| 48 | |||
| 49 | |||
| 50 |
Setelah dataset diubah, halaman ini otomatis membagi ulang dataset terbaru. Reset mengembalikan 50 sampel awal.