Label Encoder vs One Hot Encoder în Machine Learning [2022]
Publicat: 2021-01-04Modelele de învățare automată implementate în numeroase aplicații necesită adesea o serie de conversii de la date categoriale sau focarele de text la descrierea numerică. Pentru a se conforma nevoilor de conversie sunt utilizate două tipuri de codificatoare și anume codificatoare de etichetă și un codificator cald .
Partea dificilă este când să alegeți codificatorul de etichetă și când să alegeți un codificator fierbinte . Alegerea deciziei are un impact asupra modelului și formează, de asemenea, baza multor întrebări adresate în general oamenilor de știință ai datelor și pasionaților de învățare automată.
Alegerea codificării afectează în mod viu coeficientul de precizie al modelului și, prin urmare, poate duce la o soluție optimizată. Pentru a înțelege diferența pe care o va face pe modele, trebuie să înțelegem codificatoarele de etichetă și un codificator fierbinte .
Printr-un grafic de cunoștințe în inteligența artificială și învățarea automată, un aspect pe care cei mai mulți dintre noi l-ar recunoaște este că majoritatea algoritmilor lucrează în mod rezonabil cu intrări numerice. În consecință, provocarea centrală cu care se confruntă un analist este de a transforma datele text în date numerice și totuși de a face ca un model să formuleze un punct din acestea.
Cuprins
Codificator de etichete
Label Encoding citează transmogrificarea etichetelor în formă numerică pentru a o schimba într-o formă care poate fi citită de mașină. Algoritmii de învățare automată pot determina ulterior într-un mod corect cum trebuie gestionate aceste etichete. Este o măsură crucială de preprocesare în timpul setului de date integrat în învățarea supravegheată.
De exemplu, avem un set de date care are o comparație a unei anumite calități într-o anumită abilitate sub forma unei comparații superlative între frați. Setul de date este bun, mai bun, cel mai bun. După aplicarea unui codificator de etichetă, fiecărei calități i se va atribui o etichetă 0,1,2 respectiv. Eticheta pentru calitate bună este 0, pentru mai bine eticheta este 1 și pentru cea mai bună calitate, eticheta este 2.

Exemplul menționat mai sus a fost de bază în ceea ce privește setul de date. Conversia poate fi pentru orice set de date, fie că este vorba despre înălțime, vârstă, culoarea ochilor, tipul irisului, simptome etc.
Codificarea etichetelor în Python poate fi implementată folosind Biblioteca Sklearn. Sklearn furnizează o metodă foarte eficientă pentru codificarea categoriilor de caracteristici categoriale în valori numerice. Codificatorul de etichete codifică etichete cu credit între 0 și n-1 clase, unde n este numărul de etichete diferite. Dacă o etichetă reiterează, aceasta desemnează meritul exact așa cum a fost numit anterior.
Și pentru a renova acest tip de date de text categoriale în date care pot fi înțelese prin date numerice model, folosim clasa Label Encoder. Trebuie să etichetăm codificarea coloanei inițiale, să importam clasa LabelEncoder din biblioteca sklearn, să echipăm și să reînnoim secțiunea inițială a datelor și apoi să reabilităm datele text care apar cu datele proaspete codificate.
Aceasta este o scurtă descriere a codificării etichetelor. În funcție de date, codificarea etichetelor inițiază o nouă dilemă. Pentru ilustrare, am codificat o grămadă de nume de regate în date numerice. Acestea sunt date în întregime categorice și nu există nicio asociere, de niciun fel, între rânduri.
Pentru a rezolva acest obstacol, există necesitatea adoptării unei noi tehnici de codare. Dilema aici este că, deoarece există mai multe cantități într-o secțiune similară, prototipul va aprecia greșit datele ca fiind în același mod de ordine, 0 < 1 < 2. Dar aceasta nu este deloc problema. Pentru a atenua această dificultate, folosim un codificator fierbinte.
Trebuie citit: Idei de proiecte de învățare automată
Un codificator fierbinte
One-Hot Encoding este un alt protocol proeminent pentru tratarea variabilelor categorice. Ea stabilește doar următoarele caracteristici stabilite pe volumul valorilor distincte în trăsătura categorială. Valorile distincte întregi din clasificare vor fi mărite sub formă de contur. O codificare fierbinte ia o secțiune care are date categorice, care are o etichetă existentă codificată și apoi împarte secțiunea în numeroase secțiuni. Volumele sunt refăcute cu 1s și 0s, contând pe ce secțiune are ce valoare.

Codificatorul one-hot nu aprobă matricele 1-D. Intrarea ar trebui să fie întotdeauna o matrice 2-D.
Datele ratificate codificatorului nu trebuie să includă șiruri de caractere.
Majoritatea algoritmilor de învățare automată predominanți nu pot fi implicați în date categorice. Mai degrabă, datele categorice necesită să fie modificate în date numerice. Codificarea one-hot este una dintre strategiile utilizate pentru a efectua această conversie. Această tehnică este utilizată în principal acolo unde metodele de învățare profundă trebuie să se coreleze cu probleme de succesiune secvențială.
Codificarea one-hot este practic manifestarea variabilelor categorice ca vectori binari. Valorile categoriale sunt inițial mapate la valori întregi. Fiecare valoare întreagă este exemplificată ca un vector binar care este tot 0.
Dar ce se va întâmpla dacă avem mai multe fișiere de gestionat?

Scikit-learn este susceptibil de aranjarea secțiunilor, așa că dacă setul de date de antrenament și seturile de date de testare au contradicții în el, rezultatele vor fi o absurditate. Acest lucru s-ar putea întâmpla dacă o categorie ar avea mai multe numere de valori în datele de antrenament față de datele de testare.
Asigurați-vă că datele de testare sunt codificate într-un mod identic cu datele de antrenament cu comanda de aliniere. Comanda de aliniere dă naștere siguranței că secțiunile apar în decretul exact în ambele seturi de date.
Citiți: Modele de învățare automată
Concluzie
Globul este plin de date categorice. Un analist va fi un om de știință de date mult mai benefic dacă știi cum să folosești aceste date. Prin urmare, oricine încearcă să lucreze la astfel de modele trebuie să fie bine familiarizat cu utilizarea codificatorului de etichete și a unui codificator fierbinte în învățarea automată.
Dacă sunteți interesat să aflați mai multe despre învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în Învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de pregătire riguroasă, peste 30 de studii de caz și sarcini, IIIT- B Statut de absolvenți, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.
Ce algoritmi necesită utilizarea unei codări fierbinți?
Un proces de codificare fierbinte este utilizat pentru a trata variabilele categorice. Acest proces convertește variabilele categoriale pentru a facilita algoritmii de învățare automată să utilizeze variabilele pentru o predicție mai bună. Algoritmii care preiau doar valori numerice ca intrări necesită un singur proces de codificare fierbinte pentru a converti variabilele categoriale. Unii dintre acești algoritmi de învățare automată sunt regresia logistică, regresia liniară, mașina vectorială de suport etc. Cu toate acestea, unii algoritmi, cum ar fi Markov Chain, Naive Bayes etc., nu necesită codificare deoarece sunt capabili să se ocupe de distribuții discrete comune.
Când este de preferat să folosiți o codificare fierbinte în deep learning?
One Hot Encoding este o abordare puternică de transformare și preprocesare a datelor care ajută modelele ML să înțeleagă datele furnizate. Practic, o codificare fierbinte este utilizată atunci când algoritmul ML este incapabil să lucreze cu variabile categorice, astfel, o codificare fierbinte le convertește într-o formă adecvată. Utilizarea unei codări fierbinți este cea mai preferată atunci când caracteristicile variabilelor categoriale care trebuie convertite nu sunt ordinale. De asemenea, o codificare fierbinte funcționează eficient atunci când numărul de caracteristici categorice prezente în setul de date dat este foarte mic.
Ce se înțelege prin termenul Dummy Variable Trap?
Capcana variabilă Dummy este una dintre problemele cu care se confruntă procesul de codificare one-hot. Atunci când un set de date categoric are variabile strâns legate, acest lucru se întâmplă. În consecință, rezultatul unei variabile poate fi anticipat cu ușurință folosind variabilele rămase atunci când este utilizată procedura de codificare la cald. Ca urmare a capcanei variabile dumy, apare o altă problemă cunoscută sub numele de multicoliniaritate.