Python ile Etkileşimli Dashboard Oluşturma

Python ile Etkileşimli Dashboard Oluşturma

Merhaba,

Daha önceki yazılarımızda veri tiplerine göre görselleştirme yöntemlerinden dashboard araçlarına kadar bir özel sunmuştuk. Veri görselleştirme serisinin bu son yazısında ise etkileşimli dashboard oluşturma konusuna değineceğiz.

Serinin önceki yazılarına da ayrıca gözatabilirsiniz:

  1. Adım Adım Veri Görselleştirme: Tipler ve Tüyolar
  2. Adım Adım Veri Görselleştirme: Python Temelleri
  3. Adım Adım Veri Görselleştirme: Çeşitli Senaryolar ile Görselleştirme
  4. Adım Adım Veri Görselleştirme: Dashboard Oluşturmada Yardımcı Araçlar

Toplu halde veri görselleştirme ile bilgi aktarımında amacımıza göre kullandığımız araç ve izleyeceğimiz yol değişebilir. Genel olarak durağan ve tek bilgi sunmayı hedefleyen görselleştirme görevlerimiz oluyor olsa da detaylı ve çok sayıda alt kırılımı olan veri setimiz veya araştırma konumuzda tüm bilgileri bir anda sunmak neredeyse imkansız olabiliyor. Diğer bir problem de farklı kişiler farklı bilgilere odaklanmak isteyebiliyor. Bu sebeple:

  • Onlarca kategorik değişkenden hangisi veya hangilerini grafiğe dökmeliyim?
  • Zamana bağlı onlarca numerik değişkenin hangisi veya hangilerini grafiğe dökmeliyim?
  • x ve y seneleri arasındaki mi yoksa x+5 ve y+7 seneleri arasındaki verileri göstermeliyim?

gibi soruların tek bir cevabı olamıyor. Burada görselleri oluşturma mantığımızı biraz değiştirmemiz, sabit girdi ile sabit bir grafik oluşturmaktan daha fazlasını yapmamız gerekiyor. Ve burada etkileşimli dashboardlara çıkıyor kapımız.

Bir önceki yazıda bahsettiğimiz gibi dashboard oluşturmak bir çok farklı seçenek var. Yeteneklerimiz ve görev kısıtlarımıza göre farklı opsiyonlara yönelebiliriz. Powerbi ve Google Data Studio gibi opsiyonlar arayüz üzerinden seçimler yaparak veya Python gibi bir programlama dili yardımı ile de dashboard oluşturmak mümkün. Ben yine Python’dan ilerleyeceğim.

Uygulama Üzerinden Dashboard Oluşturma ve Etkileşim Araçları

Örnek olarak önceki yazılarda da kullandığımız “İBB Şehir Tiyatrolarında Sahnelenen Oyunlar Verisi”ni kullandım. Veri seti oyun adı, tarihi, oyun kategorisi, oyun tipi, sahne konumu ve ziyaretçi sayısı değişkenlerini içeren 27bin satır veriden oluşuyor. Toplamda 77 farklı salonu barındıran veri setinde kimi salonlarda binlerce kez oyunlar sahnelenmişken kimi salonlarda bir kaç kez oyunlar sergilenmiş. Her sahne içerisinde sergilenen oyunlar ve katılımcı grupları kendi içinde farklı desenler oluşturuyor. Bu gibi bir veri setinde oluşturulacak olan grafikler ancak farklı sorulara da aynı zamanda cevap verebilirse maksimum bilgiyi sunuyor. Bu konuda Python dash kütüphanesi ile oluşturmuş olduğum bir örnek dashboard üzerinde, dashboard etkileşim araçlarına ve etkilerine değineceğim. Kodlara github adresimden ulaşabilirsiniz.

Şehir Tiyatrolarında Sahnelenen Oyunlar Verisi – (https://data.ibb.gov.tr/dataset/sehir-tiyatrolari-veri-seti/resource/79465ce9-8755-4b57-8e6c-def0c0caadc8)

15sn’lik bir incelemenin ardından genel olarak karşımızdaki 3 farklı grafiğin verdiği bilgiyi kolayca anlayabiliyoruz. Grafik başlıklarından da anlaşılacağı üzere spesifik sahnelere ait bilgiler sunulmuş, tüm veri setine ait bilgiler sunulmamış.

Grafiklerimizin etkileşimli olması ve kullanıcının seçimleri ile yönetilebilmesini sağlayan aslında burada gördüğümüz dört farklı araç. Veri görselleştirmede bu araçların sırasıyla uygun kullanımlarına değinelim.

1. Dropdown Menu

Dropdown menüler, içerisinde bulunan mümkün opsiyonlardan birini (çoklu da olabilir) seçmemizi sağlayan bir yardımcı araç. Etkileşimli dashboardlar oluştururken genellikle dropdown menüler ile kategorik değişkenlerin sınıflarını seçme imkanı sunuyoruz kullanıcıya. Kullanıcının seçtiği sınıfa göre veri setini daraltıyor ve görsellerin filtrelenmiş veri seti ile oluşturulmasını sağlıyoruz. Mesela bu örneğimizde “Fatih Reşat Nuri Sahnesi” seçildiğinde 27bin satır gözlemden sadece bu sahnenin bilgisini içerenleri kullanacağımızı belirtmiş olduk. Diğer görsellerin tümü sadece bu sahneye ait bilgileri kullanıyor oldu. Seçimi değiştirerek tüm bilgilerin farklı bir sahneye göre güncellenmesini sağlayabilirsiniz. Örnek diğer senaryolar ise şu şekilde olabilir:

  • Araç plakasını seçerek,
  • Uçuş ID’si seçerek,
  • Meyve adını seçerek, sadece o meyve / grubun bilgilerini kullanarak görselleri oluşturmak

2. Button

Buttonlar aslında her web sitede karşılaştığımız bildiğimiz bir yardımcı araçtır. Bir örneğini de burada gördüğünüz gibi random seçimler yaptırmak için ekliyor olduk. Fakat dashboardlarda buttonların kullanım genellikle hesaplama işlemlerini veya veri bilimi proje çıktılarından tahminleme motorlarını uygun değerler girildikten sonra tetiklemektir. Güzel bulduğum bir örneğine şuradan ulaşabilirsiniz.

3. Tarih Seçici

Tarih seçiciler spesifik bir tarih veya 2 tarihin aralığını seçmemizi sağlayamaktadır. Zaman bilgisi ile birlikte tutulmuş büyük veri setlerimizde, kullanıcıların belirli zaman dilimlerine veya noktalara kolayca odaklanabilmelerini sağlamak için tarih seçicileri kullanıyoruz. Bazı veri setlerinizde buna ihtiyacınız olmayabilir fakat 100 sene boyunca tutulmuş kayıtları barındıran bir veri setinde 8 ocak 1995 tarihindeki bir değere odaklanmak isterseniz bu imkansız olacaktır. Tarih seçicileri kullanarak kullanıcı dostu, istenilen tarihe odaklanan, temiz bilgi sunulabilir görseller oluşturmak da mümkün olacaktır. Örneğimizde tüm grafikler seçilen tarih aralığındaki verilere göre güncellenerek kullanıcıya sunuluyor.

4. Radio Button – Opsiyon Button

Kullanıcıların farklı opsiyonları bir arada görebildiği ve sadece birini seçebildiği bir yardımcı araçtır. Dashboardlarda da kullanıcıdan görmek istediği değişken veya kategori gibi bilgileri belirtmesi için kullanıyoruz, kullanıcı seçimine göre grafikleri güncelliyoruz. Buradaki örnekte direkt olarak kullanıcının görmek istediği grafiği seçmesini istedik. Seçimlere göre kullanıcının görecek olduğu grafikler şu 3’ünden biri olacak:

Ek olarak bu araçları PowerBi veya GDS ile oluşturmak isterseniz programlar kendileri bu seçimleri aktif edebiliyor. Fakat eğer Python gibi bir programlama dili ile bu araçları kullanmak isterseniz arka plandaki uygun filtreleme, alt örneklemler alma ve doğru girdileri grafikler ile bağlama kısmı sizin omuzlarınızda, bu kısımlar zaman alsa da çok keyifli. Her ne kadar burada CSV dosyadan veriyi okumuş olsak da canlı akan / toplanan verileri de görselleştireceğiniz durumlarla karşılaşılabilir ve onlara uygun yaklaşımlar sergilemeniz gerekebilir (çok daha eğlenceliler).


Veri görselleştirme serimiz boyunca en temelden başlayıp basit düzeyde de olsa tüyolar ve uygulama detayları paylaşıyor olduk ve bir dashboard ile bütün bir şekilde görsel çıktısını etkili bir şekilde sunmaya değindik. Çok defa uyguladıktan sonra giderek uzmanlaşılan konular olduğunu belirtmek gerek bu konuların.

İlk yazı serim boyunca çok eğlendim ve genel olarak iş hayatımda da çokça kullanıyor olduğum başlıklar üzerinden bilgi aktarımları gerçekleştiriyor oldum. Anlattıklarımı profesyonel hayatta icra ediyor olsam da yazılarım amatörce olmuş olabilir. Seri boyunca gördüğünüz hatalarım, belirtmek/ paylaşmak istediğiniz herhangi bir konuda hakkında veya önerileriniz için benimle iletişime geçebilirsiniz.

Bir sonraki seride görüşmek üzere.

yazı

Ben Bilal Latif Ozdemir, DEU İstatistik bölümü mezunuyum ve su an Ege Üniversitesi Bilgi Teknolojileri programında yüksek lisans yapıyorum.
Aynı zamanda su an İzmir'de veri bilimci olarak çalışıyorum. Veri bilimi, Python ve istatistiksel analizler üzerine kendimi geliştirmeyi seviyorum ve bu alanda çalışan kişilere destek olmaya çalışıyorum.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.