Kategorik özelliklere sahip bir SVM ile nasıl başa çıkılır?


18

35 boyutlu bir alanım var (nitelikler). Analitik sorunum basit bir sınıflandırma sorunudur.

35 boyuttan 25'inden fazlası kategoriktir ve her özellik 50'den fazla değer türünü alır.

Bu senaryoda, sahte bir değişken getirmek de benim için işe yaramayacak.

Çok sayıda kategorik özniteliği olan bir alanda nasıl SVM çalıştırabilirim?

Yanıtlar:


22
  1. Kategorik özelliğin aslında sıralı olduğundan eminseniz, yalnızca sayısal özellik olarak kabul edin.
  2. Değilse, sayısal özniteliğe dönüştürmek için bazı kodlama hileleri kullanın. Libsvm'nin yazarının önerisine göre, sadece 1-of-K kodlaması kullanılabilir. Örneğin, dan değer alan 1 boyutlu bir kategori niteliği olduğunu varsayalım . Sadece , , olacak şekilde 3 boyutlu sayılara dönüştürün . Tabii ki, bu probleminizde önemli ölçüde ek boyutlara neden olacak, ancak bence bu modern SVM çözücü için ciddi bir sorun değil (Doğrusal tip veya benimsediğiniz Çekirdek türü ne olursa olsun).{bir,B,C}bir=(1,0,0)B=(0,1,0)C=(0,0,1)

+1 Ben de söyleyecektim! Bir yana, özyinelemeli bölümlemenin bazen sürekli değerli özelliklerde en iyi kesimin nerede yapılacağını belirlemek, bunları kutulara bölmek için kullanıldığını da eklerim.
Kyle.

İlginç! "Özyinelemeli bölümleme" bana (ikili) bir ağaç geliyor. Bu iki fikir arasında herhangi bir fark var mı? Ayrıca, SVM zaten sürekli özelliklerle başa çıkabiliyor, neden çöp kutularına çevirelim (yine, kategorik veriler)?
pengsun.thu

3
K-1 kukla değişkenleri ak düzeyi kategorik değişkeni için yeterli değil mi? örneğin A = (1,0,0), B = (0,1,0) burada, (0,0,1) atlıyor mu?
Aykırı

takip sorusu: aptal 0-1 verisi için ek ölçeklendirme gerekmez mi?
AZhao
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.