3 Mart 2016 Perşembe

Pandas ve Veri Analizi Çalışması

Global bir problem üzerinden başladığım veri analizi çalışmam Pandas üzerinden halen devam ediyor.Çalışmayı yürütürken adeta Pandas Python veri analizi paketine ait kütüphanenin adeta dibini kazmış gibi oldum.Ele aldığım problemin küresel bir sorun olması sebebiyle çok boyutluluk içermesi analiz yapmayı  zorlaştırdı. Pandas üzerinde modelleme ve veri analizini yaparken  ;  Pandas'ın ileri seviye özellikleri ile  ilgili online kitaplarda ve hızlı eğitim rehberlerinde  yer almayan bazı sorunlarla karşılaştım.
Bu sorunlarla uğraşırken  ise indeks dilimleme işi yapan IndexSlice fonksiyonu ile ilgili  API rehberinde bir döküman bilgisi eksikliğini fark ettim.Bu bilgi eksikliğine Github platformunda  Pandas'ın  özel forumunda dikkat çektim. Karşılaştığım sorun ise Excel'de bildiğimiz gibi özet tablo ve grafik çıkaran pivot tablo'nun Pandas 'ta detaylı filtreleme yapması ile ilgiliydi.Açıkçası Pandas üzerinde pivot tablo filtrelemesi   yapmak  pek de  kullanıcı dostu ve pratik değil.Diğer bir yandan da Pandas'ın veri analizinde popüler ve deneyimli rakibi olan R paket programında Pandas'da olduğu gibi tek satırla pivot tablo oluşturma fonksiyonu olmadığını belirtmek de fayda var.R paket programında bu işi yapmak için birkaç satırdan fazla kod  yazmak gerekiyormuş.

Diğer bir yandan da Pandas öğrenmek isteyenler ile ilgili kendi deneyimlerimi de paylaşmak istiyorum.Pandas kütüphanesini öğrenmede ve kullanmada API referans ve  hızlı pratik bilgiler barındıran tutorial sayfasından faydalanabilirsiniz.Her fonksiyonun kendine özgü parametreleri bulunuyor.Bütün bu parametreleri ezberlemek gerekmiyor, API referans belgesi burada yardımınıza yetişiyor.Tabii ki evdeki hesap çarşıya her  zaman uymayacaktır.Gerçek dünya problemlerini çözmede çok farklı sorunlar ile karşılaşabilirsiniz.İşte burada yardımınıza StackoverFlow'un özel Pandas forumu   koşacaktır.Bu forum gerçekten çok hızlı ve kaliteli hizmet veriyor.Yazdığınız sorunlara çok hızlı yanıtlar alabiliyorsunuz.

Ve son olarak da Pandas 'la deneyimlediğim hız ve bellek performansından bahsetmek isterim.Diziler üzerinden vektörleştirme işlemleri üzerine oturtulmuş bir programlama çatısına sahip olması sebebiyle Pandas 'ta  çok hızlı veri işleme süreçleri yürütülebiliyor.Bir MSSQL kullanıcısı olarak , yüzlerce satırdan oluşan veri tabanlarında  yaptığım sorgu işlemlerinde ; işletim sisteminde yaşadığım çökme ve sorgulama hız sorunlarını bir an aklıma getirdim. Ve Pandas bana adeta  Şahin marka araçtan  Wolkswagen polo tipi  bir araca geçiş deneyimini yaşattı. Pandas 'ın kod yazımı da  Python gibi olabildiğince sade yapılmış.İlk zamanlar Sql gibi düşünüp sorguları Pandas'a dönüştürmek zor olabilir.Bununla birlikte zamanla bu işin kolaylaşıyor olduğunu kendim görebiliyorum.Bütün bu deneyimlerim küçük ve orta boyutlu veri tabanları için geçerliydi.Big data işleme tarafında ise takip ediyor olduğum Pandas'ın baş geliştiricisi McKinney'e göre  bazı problem bulunuyor.McKinney bu problemleri veriye direkt erişim ve veri serileştirme  olarak adlandırıyor.Pandas henüz Spark ve Hadoop Map Reduce gibi Big Data işleme araçlarıyla doğal performansta çalışamıyor.Bununla birlikte bu sorunu büyük bir ölçüde çözmek için geliştiriyor oldukları  Apache Arrow projesini tamamlamaya  da çok yaklaşmışlar.Ve bunun da gelecek  Veri Bilimi ve Big Data çalışmaları için çok heyecan verici bir proje olduğunu belirtiyorlar.

Hiç yorum yok:

Yorum Gönder