Ana içeriğe geç Tamamlayıcı içeriğe geç

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.

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 değerler için mod, sayısal değerler için ortalama atanır.

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.

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 1: Bilinen değerlerin en uygun çizgi ile çizimi

En uygun doğrusal çizgiyi içeren grafik.

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 2: Bilinen değerlerin ve atanan ortalama değerlerin çizimi. Atanan değerler rastgele dağıtılmıyor ve yeni bir en uygun çizgi ortaya çıkıyor.

En uygun çizginin eğilmesine neden olan atanan değerleri içeren grafik.

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.

Atanan sayısal değer 3: Bilinen değerler ve rastgele dağılmış atanan değerlerin grafiği. En iyi uyum doğrusu değişmedi.

En iyi uyum doğrusunun eğilmesine neden olmayan atanan değerlerin grafiği.

Ö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.

Kategorik atanan değer: Missing_1 ve Missing_2 sütunları, örüntü barındıran ve barındırmayan eksik değerlerin birer örneğidir.

Eksik değerlerin genel ortalama ve kategorik atanan değerleri ile A, B ve C sınıflarının dağılımını gösteren grafik.

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.

Daha fazla bilgi

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!