Bagikan melalui


Transformasi Data - Pembelajaran dengan Hitungan

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.

Artikel ini menjelaskan modul di Pembelajaran Mesin Studio (klasik) yang mendukung featurization berbasis hitungan.

Catatan

Berlaku untuk: Pembelajaran Mesin Studio (klasik) saja

Modul drag-and-drop serupa tersedia di Azure Machine Learning desainer.

Pembelajaran dengan hitungan adalah cara yang efisien untuk membuat serangkaian fitur himpunan data ringkas yang didasarkan pada jumlah nilai. Anda dapat menggunakan modul dalam kategori ini untuk membangun serangkaian jumlah dan fitur. Kemudian, Anda dapat memperbarui jumlah dan fitur untuk memanfaatkan data baru, atau menggabungkan dua set data hitungan.

Tentang featurization berbasis hitungan

Ide dasar featurization berbasis hitungan adalah bahwa dengan menghitung hitungan, Anda dapat dengan cepat dan mudah mendapatkan ringkasan dari kolom apa yang berisi informasi yang paling penting. Modul menghitung berapa kali nilai muncul, dan kemudian memberikan informasi itu sebagai fitur untuk input ke model.

Bayangkan Anda memvalidasi transaksi kartu kredit. Informasi penting adalah dari mana transaksi ini berasal. Salah satu pengkodean yang paling umum dari asal transaksi adalah kode pos. Namun, mungkin ada sebanyak 40.000 kode pos, kode pos, dan kode geografis yang harus dipertanggungjawabkan. Apakah model Anda memiliki kapasitas untuk mempelajari 40.000 parameter lagi? Jika Anda memberikan kapasitas itu, apakah Anda memiliki data pelatihan yang cukup untuk mencegahnya terlalu cocok?

Jika Anda memiliki data yang baik, dengan banyak sampel, granularitas lokal berbutir halus seperti itu bisa sangat kuat. Namun, jika Anda hanya memiliki satu sampel transaksi penipuan, dari wilayah kecil, apakah itu berarti bahwa semua transaksi dari tempat itu buruk, atau bahwa Anda tidak memiliki cukup data?

Salah satu solusinya adalah belajar dengan hitungan. Alih-alih memperkenalkan 40.000 fitur lagi, Anda dapat mengamati jumlah dan proporsi penipuan untuk setiap kode pos. Dengan menggunakan ini dihitung sebagai fitur, Anda mendapatkan informasi tentang kekuatan bukti untuk setiap nilai. Selain itu, dengan menyandikan statistik yang relevan dari hitungan, pelajar dapat menggunakan statistik untuk memutuskan kapan harus mengubah pendekatan mereka dan sebagai gantinya menggunakan fitur lain untuk mendapatkan informasi.

Pembelajaran berbasis hitungan menarik karena berbagai alasan. Dengan pembelajaran berbasis hitungan, Anda memiliki lebih sedikit fitur, yang membutuhkan lebih sedikit parameter. Parameter yang lebih sedikit membuat pembelajaran lebih cepat, prediksi yang lebih cepat, prediktor yang lebih kecil, dan lebih sedikit potensi untuk overfit.

Bagaimana fitur berbasis hitungan dibuat

Contoh dasar dapat membantu menunjukkan bagaimana fitur berbasis hitungan dibuat dan diterapkan. Misalkan Anda memiliki tabel berikut seperti ini, dengan label dan input. Setiap kasus (atau baris atau sampel) memiliki sekumpulan nilai dalam kolom. Dalam contoh ini, nilainya adalah A dan B.

Kolom label Nilai input
0 A
0 A
1 A
0 B
1 B
1 B
1 B

Berikut adalah langkah-langkah yang Anda ambil untuk membuat fitur berbasis hitungan:

  1. Untuk kumpulan nilai tertentu, temukan semua kasus lain dalam himpunan data yang memiliki nilai yang sama. Dalam hal ini, ada tiga kasus A dan empat kasus B.
  2. Hitung keanggotaan kelas dari setiap nilai sebagai fitur itu sendiri. Dalam hal ini, Anda mendapatkan matriks kecil: ada dua kasus di mana A = 0; satu kasus di mana A = 1; satu kasus di mana B = 0; dan tiga kasus di mana B = 1.
  3. Berdasarkan matriks ini, Anda mendapatkan berbagai fitur berbasis hitungan. Ini termasuk perhitungan rasio log-odds dan hitungan untuk setiap kelas target. Tabel di bagian berikutnya menampilkan data.

Contoh tabel fitur berbasis hitungan

Label 0_0_Class000_Count 0_0_Class001_Count 0_0_Class000_LogOdds 0_0_IsBackoff
0 2 1 0.510826 0
0 2 1 0.510826 0
1 2 1 0.510826 0
0 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0

Contoh

Dalam Use Pembelajaran Mesin untuk membangun model prediksi klik-tayang, tim Microsoft Pembelajaran Mesin menyediakan panduan terperinci tentang cara menggunakan jumlah dalam pembelajaran mesin. Artikel ini membandingkan kemanjuran pemodelan berbasis hitungan dengan metode lain.

Catatan teknis

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

Bagaimana nilai log-loss dihitung

Nilai log-loss bukanlah log-odds biasa. Dalam hal ini, distribusi sebelumnya digunakan untuk memuluskan perhitungan log-odds.

Misalkan Anda memiliki dataset yang digunakan untuk klasifikasi biner. Dalam himpunan data ini, frekuensi sebelumnya untuk kelas 0 adalah p_0, dan frekuensi sebelumnya untuk kelas 1 adalah p_1 = 1 – p_0. Untuk fitur contoh pelatihan tertentu, hitungan untuk kelas 0 adalah x_0, dan hitungan untuk kelas 1 adalah x_1.

Di bawah asumsi ini, log-odds dihitung sebagai LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1), di mana c koefisien sebelumnya, yang dapat ditetapkan oleh pengguna. Fungsi log menggunakan dasar alami.

Dengan kata lain, untuk setiap kelas i:

Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))

Jika koefisien sebelumnya positif, log-odds bisa berbeda dari Log(count[i] / (sum_of_counts – count[i])).

Mengapa log-odds tidak dihitung untuk beberapa item

Secara default, semua item dengan hitungan yang kurang dari 10 dikumpulkan dalam satu ember yang disebut "tempat sampah." Anda dapat mengubah nilai ini dengan menggunakan opsi ambang sampah di modul Ubah Parameter Tabel Hitungan .

Daftar modul

Kategori Pembelajaran dengan Hitungan mencakup modul berikut:

  • Build Counting Transform: Membuat tabel hitungan dan fitur berbasis hitungan dari himpunan data, lalu menyimpan tabel dan fitur sebagai transformasi.
  • Tabel Hitung Ekspor: Mengekspor tabel hitungan dari transformasi penghitungan. Modul ini mendukung kompatibilitas ke belakang dengan eksperimen yang membuat fitur berbasis hitungan dengan menggunakan Build Count Table (usang) dan Count Featurizer (usang).
  • Tabel Hitung Impor: Mengimpor tabel hitungan yang sudah ada. Modul ini mendukung kompatibilitas ke belakang dengan eksperimen yang membuat fitur berbasis hitungan dengan menggunakan Build Count Table (usang) dan Count Featurizer (usang). Modul ini mendukung konversi tabel hitungan untuk menghitung transformasi.
  • Gabungkan Transformasi Hitungan: Menggabungkan dua set fitur berbasis hitungan.
  • Memodifikasi Parameter Tabel Hitungan: Memodifikasi fitur berbasis hitungan yang berasal dari tabel hitungan yang ada.

Lihat juga