Meskipun kursus Persiapan Data dan Engineering Fitur untuk Machine Learning membahas persiapan data umum, kursus ini membahas persiapan khusus untuk pengelompokan.
Dalam pengelompokan, Anda menghitung kemiripan di antara dua contoh dengan menggabungkan semua data fitur untuk contoh tersebut ke dalam nilai numerik. Penggabungan data fitur mengharuskan data memiliki skala yang sama. Bagian ini membahas cara menormalisasi, mentransformasi, dan membuat kuantil, serta membahas alasan kuantil sebagai pilihan default terbaik untuk mengubah distribusi data apa pun. Dengan memiliki pilihan default, Anda dapat mengubah data tanpa memeriksa distribusi data.
Menormalisasi Data
Anda dapat mengubah data untuk beberapa fitur pada skala yang sama dengan menormalisasi data. Secara khusus, normalisasi sangat cocok untuk memproses distribusi data yang paling umum, yaitu distribusi Gaussian. Dibandingkan dengan kuantil, normalisasi memerlukan lebih sedikit data untuk dihitung. Normalisasi data dengan menghitung skor-z sebagai berikut:
\[x'=(x-\mu)/\sigma\\ \begin{align*} \text{where:}\quad \mu &= \text{mean}\\ \sigma &= \text{standard deviation}\\ \end{align*} \]
Mari kita lihat kesamaan antara contoh dengan dan tanpa normalisasi. Pada Gambar 1, Anda mendapati bahwa warna merah tampaknya lebih mirip biru daripada kuning. Namun, fitur pada sumbu x dan y tidak memiliki skala yang sama. Oleh karena itu, kesamaan yang diamati mungkin merupakan artefak dari data yang tidak diskalakan. Setelah normalisasi menggunakan skor-z, semua fitur memiliki skala yang sama. Sekarang, Anda mendapati bahwa warna merah sebenarnya lebih mirip dengan warna kuning. Jadi, setelah menormalisasi data, Anda dapat menghitung kesamaan dengan lebih akurat.
Singkatnya, terapkan normalisasi jika salah satu hal berikut berlaku:
- Data Anda memiliki distribusi Gaussian.
- Set data Anda tidak memiliki cukup data untuk membuat kuantil.
Menggunakan Transformasi Log
Terkadang, set data sesuai dengan distribusi power law yang mengelompokkan data di bagian bawah. Pada Gambar 2, merah lebih dekat ke kuning daripada biru.
Proses distribusi power-law menggunakan transformasi log. Pada Gambar 3, transformasi log menciptakan distribusi yang lebih halus, dan merah lebih dekat ke biru daripada kuning.
Menggunakan Quantiles
Normalisasi dan transformasi log menangani distribusi data tertentu. Bagaimana jika data tidak sesuai dengan distribusi Gaussian atau hukum daya? Apakah ada pendekatan umum yang berlaku untuk setiap distribusi data?
Mari kita coba memproses proses distribusi ini lebih dulu.
Secara intuitif, jika kedua contoh hanya memiliki beberapa contoh di antara keduanya, kedua contoh ini serupa, terlepas dari nilai keduanya. Sebaliknya, jika kedua contoh tersebut memiliki banyak contoh di antara keduanya, kedua contoh tersebut akan kurang mirip. Dengan demikian, kesamaan antara dua contoh akan menurun seiring dengan meningkatnya jumlah contoh di antara contoh tersebut.
Menormalisasi data hanya mereproduksi distribusi data karena normalisasi adalah transformasi linear. Menerapkan transformasi log juga tidak akan memunculkan intuisi Anda tentang cara kerja kesamaan, seperti yang ditunjukkan pada Gambar 5 di bawah.
Sebagai gantinya, bagi data menjadi interval dengan setiap interval berisi jumlah contoh yang sama. Batas interval ini disebut kuantil.
Konversi data Anda menjadi kuantil dengan melakukan langkah-langkah berikut:
- Tentukan jumlah interval.
- Tentukan interval sehingga setiap interval memiliki jumlah contoh yang sama.
- Ganti setiap contoh dengan indeks interval kemunculannya.
- Pindahkan indeks ke rentang yang sama dengan data fitur lainnya dengan menskalakan nilai indeks ke [0,1].
Setelah mengonversi data menjadi kuantil, kemiripan antara dua contoh tersebut berbanding terbalik dengan jumlah contoh di antara kedua contoh tersebut. Atau, secara matematis, dengan “x” adalah contoh dalam set data:
- \(sim(A,B) \approx 1 − | \text{prob}[x > A] − \text{prob}[x > B] |\)
- \(sim(A,B) \approx 1 − | \text{quantile}(A) − \text{quantile}(B) |\)
Quantiles adalah pilihan default terbaik untuk mengubah data. Namun, untuk membuat kuantil yang merupakan indikator andal dari distribusi data yang mendasarinya, Anda membutuhkan banyak data. Prinsipnya adalah untuk membuat \(n\) kuantil, Anda harus memiliki setidaknya \(10n\) contoh. Jika Anda tidak memiliki cukup data, tetap gunakan normalisasi.
Periksa Pemahaman Anda
Untuk pertanyaan berikut, asumsikan Anda memiliki data yang cukup untuk membuat kuantil.
Pertanyaan Satu
- Distribusi data adalah Gaussian.
- Anda memiliki insight tentang apa yang diwakili oleh data, yang memberi tahu Anda bahwa data tidak boleh diubah secara nonlinear. Akibatnya, Anda menghindari kuantil dan memilih normalisasi sebagai gantinya.
Pertanyaan Dua
Data Tidak Ada
Jika set data memiliki contoh dengan nilai yang tidak ada untuk fitur tertentu, tetapi contoh tersebut jarang terjadi, Anda dapat menghapus contoh tersebut. Jika contoh seperti itu sering terjadi, kita dapat memilih untuk menghapus semua fitur ini, atau memprediksi nilai yang tidak ada dari contoh lain dengan menggunakan model machine learning. Misalnya, Anda dapat menyimpulkan data numerik yang tidak ada dengan menggunakan model regresi yang dilatih pada data fitur yang ada.