Null değerler için atanan değer
Çok sayıda eksik değer olması, makine öğrenimi modelinizin kalitesini olumsuz etkileyebilir. Atanan değer, null değer olarak bilinen eksik değerlerin doldurulması işlemidir. Veritabanı hatası, kullanıcının formun bir bölümünü doldurmaması veya yeni verileri toplamaya başladığınızda veri kümesinde eski veriler için yeni veri noktası bulunmaması gibi birçok nedenle eksik veri sorunu ortaya çıkabilir.
Atanan değerin, veriler üzerinde yaratabileceği etkileri anlamak önemlidir. Atanan değer, satırın veya sütunun tahmin gücünü korur ancak aynı zamanda daha önceden var olmayan örüntüler oluşturma ya da var olan örüntüde kirlilik yaratma olasılığı da vardır. Bu durum, verinin doğruluğunu azaltır.
Verilerin tam olmasını sağlamak ve gerektiğinde yeni süreçler uygulamak için veri toplama yönteminizi gözden geçirmek isteyebilirsiniz. Boş değerin temsil edilmesini isterseniz null değerlerini "diğer" veya "bilinmiyor" gibi bir değerle doldurabilirsiniz.
Otomatik ön işleme sırasında null değer ataması
Qlik AutoML'de otomatik veri ön işlemesi, veri kümenizi eğitime hazırlamak için null değer ataması kullanır. Otomatik veri ön işleme sırasında null değerler, değerlerinin %50'sinden fazlası eksik olan sütunlar hariç tutularak eksik değerler yerine değer atanarak işlenir. Kategorik özelliklerdeki eksik değerler "diğer" değeri ile sayısal özelliklerdeki eksik değerler ise ortalama ile ilişkilendirilmiştir.
Otomatik olarak tasarlanmış özellikler ve zamana duyarlı eğitim için ek hususlar geçerlidir.
Ön işleme hakkında daha fazla bilgi için bk. Otomatik veri hazırlama ve dönüştürme.
Otomatik tasarlanmış özellikler
Otomatik özellik mühendisliği ile AutoML, mevcut üst özelliklerden yeni özellikler oluşturur. Otomatik olarak tasarlanmış özellikler için null değer ataması aşağıdaki şekilde gerçekleştirilir:
-
Eğitime otomatik olarak tasarlanmış tarih özelliklerini dahil ederseniz bu özellikler için null değer atama işlemi sayısal özelliklerde olanla aynıdır.
-
Bunun yerine ana tarih özelliklerini kullanırsanız null değer atama işlemi kategorik özellikler için olduğu gibidir.
-
Serbest metin olarak ele alınan kategorik özellikler için null değer ataması, kategorik özelliklerde olduğu gibidir.
Zamana duyarlı eğitim
Zamana duyarlı eğitim açıksa null değer atama aşağıdaki gibi gerçekleştirilir:
-
Eğitim veri kümesinde seçilen tarih dizini için boş bir değere sahip olan tüm satırlar ön işleme sırasında kullanımdan kaldırılır. Bu satırlar modelleri eğitmek için kullanılmaz.
-
Sayısal özellikler için null değer atama doğrusal enterpolasyon ile gerçekleştirilir. Doğrusal enterpolasyon, otomatik olarak tasarlanmış tarih özellikleri için de kullanılır.
-
Kategorik özellikler için null değer atama işlemi, zamana duyarlı eğitim kullanmadığınız durumla aynıdır.
-
Tarih özelliklerini otomatik özellik mühendisliği olmadan kullanırsanız null değer atama işlemi kategorik özellikler için olduğu gibidir.
-
Serbest metin olarak ele alınan kategorik özellikler için null değer ataması, kategorik özelliklerde olduğu gibidir.
Zamana duyarlı eğitim hakkında daha fazla bilgi için bk. Zaman kullanan modeller oluşturma.
Atanan değer nasıl çalışır
Null değerler için atanan değerlerde kullanılan yaygın uygulamalar aşağıda yer almaktadır.
Sayısal değerler
İyi bir varsayılan uygulama, atanan değer olarak ortalama değeri kullanmaktır. Eksik değerler normal biçimde dağılıyorsa bu işlem, bir tahterevallinin ortasına ağırlık eklemek gibi olur ve hiçbir uçtaki ağırlığı etkilemez. Ancak değerin neyi temsil etmeyi amaçladığını her zaman göz önünde bulundurmalısınız. Örneğin, satış verilerinizdeki satış fiyatı değerlerinden bazıları null ise bu durumun, veritabanı hatası nedeniyle mi yoksa alıcının ödemede kupon kullanması nedeniyle mi ortaya çıktığı önemlidir. Ortalama yerine 0 veya başka bir değer kullanmak daha mı uygun olur?
Kategorik değerler
Kategorik değerler için iyi varsayılan uygulama, başka bir kategori daha eklemek ve bunu "Diğer", "Bilinmiyor" veya "Eksik" olarak adlandırmaktır. Bu kategori, eksik değerler rastgele dağılıyorsa ek değişimi barındırabilir veya eksik değer ile hedef değer arasında anlamlı bir ilişki varsa özellik önemi kazanabilir.
Değer atamada ikinci bir seçenek de, mod biçiminde ortalamayı kullanmaktır. Sayısal verilerde olduğu gibi, değerin neyi temsil etmeyi amaçladığını ve değerin neden eksik olduğunu göz önünde bulundurmak her zaman önemlidir. Eksik verilerin çoğunluğunun büyük olasılıkla mod olduğunu biliyorsanız mod ile değer atayabilirsiniz. Bunu bilmiyorsanız veya emin değilseniz kategorik değer için, veri kümesinde yeni ve benzersiz bir değer olacak şekilde bir dolgu metni atayabilirsiniz.
Sayısal değer atamanın etkileri
Atanan sayısal değer 1 durumunda, en uygun çizgiyi içeren dağılım grafiği gösteriliyor. Kategori (x) ekseninde sayısal bir değer ve değer (y) ekseninde de hedef değer var. Uygun gibi görünüyor ancak burada yalnızca x'in bilinmediği veri noktalarını hesaba katılıyor.
Atanan sayısal değer 2'de ortalama değeri atadık. Ancak eksik değerler rastgele gibi görünmüyor. Bunun sonucunda çizgi eğrilmesi ve kirlilik eklenmesiyle modelin genel doğruluğu azalıyor.
Atanan sayısal değer 3'teki grafikte, eksik değerlerin rastgele dağıldığı durumlarda ortalama değeri atarsak grafiğin nasıl görüneceği gösteriliyor. Diğer bir deyişle, değerin var olup olmadığının bilinmesi ek bilgi sağlamıyor. Eksik değerler rastgele dağıtıldığında bu durum, en uygun çizgiyi değiştirmiyor. Ortalama değer yerine 0 atasaydık en iyi uyum doğrusu, Atanan sayısal değer 2'dekine benzer bir şekilde değişirdi.
Örnek: Kredi şartları
Bir kişinin yıllık gelirinin x, kredi almaya uygun olduğu tutarın ise y olduğu bir gerçek dünya örneği düşünebiliriz. Birisi ne kadar çok para kazanırsa borç alabileceği miktarın da o kadar arttığı bir ilişki bekleriz. Yukarıdaki, Atanan sayısal değer 1 ile aynı örüntü ortaya çıkar.
Daha az kazanan kişilerin, yıllık gelirlerini girme olasılığının daha az olduğunu düşünün. Bu senaryoda x değerinin eksik olmasının belirli bir nedeni vardır. Bu değerler için ortalama değeri atamak, modelin sonuçlarında eğriliğe neden olur. Sonuç, Atanan sayısal değer 2'ye benzer.
Şimdi de veritabanındaki bazı kayıtların rastgele silindiğini varsayın. Kayıtlar bazı kişilerin ne kadar kazandığını içeriyordu ancak kişinin kaydı yoktu. Bu durumda x değeri rastgele null olur. Bu etki, Atanan sayısal değer 3'te gösterilmiştir ve eksik değer yerine güvenle atama yapabiliriz.
Göz önünde bulundurmanız gereken başka bir nokta da şudur: Ortalama yerine 0 atanırsa ne olur? Kredi şartları örneğinde, birisinin yıllık 0 dolar kazandığını iddia etmek muhtemelen doğru bir temsil olmazdı. Bu, modelde, Atanan sayısal değer 2'dekine benzer bir eğrilik olmasına neden olurdu.
Kategorik değerler atamanın etkileri
Yukarıdaki sayısal senaryoda eksik değerler yerine atamak için ortalamayı kullandık. Kategorik değerlerde kullanılacak basit bir yöntem, mod (en sık görülen değer) hesaplamaktır. Mod atamada karşılaşılan bazı zorluklar, sayısal değer için ortalama atarken karşılaşılan zorlukların aynısıdır.
Aşağıdaki grafikte, Missing_1 sütunundaki eksik değerlerin hedefe göre bir örüntüsü vardır ancak Missing_2 rastgele dağılmıştır. Missing_2, genel ortalama hedef değerle eşleştiği için bunu anlayabiliyoruz. Missing_1, Sayısal değer atama 2'ye, Missing_2 ise Sayısal değer atama 3'e benzer.
Sayısal örnekten farkı, bu senaryoda Missing_1 ve Missing_2 sütunlarının her ikisinin de örüntü tanımada eğriliğe neden olmasıdır. Yalnızca bir veri alt kümesi (B kategorisi) için eğrilik oluşur. Bu, en büyük kategori olduğundan mod ile değer atanırsa atanan değer bu olur.
Tek bir değer ile hedef değer arasındaki ilişkide eğrilik oluşması, atanan değerin getirdiği tek risk değildir ancak en yaygın görüleni ve değerlendirilmesi en kolay olanıdır. Diğer riskler sonucunda ise çoğunlukla kirlilik oluşur ve doğruluk azalır. Ancak eğrilik riski, göreli olarak seyrek olan boyutların bırakılmasıyla büyük oranda azaltılabilir. Bir sütunda veya satırda izin verilebilecek seyreklik düzeyinin tam olarak ne olduğuna dair tartışmalar sıkça yapılmaktadır. Ancak veriyi, verinin tanımlamayı amaçladığı şeyi artık temsil etmeyecek ölçüde bozma potansiyeli olan değerlerin atanmasıyla ilgili tartışmalar çok daha azdır.