Veritabanlarındaki eksik verileri görselleştirme – codediesel

In: Genel


Veritabanlarındaki eksik veriler, uygulamalarda hatalara veya yanlış hesaplamalara neden olabilir. Son zamanlarda, bir RETS uygulaması üzerinde çalışırken, MySQL tablolarından birinde çok fazla eksik değerle karşılaşılmadığından emin olmam gerekiyordu. Eksik değerlerin yüzdesini bulmak için kolayca bir SQL sorgusu yazabilsem de, çoğu zaman önce tabloda eksik veri miktarının görsel bir temsilini elde etmeyi ve ardından gerekirse daha ayrıntılı incelemeyi daha kolay buluyorum. Veritabanı tablolarınızdaki eksik verilerin görsel bir temsilini kolayca elde etmenizi sağlayan bulduğum bir kitaplık eksik – bir Python kitaplığı.

Pandalar tarafından düzgün bir şekilde okunabiliyorsa, eksik verileri veritabanı tablolarında, CSV dosyalarında veya diğer tablo veri yapılarında görselleştirmek için missno kitaplığını kullanabiliriz.

Eksik kitaplık yükleme

Öncelikle kütüphaneyi kurmak için pip kullanacağız.

pip install missingno

Eksik verilerin görselleştirilmesi

Aşağıdaki Python kullanarak veritabanı tablosunu daha sonra görüntüleme bölümü için kullanılacak bir CSV dosyasına dönüştürmeyi daha kolay buluyorum. Burada benim CSV örneğim 418 satırdan oluşuyor. Ama binlere kadar çıkabilir.

Benim için eksik veriler hakkında fikir edinmenin en verimli yolu, matris yoğunluk göstergesi kullanmaktır. İlk kod yeterince basit. Bunun ayrıca CSV dosyasını okumayı kolaylaştırmak ve onu eksik kitaplığın gerektirdiği bir veri çerçevesine dönüştürmek için Pandalar kullandığını unutmayın.

import pandas as pd 
import missingno as msno 
  
# Loading the dataset 
df = pd.read_csv("data.csv")
  
# Visualize missing values as a matrix 
im = msno.matrix(df)
im.get_figure().savefig("data.png")

Örnek 1.Örnek 1.

Dikey siyah bantlar sütunlardır. Yatay beyaz çizgiler eksik değerlerdir. Sağdaki mini grafik, veri bütünlüğünün genel şeklini özetler ve verilerde maksimum ve minimum sıfırın bulunduğu satırları gösterir. Varsayılan olarak kitaplık, daha büyük bir veri kümesi için okunamaz hale geldiğinden, büyük bir ekran için sütun adlarını atlar.

Binlerce veya milyonlarca satırınız varsa, örneği belirli bir boyutla sınırlayabilirsiniz.

msno.matrix(df.sample(500)) # Only display 500 rows from the data set

Yukarıdaki ekrandan da görebileceğiniz gibi, ekran oldukça yoğun. Tüm tablo sütunları ekrana dahil edilir. Bununla birlikte, seçici sayıda sütun görüntüleyebiliriz. Örneğin, en çok eksik değer kümesine sahip en alttaki 10 sütunu görüntüleyebiliriz.

# Loading the dataset 
df = pd.read_csv("data.csv") 
  
# Visualize missing values as a matrix 
filtered_data = msno.nullity_filter(df, filter="bottom", n=10) # or filter="top"
im = msno.matrix(filtered_data)
im.get_figure().savefig("data.png")

Örnek 2.Örnek 2.

Burada yalnızca en eksik değerlere sahip 10 sütun görüntülenir. Bunu, tablonuzun boyutuna bağlı olarak istediğiniz sayıda sütunla değiştirebilirsiniz.

Ek parametreler

Son ekranı değiştirebileceğiniz çeşitli parametreler vardır.

# SIZE : 
im = msno.matrix(filtered_data, figsize=(10,6)) # 10 inch by 6 inch image

# COLOR:
im = msno.matrix(filtered_data, color=(0.1, 0.2, 0.5)) # Blue color

# FONT-SIZE
im = msno.matrix(filtered_data, fontsize=(10))

Ayrıca bir çubuk grafik, histogram ve dendogram verilen veri seti için Belki bunları başka bir yazıda ele alırım.

Bir cevap yazın

Ready to Grow Your Business?

We Serve our Clients’ Best Interests with the Best Marketing Solutions. Find out More

How Can We Help You?

Need to bounce off ideas for an upcoming project or digital campaign? Looking to transform your business with the implementation of full potential digital marketing?

For any career inquiries, please visit our careers page here.
[contact-form-7 404 "Bulunamadı"]