Label Encoder vs One Hot Encoder dalam Pembelajaran Mesin [2022]
Diterbitkan: 2021-01-04Model pembelajaran mesin yang digunakan dalam berbagai aplikasi sering kali memerlukan serangkaian konversi dari data kategorikal atau fokus teks ke deskripsi numerik. Untuk memenuhi kebutuhan konversi digunakan dua jenis encoder yaitu label encoder dan satu hot encoder .
Bagian yang sulit adalah kapan harus memilih label encoder dan kapan harus memilih satu hot encoder . Pilihan keputusan memengaruhi model dan juga membentuk dasar dari banyak pertanyaan yang umumnya diajukan kepada ilmuwan data dan penggemar pembelajaran mesin.
Pilihan pengkodean dengan jelas mempengaruhi hasil bagi akurasi model dan, karenanya dapat menghasilkan solusi yang dioptimalkan. Untuk memahami perbedaan yang akan terjadi pada model, kita perlu memahami pembuat enkode label dan satu enkoder panas .
Melalui grafik pengetahuan dalam Kecerdasan Buatan dan Pembelajaran Mesin, satu aspek yang sebagian besar dari kita akan kenali adalah bahwa sebagian besar tugas algoritme secara wajar dengan input numerik. Dengan demikian, tantangan utama yang dihadapi oleh seorang analis adalah untuk mengubah data teks menjadi data numerik dan tetap membuat model merumuskan titik dari itu.
Daftar isi
Pengkode Label
Label Encoding mengutip transmogrifikasi label ke dalam bentuk numerik untuk mengubahnya menjadi bentuk yang dapat dibaca oleh mesin. Algoritme pembelajaran mesin selanjutnya dapat menentukan dengan cara yang benar tentang bagaimana label ini harus dikelola. Ini adalah ukuran pra-pemrosesan yang penting selama kumpulan data terintegrasi dalam pembelajaran yang diawasi.
Misalnya, kita memiliki dataset yang memiliki perbandingan kualitas tertentu dalam keterampilan tertentu dalam bentuk perbandingan superlatif antara saudara kandung. Datasetnya bagus, lebih baik, terbaik. Setelah menerapkan encoder label setiap kualitas akan diberi label 0,1,2 masing-masing. Label untuk kualitas yang baik adalah 0, untuk label yang lebih baik adalah 1, dan untuk kualitas yang terbaik, labelnya adalah 2.

Contoh yang disebutkan di atas adalah dasar dalam hal dataset. Konversi dapat berupa dataset apa pun baik itu tinggi, usia, warna mata, jenis iris, gejala, dll.
Pengkodean Label dengan Python dapat diimplementasikan menggunakan Perpustakaan Sklearn. Sklearn memberikan metode yang sangat efektif untuk mengkodekan kategori fitur kategoris ke dalam nilai numerik. Label encoder mengkodekan label dengan kredit antara 0 dan n-1 kelas di mana n adalah jumlah label yang beragam. Jika sebuah label mengulanginya, itu menunjuk tepat seperti yang ditunjuk sebelumnya.
Dan untuk merenovasi jenis data teks kategorikal ini menjadi data yang dapat dipahami oleh model data numerik, kami menggunakan kelas Label Encoder. Kita perlu memberi label encode pada kolom awal, mengimpor kelas LabelEncoder dari perpustakaan sklearn, melengkapi dan mengubah bagian awal data, dan kemudian merehabilitasi data teks yang muncul dengan data baru yang disandikan.
Ini adalah deskripsi singkat tentang pengkodean label. Bergantung pada data, pengkodean label memulai dilema baru. Sebagai ilustrasi, kami telah mengkodekan sekelompok nama kerajaan ke dalam data numerik. Ini sepenuhnya merupakan data kategoris dan tidak ada hubungan, dengan cara apa pun, di antara baris-baris tersebut.
Untuk mengatasi kendala ini ada kebutuhan untuk mengadopsi teknik pengkodean baru. Dilema di sini adalah karena ada beberapa kuantitas di bagian yang sama, prototipe akan salah menilai data dengan urutan yang sama, 0 < 1 < 2. Tapi ini bukan masalah sama sekali. Untuk mengurangi kesulitan ini, kami menggunakan satu encoder panas.
Harus Dibaca: Ide Proyek Pembelajaran Mesin
Satu Encoder Panas
One-Hot Encoding adalah protokol penting lainnya untuk menangani variabel kategoris. Ini semata-mata menetapkan karakteristik berikut yang ditetapkan pada volume nilai yang berbeda dalam fitur kategoris. Seluruh nilai yang berbeda dalam klasifikasi akan diperbesar sebagai garis besar. Satu pengkodean panas mengambil bagian yang memiliki data kategoris, yang memiliki label yang ada dikodekan dan kemudian membagi bagian menjadi beberapa bagian. Volume dibangun kembali dengan 1s dan 0, menghitung bagian mana yang memiliki nilai apa.

Encoder one-hot tidak menyetujui larik 1-D. Masukan harus selalu berupa larik 2-D.
Data yang diratifikasi ke pembuat enkode tidak boleh menyertakan string.
Sebagian besar algoritma pembelajaran mesin yang berlaku tidak dapat berkomitmen untuk data kategorikal. Sebaliknya, data kategoris perlu dimodifikasi menjadi data numerik. Encoding one-hot adalah salah satu strategi yang digunakan untuk melakukan konversi ini. Teknik ini terutama digunakan di mana metode pembelajaran mendalam berkorelasi dengan masalah suksesi berurutan.
Encoding one-hot secara praktis merupakan manifestasi dari variabel kategori sebagai vektor biner. Nilai kategorikal awalnya dipetakan ke nilai integer. Setiap nilai integer dicontohkan sebagai vektor biner yang semuanya 0s.
Tetapi apa yang akan terjadi jika kita memiliki banyak file untuk ditangani?

Scikit-learn rentan terhadap pengaturan bagian, jadi jika dataset pelatihan dan dataset uji mendapatkan kontradiksi di dalamnya, hasilnya akan menjadi absurd. Ini bisa terjadi jika kategoris memiliki beberapa jumlah nilai dalam data pelatihan vs data uji.
Pastikan data pengujian dikodekan dengan cara yang sama seperti data pelatihan dengan perintah align. Perintah align memunculkan keamanan bahwa bagian-bagian tersebut muncul dalam dekrit yang tepat di kedua kumpulan data.
Baca: Model Pembelajaran Mesin
Kesimpulan
Dunia penuh sesak dengan data kategoris. Seorang analis akan menjadi ilmuwan data yang jauh lebih bermanfaat jika Anda tahu cara menggunakan data ini. Oleh karena itu, siapa pun yang ingin mengerjakan model seperti itu harus mengenal baik penggunaan label encoder dan satu hot encoder dalam pembelajaran mesin.
Jika Anda tertarik untuk mempelajari lebih lanjut tentang pembelajaran mesin, lihat PG Diploma IIIT-B & upGrad dalam Pembelajaran Mesin & AI yang dirancang untuk para profesional yang bekerja dan menawarkan 450+ jam pelatihan ketat, 30+ studi kasus & tugas, IIIT- B Status alumni, 5+ proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.
Algoritma mana yang memerlukan penggunaan satu pengkodean panas?
Satu proses pengkodean panas digunakan untuk menangani variabel kategoris. Proses ini mengonversi variabel kategori untuk memudahkan algoritme pembelajaran mesin menggunakan variabel untuk prediksi yang lebih baik. Algoritme yang hanya mengambil nilai numerik sebagai input hanya memerlukan satu proses pengkodean panas untuk mengubah variabel kategori. Beberapa dari algoritma pembelajaran mesin ini adalah regresi logistik, regresi linier, mesin vektor pendukung, dll. Namun, beberapa algoritma, seperti Rantai Markov, Naive Bayes, dll., tidak memerlukan pengkodean karena mampu menangani distribusi diskrit bersama.
Kapan lebih disukai menggunakan satu pengkodean panas dalam pembelajaran mendalam?
One Hot Encoding adalah transformasi data dan pendekatan prapemrosesan yang kuat yang membantu model ML memahami data yang disediakan. Pada dasarnya, satu pengkodean panas digunakan ketika algoritma ML tidak mampu bekerja dengan variabel kategori, sehingga, satu pengkodean panas mengubahnya menjadi bentuk yang sesuai. Penggunaan satu pengkodean panas adalah yang paling disukai ketika fitur dari variabel kategoris yang akan dikonversi tidak ordinal. Juga, satu pengkodean panas bekerja secara efektif ketika jumlah fitur kategoris yang ada dalam kumpulan data yang diberikan sangat sedikit.
Apa yang dimaksud dengan istilah Dummy Variable Trap?
Perangkap variabel Dummy adalah salah satu masalah yang dihadapi oleh proses pengkodean satu-panas. Ketika kumpulan data kategoris memiliki variabel yang sangat terkait, ini terjadi. Akibatnya, hasil dari satu variabel dapat dengan mudah diantisipasi dengan menggunakan variabel yang tersisa ketika prosedur pengkodean satu panas digunakan. Sebagai hasil dari Perangkap Variabel Dummy, masalah lain yang dikenal sebagai multikolinearitas muncul.