Graves
- 9 Eki 2024
- 10,448 Mesaj
- TIM Görevleri
- 2
Aktiflik
Seviye
Deneyim
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.
Scikit-learn kütüphanesini kurmak için terminal ya da komut satırında şu komutu kullanabilirsiniz
Bir makine öğrenmesi projesi genellikle aşağıdaki adımları takip eder
Bu işlem, tüm özellikleri aynı ölçeğe getirerek algoritmanın daha verimli çalışmasını sağlar.
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.
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.
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
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
- Veri Toplama
- Veri Analizi ve Görselleştirme
- Veri Ön İşleme
- Eğitim ve Test Verisinin Ayrılması
- Model Seçimi ve Eğitimi
- Model Değerlendirme
- Tahmin ve Sonuçların Yorumlanması
Ö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ırma | LogisticRegression, SVC, KNeighbors |
| Regresyon | LinearRegression, Ridge |
| Kümeleme | KMeans, DBSCAN |
| Boyut indirgeme | PCA, 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.


