Bagikan melalui


Mengelompokkan Data ke Dalam Tempat Sampah

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.

Menempatkan data numerik ke dalam bin

Kategori: Menskalakan dan Mengurangi

Catatan

Berlaku untuk: Pembelajaran Mesin Studio (klasik) saja

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

Ringkasan Modul

Artikel ini menjelaskan cara menggunakan modul Group Data into Bins di Pembelajaran Mesin Studio (klasik), untuk mengelompokkan nomor atau mengubah distribusi data berkelanjutan.

Modul Kelompokkan Data ke dalam Bin mendukung beberapa opsi untuk mengikat data. Anda dapat menyesuaikan bagaimana tepi bin diatur dan bagaimana nilai dibagikan ke dalam bin. Misalnya, Anda dapat:

  • Mengetik serangkaian nilai secara manual untuk berfungsi sebagai batas biner.
  • Hitung skor entropi untuk menentukan nilai informasi untuk setiap rentang, untuk mengoptimalkan bin dalam model prediktif. + Tetapkan nilai ke bin dengan menggunakan kuantil, atau peringkat persentil.
  • Mengontrol jumlah nilai di setiap bin juga dapat dikontrol.
  • Paksa distribusi nilai yang merata ke dalam bin.

Selengkapnya tentang pengelompokan dan pengelompokan

Mengikat atau mengelompokkan data (terkadang disebut kuantisasi) adalah alat penting dalam menyiapkan data numerik untuk pembelajaran mesin, dan berguna dalam skenario seperti ini:

  • Kolom angka berkelanjutan memiliki terlalu banyak nilai unik untuk dimodelkan secara efektif, sehingga Anda secara otomatis atau manual menetapkan nilai ke grup, untuk membuat sekumpulan rentang diskrit yang lebih kecil.

    Misalnya, Anda dapat menggunakan skor entropi yang dihasilkan oleh Data Grup ke dalam Bins untuk mengidentifikasi pengelompokan nilai data yang optimal, dan menggunakan grup tersebut sebagai fitur dalam model Anda.

  • Ganti kolom angka dengan nilai kategoris yang mewakili rentang tertentu.

    Misalnya, Anda mungkin ingin mengelompokkan nilai dalam kolom usia dengan menentukan rentang kustom, seperti 1-15, 16-22, 23-30, dan lain sebagainya untuk demografi pengguna.

  • Himpunan data memiliki beberapa nilai ekstrem, semuanya jauh di luar rentang yang diharapkan, dan nilai-nilai ini memiliki pengaruh yang terlalu besar pada model terlatih. Untuk mengurangi bias dalam model, Anda dapat mengubah data menjadi distribusi yang seragam, menggunakan metode kuantil (atau setara tinggi).

    Dengan metode ini, modul Kelompokkan Data ke dalam Bin menentukan lokasi bin dan lebar bin yang ideal untuk memastikan bahwa jumlah sampel yang kira-kira sama termasuk dalam setiap bin. Kemudian, tergantung pada metode normalisasi yang Anda pilih, nilai dalam bin ditransformasikan baik menjadi persentil atau dipetakan ke nomor bin.

Contoh pengelompokan

Diagram berikut menunjukkan distribusi nilai numerik sebelum dan sesudah pengelompokan dengan metode kuantil. Perhatikan bahwa dibandingkan dengan data mentah di sebelah kiri, data telah di-bin dan diubah ke skala unit-normal.

raw data and data binned and normalized

Pendekatan lain untuk binning ditunjukkan dalam sampel deteksi kanker Payudara , di mana Data Grup ke Dalam Bin digunakan untuk menetapkan pasien ke berbagai kelompok kontrol dan pengujian, untuk menjamin bahwa setiap kelompok memiliki jumlah pasien yang sama.

Karena ada begitu banyak cara untuk mengelompokkan data, semua dapat dikustomisasi, kami sarankan Anda bereksperimen dengan metode dan nilai yang berbeda. Bagian Contoh berisi tautan ke eksperimen sampel yang menunjukkan cara menggunakan algoritma binning yang berbeda.

Cara mengonfigurasi Group Data ke dalam bin

  1. Tambahkan modul Group Data Into Bins ke eksperimen Anda di Studio (klasik). Anda dapat menemukan modul ini dalam kategori Transformasi Data, di bawah Skalakan dan Kurangi.

  2. Sambungkan himpunan data yang memiliki data numerik ke bin. Kuantisasi hanya dapat diterapkan ke kolom yang berisi data numerik.

    Jika himpunan data berisi kolom non-numerik, gunakan modul Pilih Kolom dalam Himpunan Data untuk memilih subset kolom untuk dikerjakan.

  3. Tentukan mode pengelompokan. Mode binning menentukan parameter lain jadi pastikan untuk memilih opsi Mode binning terlebih dahulu! Tipe pengelompokan berikut ini didukung:

    MDL Entropy: Metode ini mengharuskan Anda memilih kolom yang ingin Anda prediksi dan kolom atau kolom yang ingin Anda kelompokkan ke dalam bin. Kemudian membuat melewati data dan mencoba menentukan jumlah bin yang meminimalkan entropi. Dengan kata lain, ia memilih sejumlah bin yang memungkinkan kolom data untuk memprediksi kolom target dengan paling baik. Kemudian mengembalikan nomor bin yang terkait dengan setiap baris data Anda dalam kolom bernama <colname>quantized.

    Jika metode Entropy MDL tidak dapat menemukan cara untuk awalnya mengikat data untuk membuat prediksi yang baik, metode ini menetapkan semua data ke bin seragam. Ini tidak berarti bahwa kolom bukan prediktor yang baik. Dalam hal ini, Anda dapat menggunakan metode lain untuk menemukan jumlah bin yang akan meminimalkan entropi, dan membuat data menjadi prediktor yang lebih baik.

    Metode ini tidak mengembalikan skor entropi yang sebenarnya.

    Kuantil: Metode kuantil menetapkan nilai untuk bin berdasarkan peringkat persentil. Kuantil juga dikenal sebagai binning tinggi yang sama.

    Lebar Sama Dengan: Dengan opsi ini, Anda harus menentukan jumlah total bin. Nilai dari kolom data ditempatkan di bin sehingga setiap bin memiliki interval yang sama antara nilai awal dan akhir. Akibatnya, beberapa bin mungkin memiliki lebih banyak nilai jika data berkumpul di sekitar titik tertentu.

    Tepi Kustom: Anda dapat menentukan nilai yang memulai setiap bin. Nilai tepi selalu merupakan batas bawah dari bin. Misalnya, asumsikan Anda ingin mengelompokkan nilai menjadi dua bin, satu dengan nilai yang lebih besar dari 0, dan satu dengan nilai kurang dari atau sama dengan 0. Dalam hal ini, untuk tepi bin, Anda akan mengetik 0 dalam daftar tepi bin yang dipisahkan koma. Output modul adalah 1 dan 2, menunjukkan indeks bin untuk setiap nilai baris.

    Lebar Sama dengan Mulai dan Berhenti Kustom: Metode ini seperti opsi Lebar Sama , tetapi Anda dapat menentukan batas bin bawah dan atas.

  4. Jumlah bin: Jika Anda menggunakan mode binning Entropy MDL, Quantiles, dan Equal Width , gunakan opsi ini untuk menentukan berapa banyak bin, atau kuantil, yang ingin Anda buat.

  5. Agar Kolom menjadi bin, gunakan Pemilih Kolom untuk memilih kolom yang memiliki nilai yang ingin Anda bin. Kolom harus berupa tipe data numerik.

    Aturan pengelompokan yang sama diterapkan ke semua kolom yang berlaku yang Anda pilih. Oleh karena itu, jika Anda perlu mengikat beberapa kolom dengan menggunakan metode yang berbeda, gunakan instans terpisah Dari Data Grup ke Dalam Bin untuk setiap set kolom.

    Peringatan

    Jika Anda memilih kolom yang bukan jenis yang diizinkan, kesalahan run-time akan dihasilkan. Modul mengembalikan kesalahan segera setelah menemukan kolom tipe yang tidak diizinkan. Jika Anda mendapatkan kesalahan, tinjau semua kolom yang dipilih. Kesalahan tidak mencantumkan semua kolom yang tidak valid.

  6. Untuk mode Output, tunjukkan bagaimana Anda ingin menghasilkan nilai yang diukur.

    • Tambahkan: Membuat kolom baru dengan nilai terikat dan menambahkannya ke tabel input.

    • Inplace: Mengganti nilai asli dengan nilai baru dalam himpunan data.

    • ResultOnly: Mengembalikan hanya kolom hasil.

  7. Jika Anda memilih mode pengikatan Kuantil , gunakan opsi Normalisasi kuantil untuk menentukan bagaimana nilai dinormalisasi sebelum mengurutkan ke dalam kuantil. Perhatikan bahwa menormalkan nilai mengubah nilai, tetapi tidak memengaruhi jumlah akhir bin. Misalnya, lihat Efek Metode Normalisasi yang Berbeda.

    Tipe normalisasi berikut ini didukung:

    • Persen: Nilai dinormalisasi dalam rentang [0,100]

    • PQuantile: Nilai dinormalisasi dalam rentang [0,1]

    • QuantileIndex: Nilai dinormalisasi dalam rentang [1,jumlah bin]

  8. Jika Anda memilih opsi Tepi Kustom, ketik daftar angka yang dipisahkan koma untuk digunakan sebagai tepi bin di kotak teks + Tepi bin yang dipisahkan koma. Nilai menandai titik yang membagi bin, Oleh karena itu, jika Anda mengetik satu nilai tepi bin, dua bin akan dihasilkan; jika Anda mengetik dua nilai tepi bin, tiga bin akan dihasilkan, dan sebagainya.

    Nilai harus diurutkan agar bin dibuat, dari terendah hingga tertinggi.

  9. Jika Anda menggunakan opsi , Lebar Sama Dengan Mulai dan Berhenti Kustom, Anda harus menentukan batas bin.

    Tentukan batas bawah bin pertama dengan mengetikkan nilai di kotak teks Posisi tepi pertama .

    Tentukan batas bawah bin terakhir dengan mengetikkan nilai di kotak teks Posisi tepi terakhir .

  10. Tandai kolom sebagai kategoris: Pilih opsi ini untuk menambahkan bendera metadata secara otomatis ke kolom nilai yang diikat. Bendera metadata menunjukkan bahwa kolom kuantisasi harus ditangani sebagai variabel kategoris.

  11. Jalankan eksperimen, atau pilih modul ini dan klik Jalankan yang dipilih.

Hasil

Modul Kelompokkan Data ke dalam Bins mengembalikan himpunan data di mana setiap elemen telah diikat sesuai dengan mode yang ditentukan.

Ini juga mengembalikan transformasi Binning, yang merupakan fungsi yang dapat diteruskan ke modul Terapkan Transformasi untuk mengikat sampel data baru menggunakan mode dan parameter binning yang sama.

Untuk melihat seberapa baik fungsi metode pengikatan sebagai prediktor, Anda dapat mengklik output himpunan data dari Data Grup ke Bin, dan membandingkan kolom label dengan kolom yang diikat. Jika pengelompokan ke bin bersifat prediktif, nilai dalam matriks tab silang harus berkonsentrasi dalam beberapa sel.

Tip

Ingat, jika Anda menggunakan pengikatan pada data pelatihan, Anda harus menggunakan metode pengikatan yang sama pada data yang Anda gunakan untuk pengujian dan prediksi. Ini termasuk metode binning, lokasi bin, dan lebar bin.

Untuk memastikan bahwa data selalu diubah dengan menggunakan metode binning yang sama, kami sarankan Anda menyimpan transformasi data yang berguna, lalu menerapkannya ke himpunan data lain, dengan menggunakan modul Terapkan Transformasi .

Contoh

Untuk contoh bagaimana kuantisasi diterapkan dalam skenario pembelajaran mesin, lihat Galeri Azure AI:

Catatan teknis

Bagian ini berisi detail implementasi, tips, dan jawaban terkait pertanyaan yang sering diajukan.

Efek metode normalisasi yang berbeda

Jika Anda memilih opsi, Normalisasi kuantil, nilai diubah sebelum binning. Dengan demikian, metode yang Anda pilih untuk normalisasi memiliki efek yang kuat pada nilai numerik.

Misalnya, tabel berikut ini menggambarkan bagaimana nilai dalam satu kolom, fLength, dari himpunan data Teleskop diubah dengan masing-masing metode normalisasi. Kolom , fLength, dipilih secara acak untuk ilustrasi nilai output dari setiap opsi, dan tidak memiliki distribusi normal.

Sumber (fLength) pQuantile QuantileIndex Persen
28.7967 0.363636 4 36.363636
31.6036 0.454545 5 45.454545
162.052 0.909091 10 90.909091
23.8172 0.272727 3 27.272727

Hasil binning serupa untuk setiap metode.

Grafik berikut menunjukkan distribusi nilai dalam kolom sebelum dan sesudah pengikat, menggunakan default 10 bin.

Comparison of Normalization Methods for Binning

Detail implementasi

  • Selama kuantisasi, setiap angka dipetakan ke bin, dengan membandingkan nilainya dengan nilai tepi bin.

    Misalnya, jika nilainya adalah 1,5 dan tepi bin adalah 1, 2, dan 3, elemen akan dipetakan ke bin nomor 2. Nilai 0,5 akan dipetakan ke bin nomor 1 (bin underflow), dan nilai 3,5 akan dipetakan ke bin nomor 4 (keranjang luapan).

  • Jika kolom ke bin (kuantisasi) jarang, maka offset indeks bin (offset kuantil) digunakan saat kolom yang dihasilkan diisi. Offset dipilih sehingga sparse 0 selalu masuk ke bin dengan indeks 0 (dengan kata lain, kuantil dengan nilai 0).

  • Nol jarang disebarluaskan dari input ke kolom output.

  • Pemrosesan kolom padat selalu menghasilkan hasil dengan indeks bin minimum sama dengan 1; artinya, nilai kuantil minimum sama dengan nilai minimum dalam kolom. Pada saat yang sama, pemrosesan kolom jarang menghasilkan hasil dengan indeks bin minimum variabel (nilai kuantil minimum).

  • Semua NaN dan nilai yang hilang disebarluaskan dari kolom input ke kolom output. Satu-satunya pengecualian adalah kasus ketika modul mengembalikan indeks kuantil. Dalam hal ini semua NaN dipromosikan ke nilai yang hilang.

  • Indeks bin berbasis 1. Ini adalah konvensi alami untuk kuantil (kuantil ke-1, kuantil ke-2, dan sebagainya). Satu-satunya pengecualian adalah kasus ketika kolom ke bin jarang.

Input yang diharapkan

Nama Jenis Deskripsi
Himpunan Data Tabel Data Himpunan data yang akan dianalisis

Parameter modul

Nama Rentang Jenis Default Deskripsi
Mode binning Daftar QuantizationMode Kuantil Pilih metode binning
Kolom ke bin apa pun ColumnSelection NumericAll Pilih kolom untuk kuantisasi
Mode output apa pun OutputTo Menunjukkan bagaimana kolom terukur harus berupa output
Tandai kolom sebagai kategoris apa pun Boolean TRUE Menunjukkan apakah kolom output harus ditandai sebagai kategoris
Jumlah bin >=1 Bilangan bulat 10 Tentukan jumlah bin yang diinginkan
Normalisasi kuantil apa pun BinningNormalization Pilih metode untuk menormalkan kuantil
Posisi tepi pertama apa pun Float 0.0 Tentukan nilai untuk tepi bin pertama
Lebar bin apa pun Float 0,5 Tentukan lebar bin kustom
Posisi tepi terakhir apa pun Float 1,0 Tentukan nilai untuk tepi bin terakhir
Daftar tepi bin yang dipisahkan koma apa pun String Ketik daftar angka yang dipisahkan koma untuk digunakan sebagai tepi bin

Output

Nama Jenis Deskripsi
Himpunan data terukur Tabel Data Himpunan data dengan kolom terukur
Transformasi binning Antarmuka ITransform Transformasi yang menerapkan kuantisasi ke himpunan data

Pengecualian

Pengecualian Deskripsi
Kesalahan 0003 Pengecualian terjadi jika satu atau beberapa input null atau kosong.
Kesalahan 0004 Pengecualian terjadi jika parameter kurang dari atau sama dengan nilai tertentu.
Kesalahan 0011 Pengecualian terjadi jika argumen kumpulan kolom yang dilewatkan tidak berlaku untuk kolom himpunan data mana pun.
Kesalahan 0021 Pengecualian terjadi jika jumlah kolom di beberapa himpunan data yang diteruskan ke modul terlalu kecil.
Kesalahan 0024 Pengecualian terjadi jika himpunan data tidak berisi kolom label.
Kesalahan 0020 Pengecualian terjadi jika jumlah kolom di beberapa himpunan data yang diteruskan ke modul terlalu kecil.
Kesalahan 0038 Pengecualian terjadi jika jumlah elemen yang diharapkan harus menjadi nilai yang tepat, tetapi tidak.
Kesalahan 0005 Pengecualian terjadi jika parameter kurang dari nilai tertentu.
Kesalahan 0002 Pengecualian terjadi jika satu atau beberapa parameter tidak dapat diurai atau dikonversi dari jenis yang ditentukan menjadi diperlukan oleh jenis metode target.
Kesalahan 0019 Pengecualian terjadi jika kolom diharapkan berisi nilai yang diurutkan, tetapi tidak.
Kesalahan 0039 Pengecualian terjadi jika operasi gagal.
Kesalahan 0075 Pengecualian terjadi ketika fungsi binning tidak valid digunakan saat mengolah himpunan data.

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

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

Lihat juga

Menskalakan dan Mengurangi
Menormalkan Data
Nilai Klip