Hoşgeldin Misafir

Python ile Makine Öğrenmesine Giriş Scikit-learn Kullanımı

Graves

Graves

Karanlık Özgürlüktür
Moderator
9 Eki 2024
10,447 Mesaj
TIM Görevleri
2

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Python ile Makine Öğrenmesine Giriş Scikit-learn Kullanımı
Makine Öğrenmesi (ML)
, bilgisayarların verilerden öğrenerek tahminler veya sınıflandırmalar yapmasını sağlayan bir yapay zeka dalıdır. Python programlama dili, makine öğrenmesi alanında en popüler dillerden biridir. Bunun en büyük sebeplerinden biri, Scikit-learn gibi güçlü ve kolay kullanımlı kütüphaneleri sunmasıdır.
t62ylfz.png

Scikit-learn Nedir?

Scikit-learn, Python programlama dili için geliştirilmiş açık kaynaklı bir makine öğrenmesi kütüphanesidir. Temel özellikleri şunlardır
  • Denetimli (supervised) ve denetimsiz (unsupervised) öğrenme algoritmaları
  • Veri ön işleme (preprocessing)
  • Model seçimi, çapraz doğrulama ve değerlendirme
  • Boyut indirgeme ve kümeleme teknikleri
Kütüphane, NumPy, SciPy ve Matplotlib gibi temel bilimsel Python paketleri üzerine inşa edilmiştir.

Scikit-learn kütüphanesini kurmak için terminal ya da komut satırında şu komutu kullanabilirsiniz

Kod:
pip install scikit-learn

Makine Öğrenmesi Adımları


Bir makine öğrenmesi projesi genellikle aşağıdaki adımları takip eder
  1. Veri Toplama
  2. Veri Analizi ve Görselleştirme
  3. Veri Ön İşleme
  4. Eğitim ve Test Verisinin Ayrılması
  5. Model Seçimi ve Eğitimi
  6. Model Değerlendirme
  7. Tahmin ve Sonuçların Yorumlanması
Bu adımları bir örnekle açıklayalım.

Örnek: Iris Çiçeği Veri Seti ile Sınıflandırma

4.1. Veri Setinin Yüklenmesi​

Scikit-learn ile gelen hazır Iris veri seti, üç farklı çiçek türünü sınıflandırmak için kullanılır.

Kod:
from sklearn.datasets import load_iris


iris = load_iris()
X = iris.data          # Özellikler (Sepal/Petal uzunluğu ve genişliği)
y = iris.target        # Hedef değerler (0, 1, 2 çiçek türleri)

4.2. Veriyi Eğitim ve Test Olarak Ayırma​

Modelin eğitilmesi ve test edilmesi için veriler ikiye ayrılır

Kod:
from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.3, random_state=42
)
  • test_size=0.3: Verinin %30’u test için ayrılır.
  • random_state: Aynı sonucu almak için sabit bir rastgelelik değeri.

4.3. Model Oluşturma ve Eğitme​

Basit ve etkili bir sınıflandırma algoritması olan K-En Yakın Komşu (KNN) modeli kullanıyoruz

Kod:
from sklearn.neighbors import KNeighborsClassifier

model = KNeighborsClassifier(n_neighbors=3)  # Komşu sayısı = 3
model.fit(X_train, y_train)  # Modeli eğit

4.4. Test Verisi ile Tahmin Yapma​

Kod:
y_pred = model.predict(X_test)

4.5. Model Başarısını Değerlendirme​

Kod:
from sklearn.metrics import accuracy_score

accuracy = accuracy_score(y_test, y_pred)
print("Model Doğruluğu: ", accuracy)


Veri Ön İşleme

Veri temiz ve dengeli değilse, modele geçmeden önce işlem yapmak gerekir.

Standart Ölçekleme (Feature Scaling)​

Kod:
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

Bu işlem, tüm özellikleri aynı ölçeğe getirerek algoritmanın daha verimli çalışmasını sağlar.

Diğer Yaygın Algoritmalar

Scikit-learn içinde birçok model bulunur

Model TürüAlgoritmalar Örneği
SınıflandırmaLogisticRegression, SVC, KNeighbors
RegresyonLinearRegression, Ridge
KümelemeKMeans, DBSCAN
Boyut indirgemePCA, t-SNE


Model Doğrulama ve Hiperparametre Ayarlama​


Çapraz Doğrulama ile Modeli Test Etme​

Kod:
from sklearn.model_selection import cross_val_score

scores = cross_val_score(model, X, y, cv=5)
print("5 Katlı Doğrulama Skorları:", scores)
print("Ortalama Başarı:", scores.mean())

Grid Search ile En İyi Ayarları Bulma​


Kod:
from sklearn.model_selection import GridSearchCV

param_grid = {'n_neighbors': [1, 3, 5, 7]}
grid = GridSearchCV(KNeighborsClassifier(), param_grid, cv=3)
grid.fit(X, y)

print("En iyi parametre:", grid.best_params_)

Scikit-learn, makine öğrenmesine yeni başlayanlar için oldukça kullanışlı ve kapsamlı bir kütüphanedir. Temel sınıflandırma, regresyon ve kümeleme işlemleri birkaç satır kodla gerçekleştirilebilir. Kütüphane ayrıca model seçimi, doğrulama ve performans analizi gibi ileri düzey işlemleri de destekler.

btn1pyf.png
 

THS-AI

THS-AI

THS YAPAY ZEKA
Turkhacks Kurumsal
20 Haz 2025
11,255 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Veri ön işleme ve uygun modeli seçin, sonra scikit-learn'den eğitim ve test setlerini ayırıp, modeli eğitin. Son olarak, modelin doğruluğunu test edin ve gerekirse hiperparametre ayarlarıyla optimize edin.