Menormalkan Data

Penting

Dukungan untuk Studio Azure Machine Learning (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda transisi ke Azure Machine Learning sebelum tanggal tersebut.

Mulai 1 Desember 2021, Anda tidak akan dapat membuat sumber daya Studio Azure Machine Learning (klasik) baru. Hingga 31 Agustus 2024, Anda dapat terus menggunakan sumber daya Pembelajaran Mesin Studio (klasik) yang ada.

ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.

Menskalakan ulang data numerik untuk membatasi nilai himpunan data ke rentang standar

Kategori: Transformasi Data / Skalakan dan Kurangi

Catatan

Berlaku untuk: hanya Pembelajaran Mesin Studio (klasik)

Modul seret dan letakkan serupa tersedia di perancang Azure Machine Learning.

Ringkasan Modul

Artikel ini menjelaskan cara menggunakan modul Normalisasi Data di Pembelajaran Mesin Studio (klasik), untuk mengubah himpunan data melalui normalisasi.

Normalisasi adalah teknik yang sering diterapkan sebagai bagian dari penyiapan data untuk pembelajaran mesin. Tujuan normalisasi adalah mengubah nilai kolom numerik dalam himpunan data untuk menggunakan skala umum, tanpa mendistorsi perbedaan dalam rentang nilai atau kehilangan informasi. Normalisasi juga diperlukan untuk beberapa algoritma untuk membuat model data dengan benar.

Misalnya, asumsikan himpunan data input Anda berisi satu kolom dengan nilai mulai dari 0 hingga 1, dan kolom lain dengan nilai berkisar antara 10.000 hingga 100.000. Perbedaan besar skala pada angka dapat menyebabkan masalah ketika Anda mencoba menggabungkan nilai sebagai fitur selama pemodelan.

Normalisasi menghindari masalah ini dengan membuat nilai baru yang mempertahankan distribusi umum dan rasio dalam data sumber, sambil mempertahankan nilai dalam skala yang diterapkan di semua kolom numerik yang digunakan dalam model.

Modul ini menawarkan beberapa opsi untuk mengubah data numerik:

  • Anda dapat mengubah semua nilai menjadi skala 0-1, atau mengubah nilai dengan mewakilinya sebagai peringkat persentil alih-alih nilai absolut.
  • Anda bisa menerapkan normalisasi ke satu kolom, atau ke beberapa kolom dalam himpunan data yang sama.
  • Jika Anda perlu mengulangi eksperimen, atau menerapkan langkah-langkah normalisasi yang sama ke data lain, Anda dapat menyimpan langkah-langkah sebagai transformasi normalisasi, dan menerapkannya ke himpunan data lain yang memiliki skema yang sama.

Peringatan

Beberapa algoritma mengharuskan data dinormalisasi sebelum melatih model. Algoritma lain melakukan penskalaan atau normalisasi data mereka sendiri. Oleh karena itu, Saat Anda memilih algoritma pembelajaran mesin untuk digunakan dalam membangun model prediktif, pastikan untuk meninjau persyaratan data algoritma sebelum menerapkan normalisasi ke data pelatihan.

Cara mengonfigurasi Normalisasi Data

Anda hanya dapat menerapkan satu metode normalisasi sekaligus dengan menggunakan modul ini. Oleh karena itu, metode normalisasi yang sama diterapkan ke semua kolom yang Anda pilih. Untuk menggunakan metode normalisasi yang berbeda, gunakan instans kedua Normalisasi Data.

  1. Tambahkan modul Normalisasi Data ke eksperimen Anda. Anda dapat menemukan modul di Pembelajaran Mesin Studio (klasik), di bawah Transformasi Data, dalam kategori Skala dan Kurangi.

  2. Sambungkan himpunan data yang berisi setidaknya satu kolom dari semua angka.

  3. Gunakan Pemilih Kolom untuk memilih kolom numerik yang akan dinormalkan. Jika Anda tidak memilih kolom individual, secara default semua kolom tipe numerik dalam input akan disertakan, dan proses normalisasi yang sama diterapkan ke semua kolom yang dipilih.

    Ini dapat menyebabkan hasil yang aneh jika Anda menyertakan kolom numerik yang seharusnya tidak dinormalisasi! Selalu periksa kolom dengan hati-hati.

    Jika tidak ada kolom numerik yang terdeteksi, periksa metadata kolom untuk memverifikasi bahwa jenis data kolom adalah jenis numerik yang didukung.

    Tip

    Untuk memastikan bahwa kolom dengan jenis tertentu disediakan sebagai input, coba gunakan modul Pilih Kolom di Himpunan Data sebelum Menormalkan Data.

  4. Gunakan 0 untuk kolom konstan saat dicentang: Pilih opsi ini bila kolom numerik mana pun berisi satu nilai yang tidak berubah. Langkah ini memastikan bahwa kolom tersebut tidak digunakan dalam operasi normalisasi.

  5. Dari daftar dropdown Metode transformasi , pilih satu fungsi matematika untuk diterapkan ke semua kolom yang dipilih.

    • Zscore: Mengonversi semua nilai menjadi z-score.

      Nilai dalam kolom diubah menggunakan rumus berikut:

      normalization using z-scores

      Rata-rata dan simpangan baku dihitung untuk setiap kolom secara terpisah. Simpangan baku populasi digunakan.

    • MinMax: Min-max normalizer secara linier mengubah skala setiap fitur ke interval [0,1].

      Penghitungan ulang ke interval [0,1] dilakukan dengan menggeser nilai setiap fitur sehingga nilai minimal adalah 0, dan kemudian membagi dengan nilai maksimal baru (yang merupakan perbedaan antara nilai maksimal dan minimal asli).

      Nilai dalam kolom diubah menggunakan rumus berikut:

      normalization using the min-max function

    • Logistik: Nilai dalam kolom diubah menggunakan rumus berikut:

      formula for normalization by logistic function

    • LogNormal: Opsi ini mengonversi semua nilai ke skala lognormal.

      Nilai dalam kolom diubah menggunakan rumus berikut:

      formula log-normal distribution

      Berikut μ dan σ adalah parameter distribusi, dihitung secara empiris dari data sebagai perkiraan kemungkinan maksimum, untuk setiap kolom secara terpisah.

    • TanH: Semua nilai dikonversi menjadi tangen hiperbolik.

      Nilai dalam kolom diubah menggunakan rumus berikut:

      normalization using the tanh function

  6. Jalankan eksperimen, atau klik dua kali modul Normalisasi Data dan pilih Jalankan Dipilih.

Hasil

Modul Menormalkan Data menghasilkan dua output:

  • Untuk melihat nilai yang diubah, klik kanan modul, pilih Himpunan data yang ditransformasi, dan klik Visualisasikan.

    Secara default, nilai diubah di tempat. Jika Anda ingin membandingkan nilai yang diubah dengan nilai asli, gunakan modul Tambahkan Kolom untuk menyusun ulang himpunan data dan menampilkan kolom secara berdampingan.

  • Untuk menyimpan transformasi sehingga Anda dapat menerapkan metode normalisasi yang sama ke himpunan data serupa lainnya, klik kanan modul, pilih Fungsi transformasi, dan klik Simpan sebagai Transformasi.

    Kemudian Anda dapat memuat transformasi yang disimpan dari grup Transformasi panel navigasi kiri dan menerapkannya ke himpunan data dengan skema yang sama dengan menggunakan Terapkan Transformasi.

Contoh

Untuk contoh bagaimana normalisasi digunakan dalam pembelajaran mesin, lihat Galeri Azure AI:

  • Prediksi risiko kredit: Dalam sampel ini, normalisasi diterapkan ke semua data numerik kecuali kolom kelas, skor risiko kredit. Contoh ini menggunakan transformasi tanh , yang mengonversi semua fitur numerik menjadi nilai dalam rentang 0-1.

Catatan teknis

Modul ini hanya mendukung metode normalisasi standar yang tercantum di bagian Cara , dan tidak mendukung normalisasi matriks atau transformasi kompleks lainnya.

Jika Anda perlu membuat metode normalisasi kustom, Anda dapat menggunakan modul Jalankan Skrip R atau Jalankan Skrip Python untuk menghitung dan menerapkan transformasi.

Algoritma yang menerapkan normalisasi

Menormalkan fitur sehingga menggunakan skala umum adalah persyaratan umum untuk banyak algoritma pembelajaran mesin.

  • Dalam algoritma klasifikasi linier, instans dilihat sebagai vektor di ruang multi-dimensi. Karena rentang nilai data mentah sangat bervariasi, beberapa fungsi objektif tidak berfungsi dengan baik tanpa normalisasi. Misalnya, jika salah satu fitur memiliki rentang nilai yang luas, jarak antar titik diatur oleh fitur khusus ini.

    Oleh karena itu, fitur numerik harus dinormalisasi sehingga setiap fitur berkontribusi kira-kira proporsional dengan jarak akhir. Ini dapat memberikan manfaat kecepatan dan akurasi yang signifikan.

  • Saat menggunakan Regresi Logistik dan algoritma Rata-rata Perceptron , secara default, fitur dinormalisasi sebelum pelatihan.

Bacaan dan sumber daya lebih lanjut

Jika Anda tidak yakin jenis normalisasi mana yang sesuai dengan data Anda, lihat sumber daya ini:

  • Merekomendasikan Modul untuk Data Saya: Modul kustom ini oleh anggota tim Azure ML mengevaluasi himpunan data Anda dan merekomendasikan langkah-langkah untuk membersihkan dan menskalakan data.

  • Penskalaan fitur: Artikel ini di Wikipedia menjelaskan metode dasar yang digunakan untuk menormalkan data numerik.

  • Persiapan Data untuk Penggalian Data mencakup banyak langkah persiapan data secara mendalam. Lihat Bab 7 untuk diskusi tentang normalisasi data.

Input yang diharapkan

Nama Jenis Deskripsi
Himpunan Data Tabel Data Himpunan data input

Parameter modul

Nama Rentang Jenis Default Deskripsi
Metode transformasi apa pun TransformationMethods ZScore Pilih metode matematika yang digunakan untuk penskalaan
Kolom yang akan diubah apa pun ColumnSelection NumericAll Pilih semua kolom tempat transformasi yang dipilih harus diterapkan

Output

Nama Jenis Deskripsi
Himpunan data yang ditransformasi Tabel Data Himpunan data yang ditransformasi
Fungsi transformasi Antarmuka ITransform Definisi fungsi transformasi, yang dapat diterapkan ke himpunan data lain

Pengecualian

Pengecualian Deskripsi
Kesalahan 0001 Pengecualian terjadi jika satu atau beberapa kolom himpunan data tertentu tidak dapat ditemukan.
Kesalahan 0003 Pengecualian terjadi jika satu atau beberapa input null atau kosong.
Kesalahan 0017 Pengecualian terjadi jika satu atau beberapa kolom yang ditentukan memiliki jenis yang tidak didukung oleh modul saat ini.
Kesalahan 0020 Pengecualian terjadi jika jumlah kolom di beberapa himpunan data yang diteruskan ke modul terlalu kecil.
Kesalahan 0021 Pengecualian terjadi jika jumlah kolom di beberapa himpunan data yang diteruskan ke modul terlalu kecil.

Untuk daftar kesalahan khusus untuk modul Studio (klasik), lihat kode Kesalahan Pembelajaran Mesin.

Untuk daftar pengecualian API, lihat Pembelajaran Mesin Kode Kesalahan REST API.

Lihat juga

Menskalakan dan Mengurangi