Tek etkin vektörler

Tamamlandı

Şimdiye kadar sürekli veri kodlamayı (kayan nokta sayıları), sıralı veri kodlamayı (genellikle tamsayılar) ve ikili kategorik veri kodlamayı (hayatta kaldı/öldü, erkek/kadın vb.) ele aldık.

Şimdi verileri kodlamayı öğrenecek ve ikiden fazla sınıfı olan kategorik veri kaynaklarını keşfedeceğiz. Ayrıca model geliştirme kararlarımızın model performansı üzerindeki zararlı olabilecek etkilerini de keşfedeceğiz.

Kategorik veriler sayısal değildir

Kategorik veriler, diğer veri türlerinin sayılarla çalıştığı gibi sayılarla çalışmaz. Sıralı veya sürekli (sayısal) verilerde daha yüksek değerler miktarın artması anlamına gelmez. Örneğin Titanik'te 30 TL'lik bilet fiyatı, 12 TL'lik bilet fiyatından daha fazla paradır.

Buna karşılık, kategorik verilerin mantıksal sırası yoktur. İkiden fazla sınıfı olan kategorik özellikler olarak kodlamaya çalışırsak sorunlarla karşılaşırız.

Örneğin, Port of Embarkment üç değere sahiptir: C (Cherbourg), Q (Queenstown) ve S (Southampton). Bu simgeleri sayılarla değiştiremiyoruz. Bunu yaparsak, bu bağlantı noktalarından birinin diğer bağlantı noktalarından 'küçük' olduğu, diğeri ise diğer bağlantı noktalarından 'daha büyük' olduğu anlamına gelmez. Bu değişikliğin bir anlamı yok.

Bu soruna örnek olarak, rüzgara dikkat edelim ve Taşıma Noktası ile Anahtar Sınıfı arasındaki ilişkiyi modelleyelim ve Ambar Bağlantı Noktası'nı bir sayı olarak ele alalım. İlk olarak C < S Q < :

Diagram of a graph showing a plot of PClass against PortAsNumber.

Bu çizimde, çizgi Q Bağlantı Noktası için ~3 sınıfını tahmin eder.

Şimdi S < C < Q ayarlarsak farklı bir eğilim çizgisi ve tahmin elde ederiz:

Diagram of a graph showing a plot of PClass against PortAsNumber with a flatter trend line.

Bu eğilim çizgilerinin hiçbiri doğru değil. Kategorileri sürekli özellikler olarak ele almak mantıklı değildir. Daha sonra kategorilerle nasıl çalışacağız?

One-hot kodlama

Tek etkin kodlama, kategorik verileri bu sorunu önleyen bir şekilde kodlayabilir. Kullanılabilir her kategori kendi tek sütununu alır ve belirli bir satır ait olduğu kategoride yalnızca tek bir 1 değeri içerir.

Örneğin, bağlantı noktası değerini üç sütunda kodlayabiliriz, biri Cherbourg için, biri Queenstown için, biri Southampton için (buradaki tam sıralamanın bir ilgisi yoktur). Cherbourg'a binen birinin Port_Cherbourg sütununda şöyle bir 1 olur:

Port_Cherbourg Port_Queenstown Port_Southampton
1 0 0

Queenstown'a binen birinin ikinci sütununda 1 olur:

Port_Cherbourg Port_Queenstown Port_Southampton
0 1 0

Southampton'a binen birinin üçüncü sütunda 1 olması gerekirdi.

Port_Cherbourg Port_Queenstown Port_Southampton
0 0 1

Tek etkin kodlama, veri temizleme ve istatistiksel güç

Tek etkin kodlamayı kullanmadan önce, kullanımının bir modelin gerçek dünya performansı üzerinde olumlu veya olumsuz etkileri olabileceğini anlamamız gerekir.

İstatistiksel güç nedir?

İstatistiksel güç, bir modelin özellikler ve etiketler arasındaki gerçek ilişkileri güvenilir bir şekilde tanımlama becerisini ifade eder. Örneğin güçlü bir model, bilet fiyatı ile hayatta kalma oranı arasındaki ilişkiyi yüksek oranda kesin olarak bildirebilir. Buna karşılık, istatistiksel gücü düşük olan bir model düşük düzeyde kesinlik içeren bir ilişki bildirebilir veya bu ilişkiyi hiç bulamayabilir.

Burada matematikten kaçınacağız, ancak yaptığımız seçimlerin modellerimizin gücünü etkileyebildiğini unutmayın.

Verilerin kaldırılması istatistiksel gücü düşürür

Veri temizleme işleminin kısmen eksik veri örneklerinin kaldırılmasını içerdiğinden birkaç kez bahsettik. Ne yazık ki, veri temizleme istatistiksel gücü azaltabilir. Örneğin, aşağıdaki veriler göz önünde bulundurularak Titanik yolculuğunun hayatta kalmasını tahmin etmek istediğimizi düşünelim:

Bilet Fiyatı Hayatta kalma
£4 0
£8 0
£10 1
£25 1

Bilet değeri 15 olan birinin hayatta kalacağını tahmin edebiliriz, çünkü en az 10 pounda mal olan insanlar hayatta kaldı. Ancak daha az verimiz olsaydı bu tahmin daha zor olurdu:

Bilet Fiyatı Hayatta kalma
£4 0
£8 0
£25 1

Değersiz sütunlar daha düşük istatistiksel güç

Çok az değere sahip özellikler, özellikle özellik (veya sütun) sayısı örnek (veya satır) sayısına yaklaşmaya başladığında istatistiksel güce de zarar verebilir.

Örneğin, aşağıdaki verilerle hayatta kalma durumuyla ilgili tahminde bulunabilmek istediğimizi söyleyin:

Bilet Fiyatı Hayatta kalma
£4 0
£4 0
£25 1
£25 1

Kabin A bileti olan birinin hayatta kalacağını güvenle tahmin edebiliriz, çünkü 25 pound bileti olan herkes hayatta kaldı.

Ancak artık başka bir özelliğimiz var (Kabin):

Bilet Fiyatı Kabin Hayatta kalma
£4 A 0
£4 A 0
£25 K 1
£25 K 1

Kabin, yalnızca bilet fiyatına karşılık geldiği için yararlı bilgiler sağlamaz. £25 Kabin A bileti olan birinin hayatta kalıp kalamayacakları belli değil. A Kabini'nden diğerleri gibi yok mu oluyorlar yoksa 25 pound biletli olanlar gibi hayatta mı kalıyorlar?

Tek etkin kodlama istatistiksel gücü azaltabilir

Tek etkin kodlama, her olası kategorik değer için bir tane olan birden çok sütun gerektirdiğinden, istatistiksel gücü sürekli veya sıralı verilerden daha fazla azaltır. Örneğin, başlatma bağlantı noktasını tek erişimli olarak kodlarsak üç model girişi (C, S ve Q) ekleriz.

Kategorik değişken, kategori sayısı örnek sayısından (veri kümesi satırları) önemli ölçüde daha azsa yararlı olur. Kategorik bir değişken, diğer girişler aracılığıyla model için henüz kullanılabilir olmayan bilgiler sağlıyorsa da yararlı olur.

Örneğin, farklı bağlantı noktalarına çıkan insanlar için hayatta kalma olasılığının farklı olduğunu gördük. Bu varyasyon muhtemelen Queenstown limanındaki çoğu kişinin üçüncü sınıf biletleri olduğu gerçeğini yansıtmaktadır. Bu nedenle, başlatma muhtemelen modelimize ilgili bilgiler eklemeden istatistiksel gücü hafif bir dereceye kadar azaltır.

Buna karşılık, Kabin muhtemelen hayatta kalma üzerinde güçlü bir etkiye sahiptir. Bunun nedeni, geminin alt kabinlerinin, geminin üst güvertesine daha yakın olan kabinlerin suyla dolu olmasıdır. Buna göre Titanik veri kümesi 147 farklı kabin içerir. Bu, modellerimizi dahil ettiğimizde istatistiksel gücünü azaltır. Kabin verilerinin bize yardımcı olup olmadığını görmek için modelimize Kabin verilerini dahil etme veya dışlama denemeleri yapmamız gerekebilir.

Sonraki alıştırmamızda, titanik yolculuğun hayatta kalmasını tahmin eden modelimizi oluşturacağız ve bunu yaparken tek seferlik kodlama yapacağız.