Makine Öğreniminde Etiket Kodlayıcı ve Tek Sıcak Kodlayıcı [2022]

Yayınlanan: 2021-01-04

Çok sayıda uygulamada dağıtılan makine öğrenimi modelleri, genellikle kategorik verilerden veya metin odaklarından sayısal açıklamaya bir dizi dönüştürme gerektirir. Dönüştürme ihtiyaçlarını karşılamak için etiket kodlayıcılar ve bir sıcak kodlayıcı olmak üzere iki tür kodlayıcı kullanılır .

İşin zor yanı, ne zaman etiket kodlayıcı seçileceği ve ne zaman bir sıcak kodlayıcı seçileceğidir . Karar seçimi modeli etkiler ve ayrıca veri bilimcileri ve makine öğrenimi meraklıları için genel olarak sorulan birçok sorunun temelini oluşturur.

Kodlama seçimi, modelin doğruluk oranını canlı bir şekilde etkiler ve dolayısıyla optimize edilmiş bir çözüme yol açabilir. Modellerde yaratacağı farkı anlamak için etiket kodlayıcıları ve bir sıcak kodlayıcıyı anlamamız gerekir .

Yapay Zeka ve Makine Öğrenimindeki bir bilgi grafiği aracılığıyla, çoğumuzun fark edeceği bir yön, algoritmaların çoğunun sayısal girdilerle makul bir şekilde görev yaptığıdır. Buna göre, bir analistin karşılaştığı temel zorluk, metin verilerini sayısal verilere dönüştürmek ve yine de bir model formüle ederek bundan bir nokta çıkarmaktır.

İçindekiler

Etiket Kodlayıcı

Label Encoding, etiketlerin makine tarafından okunabilecek bir forma dönüştürülmesi için sayısal forma dönüştürülmesinden bahseder. Makine öğrenimi algoritmaları, bu etiketlerin nasıl yönetilmesi gerektiğini daha sonra doğru bir şekilde belirleyebilir. Denetimli öğrenmede entegre veri kümesi sırasında çok önemli bir ön işleme önlemidir.

Örneğin, kardeşler arasında üstün bir karşılaştırma şeklinde belirli bir beceride belirli bir kalitede karşılaştırmaya sahip bir veri setimiz var. Veri kümesi iyi, daha iyi, en iyisidir. Bir etiket kodlayıcı uygulandıktan sonra her kaliteye sırasıyla 0,1,2 etiketi verilecektir. İyi kalite için etiket 0, daha iyi için etiket 1 ve en iyi kalite için etiket 2'dir.

Yukarıda bahsedilen örnek, veri seti açısından temeldi. Dönüşüm, boy, yaş, göz rengi, iris tipi, semptomlar vb. herhangi bir veri kümesinde olabilir.

Python'da Etiket Kodlaması, Sklearn Kitaplığı kullanılarak uygulanabilir. Sklearn, kategorik özelliklerin kategorilerini sayısal değerlere kodlamak için çok etkili bir yöntem sunar. Etiket kodlayıcı , n'nin çeşitli etiketlerin sayısı olduğu 0 ile n-1 sınıfları arasındaki krediye sahip etiketleri kodlar. Bir etiket tekrar ederse, daha önce atandığı gibi kesin değeri atar.

Ve bu tür kategorik metin verilerini model sayısal verilerle anlaşılabilecek verilere dönüştürmek için Label Encoder sınıfını kullanıyoruz. İlk sütunu etiketlememiz, sklearn kitaplığından LabelEncoder sınıfını içe aktarmamız, verilerin ilk bölümünü donatıp yenilememiz ve ardından oluşan metin verilerini yeni kodlanmış verilerle rehabilite etmemiz gerekiyor.

Bu, etiket kodlamasının kısa bir açıklamasıdır. Verilere bağlı olarak, etiket kodlaması yeni bir ikilem başlatır. Örnek olarak, bir grup krallık adını sayısal verilere kodladık. Bu tamamen kategorik verilerdir ve satırlar arasında herhangi bir ilişki yoktur.

Bu engeli çözmek için yeni bir kodlama tekniği benimsemeye ihtiyaç vardır. Buradaki ikilem, benzer bir bölümde birkaç nicelik olduğundan, prototip verileri aynı düzende, 0 < 1 < 2 olacak şekilde yanlış değerlendirecektir. Ancak sorun bu değil. Bu zorluğu azaltmak için bir sıcak kodlayıcı kullanıyoruz.

Mutlaka Okuyun: Makine Öğrenimi Proje Fikirleri

Bir Sıcak Kodlayıcı

One-Hot Encoding, kategorik değişkenlerle başa çıkmak için öne çıkan bir başka protokoldür. Yalnızca kategorik özellikteki farklı değerlerin hacmi üzerine kurulan aşağıdaki özellikleri belirler. Sınıflandırmadaki tüm farklı değerler bir anahat olarak genişletilecektir. Bir sıcak kodlama, kategorik verileri olan, mevcut bir etiketin kodlanmış olduğu bir bölümü alır ve ardından bölümü çok sayıda bölüme ayırır. Hacimler, hangi bölümün hangi değere sahip olduğuna bağlı olarak 1'ler ve 0'larla yeniden oluşturulur.

Tek etkin kodlayıcı, 1 boyutlu dizileri onaylamaz. Giriş her zaman 2 boyutlu bir dizi olmalıdır.

Kodlayıcıya onaylanan veriler dizeler içermemelidir.

Hakim olan makine öğrenimi algoritmalarının çoğu, kategorik verilere bağlanamaz. Bunun yerine, kategorik verilerin sayısal verilere dönüştürülmesi gerekir. Tek sıcak kodlama, bu dönüşümü gerçekleştirmek için kullanılan stratejilerden biridir. Bu teknik öncelikle derin öğrenme yöntemlerinin sıralı ardıllık problemleriyle ilişkilendirileceği durumlarda kullanılır.

Tek-sıcak kodlama pratikte kategorik değişkenlerin ikili vektörler olarak tezahürüdür. Kategorik değerler başlangıçta tamsayı değerlere eşlenir. Her tamsayı değeri, tümü 0 olan bir ikili vektör olarak örneklenmiştir.

Ancak ele almamız gereken birden fazla dosyamız varsa ne olacak?

Scikit-learn, bölümlerin düzenlenmesine duyarlıdır, bu nedenle eğitim veri kümesi ve test veri kümeleri içinde çelişkiler alırsa, sonuçlar bir saçmalık olacaktır. Bu, bir kategorinin eğitim verilerinde test verileriyle karşılaştırıldığında birkaç sayıda değere sahip olması durumunda ortaya çıkabilir.

Test verilerinin, hizalama komutuyla eğitim verileriyle aynı şekilde kodlandığından emin olun. align komutu, bölümlerin her iki veri kümesinde de kesin kararnamede görünmesi için güvenlik sağlar.

Okuyun: Makine Öğrenimi Modelleri

Çözüm

Dünya kategorik verilerle tıkanmış durumda. Bu verileri nasıl kullanacağınızı biliyorsanız, bir analist çok daha faydalı bir veri bilimcisi olacaktır. Bu nedenle, bu tür modeller üzerinde çalışmak isteyen herkes , makine öğreniminde etiket kodlayıcı ve bir sıcak kodlayıcı kullanımına aşina olmalıdır.

Makine öğrenimi hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 450+ saat zorlu eğitim, 30'dan fazla vaka çalışması ve ödev, IIIT- sunan IIIT-B & upGrad'ın Makine Öğrenimi ve Yapay Zeka PG Diplomasına göz atın. B Mezun statüsü, 5+ pratik uygulamalı bitirme projesi ve en iyi firmalarla iş yardımı.

Hangi algoritmalar tek bir sıcak kodlamanın kullanılmasını gerektirir?

Kategorik değişkenlerle başa çıkmak için bir sıcak kodlama işlemi kullanılır. Bu süreç, makine öğrenimi algoritmalarının değişkenleri daha iyi tahmin için kullanmasını kolaylaştırmak için kategorik değişkenleri dönüştürür. Girdi olarak yalnızca sayısal değerler alan algoritmalar, kategorik değişkenleri dönüştürmek için yalnızca bir sıcak kodlama işlemi gerektirir. Bu makine öğrenme algoritmalarından bazıları lojistik regresyon, lineer regresyon, destek vektör makinesi vb.'dir. Ancak Markov Chain, Naive Bayes, vb. gibi bazı algoritmalar, ortak ayrık dağılımlarla uğraşabildikleri için kodlama gerektirmez.

Derin öğrenmede bir sıcak kodlamanın kullanılması ne zaman tercih edilir?

One Hot Encoding, makine öğrenimi modellerinin sağlanan verileri anlamasına yardımcı olan güçlü bir veri dönüştürme ve ön işleme yaklaşımıdır. Temel olarak, ML algoritması kategorik değişkenlerle çalışamadığında bir sıcak kodlama kullanılır, bu nedenle bir sıcak kodlama bunları uygun bir forma dönüştürür. Tek bir sıcak kodlamanın kullanılması, dönüştürülecek kategorik değişkenlerin özellikleri sıralı olmadığında en çok tercih edilir. Ayrıca, bir sıcak kodlama, verilen veri kümesinde bulunan kategorik özelliklerin sayısı çok az olduğunda etkili bir şekilde çalışır.

Kukla Değişken Tuzağı terimi ile ne kastedilmektedir?

Kukla değişken tuzağı, tek sıcak kodlama işleminin karşılaştığı sorunlardan biridir. Kategorik bir veri kümesinde güçlü bir şekilde bağlantılı değişkenler varsa, bu gerçekleşir. Sonuç olarak, bir sıcak kodlama prosedürü kullanıldığında, bir değişkenin sonucu, kalan değişkenler kullanılarak kolaylıkla tahmin edilebilir. Kukla Değişken Tuzağının bir sonucu olarak, çoklu bağlantı olarak bilinen başka bir sorun ortaya çıkar.