Veri Biliminde Temel Kütüphaneler

Berfin Karabay
4 min readAug 29, 2022

--

Veri bilimi temellerini öğrenmek için ihtiyacımız olan şeylerden biri de; verileri içeriye aktarıp okuduğumuz, düzenleme ve temizleme yaptığımız, görselleştirdiğimiz, derin öğrenme ve makine öğrenmesi çalışmaları yaptığımız kütüphaneleri kullanabilmek.

Ben çalışmalarımı Anaconda içerisinde, Jupyter Notebook ile yapıyorum. Eğer siz de Anaconda kullanıyorsanız, komut istemcinize örneğin pip install NumPy yazarak NumPy kütüphanesini bilgisayarınıza yükleyebilirsiniz. Aynı şekilde diğer kütüphaneleri de yükleyebilirsiniz.

Genelde verileri analiz ederken birçok kütüphaneyi bir arada import ederek kullanıyoruz. Fakat gelin bu kütüphanelerin temel ve en yaygın olanlarını tek tek ele alalım.

NumPy (Numerical Python):

Numpy büyük, çok boyutlu dizileri ve matrisleri destekleyen, bu diziler üzerinde matematiksel işlemler yapmamızı sağlayan bir Python kütüphanesidir.

  • Güçlü bir N-boyutlu dizi nesnesi
  • Gelişmiş fonksiyonlar
  • C/C++ ve Fortran kodunu entegre etmek için araçlar
  • Kullanışlı lineer cebir, Fourier dönüşümü ve rasgele sayı yetenekleri sağlar.

Ayrıca birlikte çalışılabilir, kullanması kolay ve açık kaynaklı bir kütüphanedir.

Hadi basit bir şekilde NumPy ile neler yapabileceğimize bir bakalım:

NumPy sayesinde dizi ve matrixler oluşturabiliriz
İstediğimiz biz aralığı oluşturabiliriz

Tabii ki bu örnekler kendi başına işe yarar şeyler değil. Bunlar, elimizde gerçek veriler olduğunda ihtiyacımıza göre o verilerle neler yapabileceğimize dair bazı örnekler.

SciPy:

SciPy, NumPy dizileriyle çalışmak üzere tasarlanmış, sayısal entegrasyon ve optimizasyon sağlayan çoklu kullanıcı dostu bir kütüphanedir.

  • Temel algoritmalar
  • Yaygın olarak uygulanabilirlik
  • Kullanımda kolaylık
  • Açık kaynak sağlar.

Örneğin, Diferansiyel Denklemler dersinden bildiğimiz Bessel özel fonksiyonunu SciPy ile görelim:

Pandas:

Pandas, veri analizi ve işlemesi için kullanılan bir Python kütüphanesidir. NumPy ile oluşturduğumuz veri yapılarını daha detaylı bir şekilde yapılandırabildiğimiz kütüphanedir. Temel olarak zaman etiketli serileri ve sayısal tabloları işlemek için bir veri yapısı (data frame) oluşturur. Böylece bu yapılar üzerinde çalışmalarımızı daha kolay yapabiliriz.

Burada öncelikle pd.read_() komutu ile veriyi okuyup içeri aktarabiliriz.

  • pd.Series() komutu ile seriler oluşturabiliriz:
  • pd.DataFrame komutu ile elimizdeki dizelerden veri yapısı oluşturabiliriz:
  • Ayrıca satır/sütün isimlerini düzenleyerek yeni bir data frame oluşturabilir ve istediğimiz bilgiyi çağırabiliriz:

Bundan sonrasında verilerimizle çalışmak oldukça kolay olacaktır.

Matplotlib:

Matplotlib, Python’da statik, hareketli ve etkileşimli görselleştirmeler oluşturmak için kapsamlı bir kütüphanedir.

Daha önce “Matplotlib ile Veri Görselleştirme” yazımda ayrıntılı bir şekilde ele almıştım. Geri dönüp okumanızı tavsiye ederim.

Ayrıca https://matplotlib.org/ sayfasında çok güzel örnekler bulunmakta, bunları inceleyebilirsiniz. Sizin için bir tanesini aşağıya bırakıyorum.

Scikit-Learn:

Yine daha önceki yazılarımda makine öğrenmesi algoritmalarından bahsetmiştim. Scikit-Learn, işte bu algoritmaları kullanabildiğimiz bir Python kütüphanesidir.

Örneğin Scikit-Learn’de oluşturabildiğimiz bir K-means Clustering görelim:

Ve bir Decision Tree:

Keras:

Keras, Python ile yazılmış, makine öğrenimi platformu TenserFlow üzerinde çalışan bir derin öğrenme API’sidir.

  • Problemin gerçekten önemli olan kısımlarına odaklanmaktan kurtarmak için geliştiricinin bilişsel yükünü azaltır.
  • Keras ile basit iş akışları hızlı ve kolaydır, gelişmiş iş akışları ise halihazırda öğrendiklerinizin üzerine inşa edilen net bir yol aracılığıyla mümkündür.
  • Sektör gücünde performans ve ölçeklenebilirlik sağlar: NASA, YouTube, Waymo gibi kuruluş ve şirketler tarafından kullanılır.

Keras ile örneğin monoküler derinlik tahmini yapabiliriz: Derinlik tahmini, 2B görüntülerden sahne geometrisi çıkarmaya yönelik çok önemli bir adımdır. Monoküler derinlik tahminindeki amaç, girdi olarak yalnızca tek bir RGB görüntüsü verilen her pikselin derinlik değerini veya çıkarım yapan derinlik bilgisini tahmin etmektir.

Kütüphanelerin hepsinin web sayfasında bilgisayarınıza nasıl kurulum yapabileceğiniz, nereden başlamanız gerektiği ve örnek çalışmalar gibi pek çok dokümantasyon bulunmakta. Bunları incelemenizi tavsiye ederim. Bir sonraki yazımda görüşmek üzere :)

Öğrendiklerimizi, ürettiklerimizi ve geliştirdiklerimizi: Bugün olsun, benim olsun değil; gelecekte olsun, bizim olsun derdiyle hep birlikte büyütmeye!

--

--

Berfin Karabay
Berfin Karabay

Written by Berfin Karabay

İş Zekası Analisti | Yıldız Teknik Üniversitesi Matematik Mezunu

Responses (2)