DSDataLabPRAKTIKUM PHP NATIVE Lihat semua soal ↗
MODUL PRAKTIKUM · SOAL 03

Pembersihan & Normalisasi Data

Menangani missing value dengan mean imputation lalu mengubah skala nilai menggunakan Min-Max normalization.

03/ 05

Hasil proses data

Nilai kosong ditandai sebagai missing value, lalu diganti menggunakan mean dari nilai valid.

Mean nilai valid82,50tanpa null dan string kosong
Nilai minimum65,00setelah imputasi
Nilai maksimum100,00setelah imputasi
IndeksData awalStatusSetelah imputasiMin-Max (0–1)
180Valid80,000,4286
2nullDiimputasi82,500,5000
375Valid75,000,2857
4"" (kosong)Diimputasi82,500,5000
590Valid90,000,7143
6nullDiimputasi82,500,5000
765Valid65,000,0000
885Valid85,000,5714
9100Valid100,001,0000

Kode PHP Native

Rumus normalisasi Min-Max: (x − nilai minimum) / (nilai maksimum − nilai minimum).

$data = [80, null, 75, "", 90, null, 65, 85, 100]; // Ambil nilai valid untuk menghitung mean $valid = array_filter($data, fn($v) => $v !== null && $v !== "" && is_numeric($v) ); $mean = array_sum($valid) / count($valid); // Ganti null dan string kosong dengan mean $clean = array_map(fn($v) => ($v === null || $v === "") ? $mean : (float)$v, $data ); // Normalisasi Min-Max ke rentang 0 sampai 1 $min = min($clean); $max = max($clean); $normalized = array_map(fn($x) => ($max == $min) ? 0 : ($x - $min) / ($max - $min), $clean );
Interpretasi: Nilai kosong diganti dengan rata-rata nilai valid, yaitu 82,50. Setelah normalisasi, nilai minimum menjadi 0 dan nilai maksimum menjadi 1.