Hangi algoritmalar bir sıcak kodlama gerektirir?


12

Sıralı olmayan değişkenler için ne zaman bir sıcak kodlama kullanılacağından ve ne zaman kullanılacağından emin değilim Algoritma benzerliği hesaplamak için bir mesafe metriği kullandığında kullanırım. Ne tür algoritmaların sıralı olmayan kategorik özelliklerin tek-sıcak kodlu olmasını gerektireceği ve hangilerinin istemeyeceği konusunda genel bir kural verebilir mi?


2
Kategorik verileri bir tür "kontrast değişkeni" veya özel olarak kukla (bir sıcak) türüne kodlama gereğini mi soruyorsunuz ?
ttnphns

1
Bu soru biraz geniş, ancak OHE'nin doğasını ele alan basit bir cevap OP'nin karışıklığını giderebilir. Bu tür cevapların varlığı bu sorunun cevaplanabilir olduğunu ima eder. Açık bırakmak için oy veriyorum.
gung - Monica'yı eski durumuna döndürün

@ttnphns dürüstçe kontrast değişkeni ile ne demek istediğini bilmiyorum. Sadece kuklalara aşinayım.
cosmosa

Kozmos, kukla (= gösterge = bir-sıcak), analizlerde kategorik bakıcıları kodlamanın birkaç yolundan sadece biridir. Bu yollara birimsel olarak "kontrast değişkenleri" denir. Bkz stats.meta.stackexchange.com/q/4669/3277 ve stats.stackexchange.com/a/221868/3277
ttnphns

1
Bence istediğin listenin tamamı zor olacak.
mdewey

Yanıtlar:


6

Çoğu algoritma (doğrusal regresyon, lojistik regresyon, sinir ağı, destek vektör makinesi, vb.) Kategorik değişkenler üzerinde bir tür kodlama gerektirir. Bunun nedeni çoğu algoritmanın yalnızca sayısal değerleri girdi olarak almasıdır.

Kodlama gerektirmeyen algoritmalar, Markov zinciri / Naive Bayes / Bayesian ağı, ağaç tabanlı vb.

Ek Yorumlar:


EN ALGORİTMALAR için bir sıcak kodlamanın gerekip gerekmediği hala net değildir. Sadece kodlamanın gerekli olduğunu söylersiniz. Ama bir sıcak kodlama mı?
Prometheus

4

Herkes hangi algoritmaların kategorik özelliklerin tek-sıcak kodlu olmasını gerektireceğini ve hangilerinin istemeyeceğini listeleyebilir mi?

AFAIU, belirli verilerle daha fazlasını , belirli algoritmalarla daha azını yapmalıdır . Özellikle, kategorilerde anlamlı bir düzen olup olmadığına bağlıdır.

İki vakayı düşünün. İlkinde kötü, meh, iyi kategorileri var ve ikincisinde elma, portakal, armut var . İlk durumda doğal bir düzen vardır, çünkü meh muhtemelen kötü ve iyi arasındadır , ancak muhtemelen elma, portakal, armutta benzer bir şey olmaz .

İlk vaka için tek-sıcak kodlamadan kaçınırsanız, siparişle ilgili bilgileri "kaybedersiniz". İkinci durum için tek etkin kodlama kullanırsanız, kategorilere doğal olarak doğru olmayan bir sipariş atarsınız.

Algoritma benzerliği hesaplamak için bir mesafe metriği kullandığında bunu yaparım.

Neden? Özelliklerden birinin kategorik bir kötü, meh, iyi olduğunu ve 1'in kötü , 2'nin meh ve 3'ün iyi olması dışında aynı oldukları üç, 1, 2 ve 3 örneğiniz olduğunu varsayalım . Muhtemelen algoritmaya 1'in 2'ye 3'ten daha benzer olduğunu ifade etmek istersiniz.


2
Bu iyi bir cevap. Sıra dışı kategorik değişkenleri de içermesine rağmen soruyu netleştirmeliydim. Bu durumda, her zaman bir sıcak kodlanmış olmalıdır?
cosmosa

@ cosmos1990 IMHO, temel bir kural olarak, sıralanmamış kategorik veriler için, tek-sıcak kodlama (sayısal değerlerin atanmasına karşılık olarak) gitmenin yoludur.
Ami Tavory

2

Hiçbir makine öğrenme algoritması için bir sıcak kodlama gerekmez. Kategorik değişkenlerle başa çıkmanın bir yöntemidir. Kukla değişkenler başka bir şeydir. Geleneksel olarak, kukla değişkenler tercih edilen çözümdü. Örneğin, R işlevi lm () otomatik olarak kategorik veriler için kukla değişkenler oluşturur. Eğer python ve scikt-learn kullanıyorsanız, onun algoslarının çoğunun kategorik değişkenlerin tek sıcak kodlamasını gerektirdiğine inanıyorum. Ben tensorFlow da bir sıcak kodlama gerektirir inanıyorum. Bunlar değişkenin nasıl kodlandığına dair seçimlerdir. Kukla değişkenlerin kodda kullanılamamasının bir nedeni yoktur. Tüm bunlar, algoritmanın gerçek kod uygulamasıyla uğraşmak zorundadır.

Hxd1011, kategorik değişkenler arasındaki 'mesafeyi' tarif etme konusuna dikkat çektiği için hassas bir konudur. Bahsedilen mesafelere ek olarak Jaccard mesafesi de vardır. Bazı ML yöntemleri, özellikle SVM'ler kategorik veriler için uygun değildir ve kategorik değişkenler eklemek (her ikisi de siz karar verirsiniz) çok zayıf tahmin gücüne sahip modellere yol açabilir. Çoğu topluluk modeli, kategorik verileri 'olduğu gibi' işler ve ön işleme gerek duymaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.