Kategorik ve Sürekli Verilerle Makine Öğrenmesi


9

Bu soru buraya veya SO'ya gidebilir belki ...

Egzersiz veri kümenizin bu kurulum gibi hem kategorik hem de sürekli veriler içerdiğini varsayalım:

 Animal, breed,  sex, age, weight, blood_pressure, annual_cost
 cat,    calico, M,   10,  15    ,   100         , 100 
 cat,    tabby,  F,   5,   10    ,   80          , 200
 dog,    beagle, M,   3,   30    ,   90          , 200
 dog,    lab,    F,   8,   75    ,   80          , 100

Öngörülecek bağımlı değişken, yıllık veteriner maliyetidir. Böyle bir veri kümesi ile başa çıkmak için mevcut belirli teknikler konusunda biraz kafam karıştı. Hem sürekli hem de kategorik verilerin bir karışımı olan veri kümeleriyle ilgilenmek için yaygın olarak kullanılan yöntemler nelerdir?

Yanıtlar:


8

Kategorik niteliklerin her sınıfı (cins, cinsiyet ...) için, özellik vektörünüze o sınıftaki olası değerlerin sayısına eşit bir dizi bileşen ekleyebilirsiniz. Daha sonra, bir veri noktası ith değerine sahipse, bu bileşenlerden birini ith değerine 1 ve bu özniteliğin geri kalanına 0 olarak ayarlarsınız.

Örneğinizde, cinsiyet için, özellik vektörünüze iki yeni bileşen eklersiniz. Hayvan erkek ise, ilkini 1'e, ikincisini 0'a ve hayvanın dişi ise tam tersini yaparsınız. Hayvan için, olasılıklarınız kedi, köpek ve balık olsaydı, üç bileşenle de aynısını yapardınız.

Bunlar, sürekli niteliklerle yan yana var olurlar. Yine de, "gösterge değerinin" (bir özellik "açık" olduğunda kullandığınız değer) büyüklüğünü, kullanmakta olduğunuz sürekli değerlerin büyüklükleriyle karşılaştırılabilecek şekilde ayarlamak isteyebilirsiniz.

Sorununuzu bu şekilde ele almayı seçtiyseniz, bir sonraki adım destek vektör makinesi gibi bir algoritma seçmek ve onu özellik vektörünüzü beslemek olacaktır. Elbette, Karar Ağaçları gibi bazı yaklaşımların başlamak için yukarıda bahsettiğim adıma ihtiyacı yoktur.


1
Harika, harika ipuçları! Test verilerinde cinsin eğitim verilerinde hiç gelmediği olası durum ne olacak? Örneğin, test verilerinde bir kaniş varsa ancak eğitim verilerinde yoksa? Gitmenin en iyi yolu, cins vektörünün tüm bileşenleri için sıfırlara sahip mi?
reptilicus

2
Aslında, karşıt yaklaşım (veri ayrıklaştırma olarak bilinir) genellikle hiyerarşik yöntemler (karar ağacı algoritmaları gibi) için en iyi seçimdir. Veri ayrıklaştırma aynı zamanda bir veri ön işleme tekniğidir (diğer cevapta belirtildiği gibi).
rvcoutinho

2

Veri ön işlemesine bakmalısınız . Herhangi bir makine öğrenme tekniğinden önce gelir. İşte iyi bir tanıtım (Google'da bulunur).

Tekniklerle ilgili olarak, birçok farklı yaklaşım vardır . Verilerinizi önceden işledikten sonra bunların çoğunu kullanabilirsiniz. Onları denemeli ve ihtiyaçlarınıza en uygun olanı seçmelisiniz.

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.