İleri Seviye Kütüphanelerle Veri Bilimi: Matplotlib, Seaborn, Scikit-learn ve Derin Öğrenme Araçları

Hatice Özbolat
4 min readOct 2, 2024

--

Veri bilimi alanında adım adım ilerlerken, temel kütüphanelerin ötesine geçmek ve daha gelişmiş araçlarla çalışmak kaçınılmaz hale gelir. NumPy ve Pandas ile veriyi işleyip analiz ettikten sonra, bu veriyi görselleştirmek, modeller oluşturmak ve derin öğrenme tekniklerine başvurmak veri bilimi projelerinin vazgeçilmez adımlarından biridir. Bu yazıda, ileri seviye kütüphaneler olan Matplotlib, Seaborn, Scikit-learn, TensorFlow ve PyTorch hakkında detaylı bilgi sunacağız.

Matplotlib ve Seaborn: Veriyi Görselleştirmek

Veri görselleştirme, bir veri bilimcisinin sonuçları anlamasını ve sunmasını sağlayan kritik bir adımdır. Matplotlib ve Seaborn, Python dilinde veri görselleştirme için kullanılan en popüler kütüphanelerdir. Peki bu iki kütüphane neden bu kadar önemli?

Matplotlib

Matplotlib, veri görselleştirmenin temel taşlarından biridir ve kullanıcılarına geniş bir yelpazede grafikler oluşturma imkanı tanır. Bar grafikleri, histogramlar, çizgi grafikleri ve daha fazlasını oluşturmak mümkündür. Matplotlib, düşük seviyeli kontroller sunar ve özelleştirilmiş görseller oluşturmanıza olanak tanır.

Örnek:

import matplotlib.pyplot as plt

# Basit bir çizgi grafiği
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 40, 50]

plt.plot(x, y)
plt.title("Matplotlib ile Çizgi Grafiği")
plt.xlabel("X Ekseni")
plt.ylabel("Y Ekseni")
plt.show()

Matplotlib esnekliği sayesinde karmaşık görseller oluşturmanıza olanak tanır, ancak temel seviyede biraz daha fazla manuel müdahale gerektirir.

Seaborn

Seaborn, Matplotlib üzerine inşa edilmiş daha yüksek seviyeli bir kütüphanedir ve veriyi istatistiksel olarak anlamak için daha sofistike grafikler oluşturur. Seaborn, özellikle kategorik veriler ve dağılım grafikleri ile öne çıkar. Matplotlib’e kıyasla daha sade ve modern bir görünüm sunar.

Örnek:

import seaborn as sns
import matplotlib.pyplot as plt

# Seaborn ile basit bir dağılım grafiği
iris = sns.load_dataset('iris')
sns.scatterplot(x="sepal_length", y="sepal_width", hue="species", data=iris)
plt.title("Seaborn ile Dağılım Grafiği")
plt.show()

Seaborn, görselleştirmeler için estetik varsayılan ayarlarla gelir, bu nedenle Matplotlib’e göre daha az kod ile daha şık görseller elde edersiniz.

Scikit-learn: Makine Öğrenimi İçin Temel Kütüphane

Veri bilimi süreçlerinde en sık kullanılan kütüphanelerden biri olan Scikit-learn, makine öğrenimi algoritmalarını uygulamayı oldukça kolaylaştırır. Temel algoritmalar arasında sınıflandırma, regresyon ve kümeleme bulunur. Scikit-learn, Python dilinde kolay entegrasyon sunarak yeni başlayanlar ve ileri düzey kullanıcılar için ideal bir araçtır.

Sınıflandırma (Classification) Örneği:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# Veri yükleme
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)

# Model oluşturma ve eğitme
model = RandomForestClassifier()
model.fit(X_train, y_train)

# Test sonuçları
y_pred = model.predict(X_test)
print(f"Doğruluk oranı: {accuracy_score(y_test, y_pred)}")

Scikit-learn’deki bu gibi temel algoritmalar, veriyi eğitmek ve tahminlerde bulunmak için hızlı ve etkili çözümler sunar. Ayrıca, regresyon modelleri ve kümeleme algoritmaları (örneğin K-Means) gibi farklı yaklaşımlarla çok çeşitli veri analizi yapabilirsiniz.

TensorFlow ve PyTorch: Derin Öğrenmeye Giriş

Makine öğrenimi süreçlerinin bir adım ötesinde, derin öğrenme teknikleri devreye girer. Büyük veri setlerini işlemek ve karmaşık yapıları öğrenmek için TensorFlow ve PyTorch gibi kütüphaneler, özellikle sinir ağları ve derin öğrenme projelerinde kullanılır.

TensorFlow

TensorFlow, Google tarafından geliştirilen ve geniş bir topluluk tarafından desteklenen popüler bir derin öğrenme kütüphanesidir. TensorFlow, güçlü araç seti ve modüler yapısı sayesinde birçok farklı derin öğrenme modelini eğitmek ve uygulamak için kullanılır.

TensorFlow ile bir sinir ağı oluşturmak oldukça pratiktir. Örneğin, bir görüntü tanıma modeli eğitmek için TensorFlow kullanabilirsiniz.

import tensorflow as tf
from tensorflow.keras import layers, models

# Basit bir CNN modeli oluşturma
model = models.Sequential([
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Flatten(),
layers.Dense(64, activation='relu'),
layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

PyTorch

PyTorch, Facebook tarafından geliştirilmiş ve özellikle akademik dünyada popüler olan bir başka derin öğrenme kütüphanesidir. PyTorch, daha dinamik bir yapıya sahiptir ve özellikle araştırma ve geliştirme projelerinde tercih edilir. TensorFlow’a göre daha esnek ve Pythonic bir kullanım sunar.

import torch
import torch.nn as nn
import torch.optim as optim

# Basit bir sinir ağı
class NeuralNet(nn.Module):
def __init__(self):
super(NeuralNet, self).__init__()
self.fc1 = nn.Linear(28*28, 128)
self.fc2 = nn.Linear(128, 10)

def forward(self, x):
x = torch.relu(self.fc1(x))
x = self.fc2(x)
return x

# Modeli oluşturma ve optimizasyon
model = NeuralNet()
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)

TensorFlow ve PyTorch, büyük veri kümelerinde daha iyi performans sağlarken, her iki kütüphane de GPU kullanımıyla işlemleri hızlandırabilir. Hangi kütüphanenin kullanılacağı genellikle projenin doğasına ve kişisel tercihlere bağlıdır.

Veri bilimi dünyasında ileri seviye kütüphanelerle çalışmak, veri analizi süreçlerini daha verimli hale getirir. Matplotlib ve Seaborn ile verilerinizi görselleştirip anlamlandırabilir, Scikit-learn ile makine öğrenimi modelleri geliştirebilir, TensorFlow ve PyTorch gibi güçlü kütüphanelerle derin öğrenme projeleri gerçekleştirebilirsiniz.

Bu kütüphaneleri öğrenmek, sizi veri bilimi dünyasında daha ileri bir noktaya taşıyacak ve projelerinizi daha etkili hale getirecektir. Bir sonraki adımda, bu araçları kullanarak bir projeye başlayın ve verilerinizi anlamlandırmanın gücünü keşfedin 🚀

--

--

Hatice Özbolat
Hatice Özbolat

Written by Hatice Özbolat

Data Science enthusiast exploring the intersections of Process Mining, Machine Learning. Passionate about uncovering insights and driving data-driven solutions.

No responses yet