Python Veri Bilimi Kütüphaneleri 2 – Numpy Metodoloji

Python içerisinde en önemli ve temel olarak bakılan kütüphanelerden birisi de şüphesiz numpy kütüphanesidir. Bu serinin devamında öncelikle pandas kütüphanesinden şimdi de numpy ile devam edeceğim. Genelde sahip olduğu kütüphane bazlı özelliklerde fonksiyonel yapısı, diğer kütüphanelere göre daha sağlam bir altyapıya dayanmaktadır. Bundan ötürü, yapılacak olan matematiksel işlemleri de hızlıca ve sağlıklı bir şekilde yapabilmektedir. Açılımı zaten python içerisinde Numerical (num) python (py) olarak bilinmektedir. Buradan da anlaşıldığı üzere, matematiksel yönü kuvvetli, istenen sonuçlara hızlı ve kolay şekilde ulaşması mümkün bir kütüphanedir. Makine Öğrenmesi ve Derin Öğrenme konularında vazgeçilmez yapı taşı kütüphanelerinden birisidir. Temel anlamda yapılan her işlemin arka planında kendisi rol oynar. Burada bahsedilen şey array halde bulunan matrisler ve onların durumlarına göre kendi aralarındaki işlemler, çıktılarının hesaplanması ve proje olarak yapılan iş esasında matrisleri kullanmak en gerekli koşuldur. Genellikle bunu Image Processing işlemlerinde sıkça görsek bile, bu alanda çalışacak olan kişilerin yapacağı işlemlerde numpy bilgisi mutlaka olmalıdır.

 

Başlı başına bir bütün olarak kullanılan bu kütüphane, sizlere kullanacağınız modeller için uygun matematiksel yapılar sunar. Bu sayede, yapacağınız işlemlerin betimsel anlamda açıklamaları da aynı şekilde daha mantıklı olur. Üst paragrafta da bahsettiğim gibi matris işlemleri matematik tabanında en mühim olaydır. Bu halihazırda sizin yapacak olduğunuz işlemler bütününe yayılır ve katman bazlı olarak işlem süreçlerinde numpy size kolaylık sağlar. En önemli katman işlemlerini, resimleri aktif olarak işlediğimiz zaman gözle görülebilir bir şekilde fark edebiliriz. OpenCV kütüphanesi işlemler boyunca gerekli yükü sırtlasa bile, herhangi bir numpy kütüphanesinin array yapısı aracılığı ile yapılmamış işlemler sürdürülebilir bir halde olmaz. Yapılacak birçok işlem arkasında, matrisler ve matrislerin çarpımları olacağı için numpy kütüphanesi bu işlerin vazgeçilmez değeridir. Fonksiyonel yapısının verdiği imkanlar doğrultusunda tam anlamıyla kullanıcı dostu bir kütüphanedir. Dünya çapında bu alanda çalışan kişilere yapılan testlere göre, Python kütüphaneleri içerisinde en kullanışlı ilk 5 kütüphane içerisindedir. Kullanım alanları da bununla doğru orantılı olarak artmaktadır.

 

 

Derin öğrenme ve Makine Öğrenmesi konuları, sanılanın aksine sadece uzun satırlar süren kodları yazmak demek değildir. Bu sebepten insanların çoğu, arka planında dönen olayları bilmeden kod yazmaya hatta bu alanda kariyer yapmaya başlıyorlar. Bu olayların arka tarafında yoğun bir matematik ve istatistik bilgisi yatmaktadır ki buna en iyi örnek, Image Processing işlemleridir. Çünkü arka tarafında tamamen matematik yatmaktadır ki bu işlemler matrisler ve kullanılan kütüphaneler içerisinde numpy vardır. Bu da bu kütüphanenin hemen hemen her yerde aktif görev aldığının en büyük kanıtıdır. Bu şekilde çok fonksiyonlu olan python içerisinde kütüphane yoktur. Çünkü her alanda mutlaka bulunması gereken iki kütüphane vardır. Bunlar numpy ve pandas kütüphaneleridir. Bunlar hem veriyi işleme hem veri üzerinde sayısal işlemleri yapma konusunda kolaylık sağlarken bizlere veriye bakış açısında oluşan farklılıkları gösterir. Bu da Python bünyesinde bulunan kütüphanelerin özellikle veri işleme ve veri analizleri üzerine olan kütüphanelerin ne derece mühim olduğunun bir kanıtıdır.

 

 

Numpy kütüphanesinin veri şekillendirme ve hazırlama konusunda büyük ölçüde fark yarattığını net bir şekilde söyleyebilirim. Numpy kütüphanesi içerisinde bulunan reshape, array, exp, std, min, sum gibi birçok anlamda kullanışlı diyeceğimiz fonksiyonlara sahiptir. Diğer kütüphanelerden ayırt eden en temel seviyesi aslında budur. Bunun gerekli detaylarına ulaşmak isteyenler için kaynaklar kısmında bunlara dair bilgiler bırakacağım. Buradan siz de numpy kütüphanesini kullanırken ne gibi özelliklerden faydalanabilirsiniz ya da sayısal işlemlerde ne tarz kolaylıklar yakalayabilirsiniz bunları kendiniz de cheat sheet veya numpy’ın kendine ait olan internet sitesinden bulabilirsiniz.

 

Bu zaman kadar okuduğunuz ve yazılarımı takip ettiğiniz için teşekkür eder, iyi günler dilerim.

 

References:

-https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Numpy_Python_Cheat_Sheet.pdf

-https://numpy.org/

-https://cs231n.github.io/python-numpy-tutorial/

-https://www.w3schools.com/python/numpy_intro.asp

-http://globalaihub.com/python-veri-bilimi-kutuphaneleri-1-pandas-metodoloji/

-http://globalaihub.com/python-data-science-libraries-1-pandas-methodology/

Python Veri Bilimi Kütüphaneleri 1 – Pandas Metodoloji

Üzerinde çalıştığım konuları, sizlere de tek tek anlatacağım bir seri haline getiriyorum. Bu sebeple, aktif olarak üzerinde çalıştığım hemen hemen tüm kütüphanelerin metodolojisini ve kullanım yönlerini anlatacağım. Önceliği veri okumadan veri ön işleme gibi fonksiyonel işlemlere izin veren pandas ile başlayacağım. Eksik verilerin gözlenmesi ve o verilerin veri seti içerisinden çıkartma işlemi gibi veri bilimi için hayati önemi olan adımları, bu kütüphane sayesinde veri ön işleme adımlarını rahatlıkla gerçekleştirebiliriz. Ek olarak veri tiplerini ve onların üzerinde yapacağınız, sayısal ya da kategorik işlemlerin ön kısmını bu şekilde atlatabilirsiniz. Bu da yapılacak işlemlerin öncesinde bize önemli anlamda kolaylık sağlar. Python içerisinde bulunan her kütüphanenin kendine has özellikleri bulunmaktadır fakat pandas için konuşmak gerekirse, veri bilimi adımlarının temelini oluşturmak için verinin üzerinde yapılacak ön parça değişikliklerin tamamından sorumludur. Pandas içerisinde veriyi sınıflama işlemleri de birkaç fonksiyonel kod ile hızlıca tasarlanıp aktif hale getirilebilir. Bu da veri ön işleme aşamasında, veriyi modellemenin önceki adımlarında en kritik noktadır.

 

 

Veriyi, ‘dataframe’ ya da ‘series’ halde saklayabilir ve üzerinde işlemleri yapabiliriz. Pandas kütüphanesinin veri üzerinden yapılacak her işlem fonksiyonel, kolay ve hızlı bir şekilde yapması, veri bilimciler adına veri bilimi süreçlerinde iş yükünü azaltmaktadır. Bu sayede, sürecin başlangıç ve en zor kısmı olan veri ön işleme gibi adımları halledip işin son adımlarına odaklanabilir. Farklı türde hazırlanmış .csv, .xlsx, .json, .txt gibi verileri okuma işlemleri yaparak, girişi yapılmış ya da veri madenciliği sayesinde toplanmış verileri işlem yapmak için python bünyesine alır. Dataframe metoduna sahip olan pandas kütüphanesi, veriyi daha işlevsel ve ölçeklenebilir hale getirme konusunda diğer kütüphanelere göre daha mantıklı hatta sürdürülebilirdir. Bu alanda çalışacak kişiler, direkt olarak kod yazmak için değil bu gibi temel anlamda python programlama dilinin temel ve sağlam yapısına sahip pandas kütüphanesinin metodolojisi üzerine çalışmalıdır. Çünkü veri üzerinde yeni atamalar, kolon isimleri, değişkenleri gruplama, verideki boş gözlemleri veriden çıkarmak ya da boş gözlemleri belirli bir şekilde doldurma işlemleri (ortalama, 0 ya da medyan ataması) yapılabilir.

 

 

Pandas kütüphanesi bilinmeden verilerin üzerinde işlem ya da herhangi bir analiz yapılamaz. Açıkça belirtmek gerekirse, pandas kütüphanesi veri biliminin kalbi denilebilir. Özel olarak tasarlanmış apply(), drop(), iloc(), dtypes() ve sort_values() gibi fonksiyonlar, bu kütüphaneyi ayrıcalıklı kılan en mühim özelliktir. Asıl çıkış noktası temelinde buraya dayanmasa bile, bu işlemler için vazgeçilmez bir kütüphanedir. Yapılacak adımlarda, muazzam özelliklere sahip bir yapıya ve sözdizimi anlamında daha temel bir durumdadır. Döngülerden çıkan sonuçların da kümeler içinde barındırılıp onları dataframe ya da series haline dönüştürmeniz mümkündür. İşlemlerin hızlanması, ortaya çıkacak olan projenin zamana bağlı olarak ilerleyen bir süreci varsa ki genelde böyledir, fonksiyonel anlamda büyük avantaj sağlar. Diğer imkanlarına bakınca ise, python kütüphaneleri arasında verim seviyesi en yüksek kütüphanelerden birisidir. Birçok alanda kullanıma elverişli olması, müthiş bir ek özellik olarak değerlendirilebilir. Pandas, python programlama dilini kullanan yazılımcılar tarafından yapılan veri işleme kütüphaneleri arasındaki oylamada ilk 3 kütüphane arasındadır. Kaynaklar kısmında datarequest ile alıntıladığım bu duruma ulaşabilirsiniz.

 

 

2015 yılından bu yana gelişen ‘veri bilimi’ kavramı, pandas kütüphanesini de ön plana çıkarmaya ve yıllarca sessizlik içerisinde gelişimi sürdüren bu kütüphanenin gün yüzüne çıkmasına ön ayak oldu. Pandas sonrası, numpy anlatacağım ve onun hakkında yapılan numerik, matris işlemlerinden bahsedeceğim. Pandas genel anlamda bu şekilde temel anlamda veri analizi ve veri işleme konusunda üst düzey özelliklere sahip bir kütüphanedir. Ek olarak bahsedeceğiniz konular ve değinmemi istediğiniz şeyler varsa belirtirseniz verim anlamında daha sağlam bir yol çizmiş olurum. Seri halinde yayınlayacağım bu yazıların umarım bu alanda çalışacak kişilere yardımı dokunur. İlerleyen süreçlerde github üzerinden hazırlayacağım cheatsheet tarzı içerikleri de kaynakça kısmına ekleyeceğim. Eğer siz de bu gibi notlardan yararlanmak isterseniz, github hesabımı kaynak kısmına koyacağım oradan rahatlıkla ulaşabilirsiniz.

 

 

References:

https://www.geeksforgeeks.org/python-pandas-dataframe/

https://medium.com/deep-learning-turkiye/adan-z-ye-pandas-tutoriali-ba%C5%9Flang%C4%B1%C3%A7-ve-orta-seviye-4edf0094e0d5#:~:text=Pandas%2C%20Python%20programlama%20dili%20i%C3%A7in,sonuca%20kolayca%20ula%C5%9Fmak%20i%C3%A7in%20kullan%C4%B1lmaktad%C4%B1r.

https://www.dataquest.io/blog/15-python-libraries-for-data-science/

https://github.com/tanersekmen/

https://www.edureka.co/blog/python-pandas-tutorial/

http://globalaihub.com/importance-of-data-quality-and-data-processing/

http://globalaihub.com/hareketli-ortalama-algoritmasiyla-al-sat-tavsiyeleri/

https://www.dataquest.io/course/pandas-fundamentals/