DEV Community

MustafaLSailor
MustafaLSailor

Posted on

pipeline

Pipeline, makine öğrenmesi projelerinde veri ön işleme, model eğitimi ve model değerlendirme adımlarını düzenli ve otomatik bir şekilde gerçekleştirmek için kullanılır.

Bir pipeline, bir dizi adımı temsil eder ve her adım bir 'transformer' (veriyi dönüştüren bir işlem) ve bir 'estimator' (bir modeli eğiten bir işlem) içerir. Pipeline, bu adımları belirtilen sırayla uygular.

Pipeline'ların kullanılmasının birkaç avantajı vardır:

Daha Temiz Kod: Pipeline, veri ön işleme ve model eğitim adımlarını tek bir yerde toplar, bu da kodu daha okunabilir ve düzenli hale getirir.

Hata Önleme: Veri ön işleme adımlarını manuel olarak uygulamak hata yapma riskini artırır. Örneğin, eğitim ve test setlerine aynı dönüşümleri uygulamayı unutabilirsiniz. Pipeline, bu tür hataları önler.

Kolay Değerlendirme ve Ayarlama: Pipeline, çapraz doğrulama ve hiperparametre ayarlama gibi işlemleri kolaylaştırır.

Yeniden Kullanılabilirlik: Aynı veri ön işleme adımlarını ve modeli farklı veri setlerinde kullanmanız gerektiğinde, bir pipeline'ı kaydedip yeniden kullanabilirsiniz.

Python'da, scikit-learn kütüphanesi pipeline oluşturmayı ve kullanmayı çok kolaylaştırır. İşte basit bir örnek:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.svm import SVC
from sklearn.pipeline import Pipeline

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

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

# Pipeline oluştur
pipeline = Pipeline([
    ('scaler', StandardScaler()),  # Özellikleri ölçeklendir
    ('pca', PCA(n_components=2)),  # Boyut indirgeme
    ('svm', SVC())                 # SVM sınıflandırıcı
])

# Pipeline ile modeli eğit
pipeline.fit(X_train, y_train)

# Test seti üzerinde tahmin yap
predictions = pipeline.predict(X_test)

# Tahminlerin doğruluğunu kontrol et
accuracy = pipeline.score(X_test, y_test)
print(f'Model doğruluğu: {accuracy}')

Enter fullscreen mode Exit fullscreen mode

Bu örnekte, pipeline önce StandardScaler transformer'ını kullanarak veriyi ölçeklendirir ve ardından SVC estimator'ünü kullanarak bir SVM modeli eğitir.

Top comments (0)