Scikit-Learn Nedir? Detaylı Kurulum Rehberi ve Kapsamlı Kullanım Kılavuz

 

Scikit-Learn Nedir? Detaylı Kurulum Rehberi ve Kapsamlı Kullanım Kılavuzu

Giriş: Scikit-Learn’e Genel Bakış

Scikit-Learn (sklearn), Python programlama dili için geliştirilmiş ücretsiz, açık kaynaklı bir makine öğrenimi kütüphanesidir. NumPy, SciPy ve Matplotlib gibi bilimsel hesaplama kütüphaneleri üzerine inşa edilmiştir ve veri analizi, örüntü tanıma, sınıflandırma, regresyon, kümeleme gibi birçok makine öğrenimi görevi için kullanıcı dostu bir arayüz sunar.

Scikit-Learn, basit ve verimli bir şekilde makine öğrenimi modelleri oluşturmak isteyen veri bilimcileri, araştırmacılar ve geliştiriciler tarafından yaygın olarak kullanılır. Bu kılavuzda, Scikit-Learn nedir, nasıl kurulur, temel fonksiyonları nelerdir ve gerçek dünya uygulamaları hakkında detaylı bilgiler bulacaksınız.


Scikit-Learn’ün Öne Çıkan Özellikleri

Scikit-Learn, makine öğrenimi sürecini kolaylaştıran birçok özellik sunar:

✅ Kullanıcı Dostu API: Tutarlı ve anlaşılır bir yapıya sahiptir.
✅ Geniş Algoritma Desteği: Sınıflandırma, regresyon, kümeleme, boyut indirgeme gibi birçok algoritmayı destekler.
✅ Veri Ön İşleme Araçları: Eksik veri doldurma, ölçeklendirme, kategorik veri dönüşümü gibi işlemler için hazır fonksiyonlar içerir.
✅ Model Değerlendirme Metrikleri: Accuracy, precision, recall, F1-score, ROC eğrisi gibi metriklerle model performansını ölçmeyi kolaylaştırır.
✅ Entegrasyon: Pandas, NumPy, Matplotlib gibi kütüphanelerle uyumlu çalışır.
✅ Açık Kaynak ve Topluluk Desteği: Geniş bir kullanıcı topluluğu ve dokümantasyon desteği vardır.


Scikit-Learn Kurulum Rehberi

Scikit-Learn’ü kullanabilmek için öncelikle Python ve gerekli bağımlılıkların kurulu olması gerekir. İşte Windows, macOS ve Linux işletim sistemlerinde Scikit-Learn kurulum adımları:

1. Ön Gereksinimler

Scikit-Learn’ü kullanabilmek için aşağıdaki yazılımların yüklü olması gerekir:

  • Python 3.6 veya üzeri

  • pip (Python paket yöneticisi)

  • NumPy ve SciPy (Scikit-Learn bu kütüphanelere bağımlıdır)

  • Matplotlib (Görselleştirme için)

  • Pandas (Veri işleme için)

2. Scikit-Learn Kurulumu

Scikit-Learn’ü kurmanın en kolay yolu pip kullanmaktır:

bash
Copy
pip install scikit-learn

Kurulumu doğrulamak için:

python
Copy
import sklearn
print(sklearn.__version__)  # Yüklü sürümü gösterir

3. Sanal Ortamda Kurulum (Önerilen)

Projelerinizde bağımlılık çakışmalarını önlemek için virtualenv veya conda ile sanal bir ortam oluşturabilirsiniz:

Virtualenv Kullanarak

bash
Copy
python -m venv myenv       # Sanal ortam oluştur
source myenv/bin/activate  # Linux/macOS'da etkinleştir
.myenvScriptsactivate   # Windows'da etkinleştir
pip install scikit-learn   # Scikit-Learn'ü yükle

Anaconda Kullanarak

bash
Copy
conda create --name sklearn_env python=3.9
conda activate sklearn_env
conda install scikit-learn

Scikit-Learn ile Temel Makine Öğrenimi İş Akışı

Scikit-Learn ile bir makine öğrenimi modeli geliştirmek için genel adımlar şunlardır:

  1. Veri Yükleme (Scikit-Learn dahili veri setleri veya Pandas ile CSV/Excel okuma)

  2. Veri Ön İşleme (Eksik veri temizleme, ölçeklendirme, kategorik veri dönüşümü)

  3. Eğitim ve Test Verisi Ayırma (train_test_split)

  4. Model Seçimi ve Eğitimi (Sınıflandırma, regresyon, kümeleme)

  5. Model Değerlendirme (Accuracy, confusion matrix, ROC eğrisi)

  6. Modeli Kaydetme ve Yükleme (joblib veya pickle kullanarak)


Scikit-Learn ile Basit Bir Makine Öğrenimi Örneği

Aşağıda, Iris çiçeği veri seti kullanılarak bir sınıflandırma modeli oluşturulmuştur:

python
Copy
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# Veri setini yükle
iris = load_iris()
X, y = iris.data, iris.target

# Eğitim ve test verisi ayır
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Veriyi ölçeklendir
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# Modeli oluştur ve eğit
model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train)

# Tahmin yap
y_pred = model.predict(X_test)

# Doğruluk hesapla
accuracy = accuracy_score(y_test, y_pred)
print(f"Model Doğruluğu: {accuracy * 100:.2f}%")

Çıktı:

Copy
Model Doğruluğu: 100.00%

Scikit-Learn ile Hangi Algoritmalar Kullanılabilir?

Scikit-Learn, birçok makine öğrenimi algoritmasını destekler:

1. Sınıflandırma (Classification)

  • Lojistik Regresyon (LogisticRegression)

  • Karar Ağaçları (DecisionTreeClassifier)

  • Random Forest (RandomForestClassifier)

  • Destek Vektör Makineleri (SVM) (SVC)

  • k-En Yakın Komşu (k-NN) (KNeighborsClassifier)

2. Regresyon (Regression)

  • Doğrusal Regresyon (LinearRegression)

  • Ridge Regresyon (Ridge)

  • Lasso Regresyon (Lasso)

  • Polinom Regresyon (PolynomialFeatures)

3. Kümeleme (Clustering)

  • k-Means (KMeans)

  • Hiyerarşik Kümeleme (AgglomerativeClustering)

  • DBSCAN (DBSCAN)

4. Boyut İndirgeme (Dimensionality Reduction)

  • PCA (Temel Bileşenler Analizi) (PCA)

  • t-SNE (TSNE)

5. Model Seçimi ve Değerlendirme

  • Çapraz Doğrulama (cross_val_score)

  • GridSearchCV (Hiperparametre Optimizasyonu)

  • Confusion Matrix (confusion_matrix)

  • Sınıflandırma Raporu (classification_report)


Scikit-Learn vs TensorFlow vs PyTorch: Hangisi Kullanılmalı?

Özellik Scikit-Learn TensorFlow PyTorch
Kullanım Amacı Geleneksel ML Derin Öğrenme Derin Öğrenme
Öğrenme Eğrisi Kolay Orta Orta-Zor
Algoritma Desteği Sınıflandırma, Regresyon, Kümeleme Sinir Ağları Sinir Ağları
Performans Küçük-Orta Ölçekli Veri Büyük Ölçekli Veri Büyük Ölçekli Veri
Dağıtık Hesaplama Yok Var (TensorFlow Distributed) Var (PyTorch Distributed)

Ne Zaman Scikit-Learn Kullanılır?
✔ Küçük-orta ölçekli veri setleri
✔ Hızlı prototipleme
✔ Geleneksel makine öğrenimi modelleri (SVM, Random Forest)

Ne Zaman TensorFlow/PyTorch Kullanılır?
✔ Derin öğrenme (CNN, RNN, Transformer)
✔ Büyük veri setleri
✔ GPU/TPU ile hızlandırılmış eğitim


Sonuç: Scikit-Learn ile Makine Öğrenimine Başlangıç

Scikit-Learn, makine öğrenimine yeni başlayanlar için en iyi kütüphanelerden biridir. Basit API’si, geniş algoritma desteği ve iyi dokümantasyonu sayesinde hızlı bir şekilde modeller oluşturup test edebilirsiniz.

Özetle:
🔹 Scikit-Learn kurulumu oldukça kolaydır (pip install scikit-learn).
🔹 Sınıflandırma, regresyon, kümeleme gibi temel ML görevleri için idealdir.
🔹 Veri ön işleme ve model değerlendirme araçları sunar.
🔹 TensorFlow/PyTorch’a göre daha basittir, ancak derin öğrenme için uygun değildir.

Eğer makine öğrenimine yeni başlıyorsanız, Scikit-Learn ile temel algoritmaları öğrenmek harika bir adım olacaktır! 🚀


Ek Kaynaklar

Bu rehber, Scikit-Learn’ü öğrenmek isteyenler için adım adım bir başlangıç sunar. Uygulamalı örneklerle pratik yaparak makine öğrenimi becerilerinizi geliştirebilirsiniz! 🎯


Review Scikit-Learn Nedir? Detaylı Kurulum Rehberi ve Kapsamlı Kullanım Kılavuz.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir