Ön İşleme Hatları Oluşturma
Temiz ön işleme iş akışları için sklearn Pipeline, ColumnTransformer ve dönüştürücüleri birleştirme.
Ön İşleme Hatları Oluşturma, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
İş akışları neden gerekli?
scikit-learn iş akışı, ön işleme adımlarını ve bir modeli tek bir nesnede birbirine bağlar. Aynı dönüşümlerin eğitim ve sınama verilerine uygulanmasını garanti ederek sızıntıyı ve karmaşık kodu önler.
Temel bir iş akışı
Pipeline, (ad, adım) demetlerinden oluşan bir liste alır. fit çağrıldığında her adımı sırayla çalıştırır; son adım genellikle bir tahmin edicidir.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
pipe = Pipeline([
("scale", StandardScaler()),
("model", LogisticRegression()),
])Tüm iş akışında fit ve predict
İş akışını tek bir model gibi ele alın. fit, ölçekleyiciyi LEARN eder AND modeli eğitir; predict ise ölçekleyiciyi ve ardından modeli otomatik ve tutarlı biçimde uygular.
pipe.fit(X_train, y_train)
preds = pipe.predict(X_test) # scaling applied automaticallyTasarım gereği sızıntı yok
İş akışı, ölçekleyiciyi yalnızca fit sırasında (eğitim verileri üzerinde) fit ettiği ve predict sırasında sadece dönüştürdüğü için fit işlemini sınama verileri üzerinde yapma hatasını otomatik olarak ortadan kaldırır.
Karışık sütun türleri
Gerçek veri kümelerinde farklı ön işleme gerektiren NUMERIC ve CATEGORICAL sütunlar birlikte bulunur. ColumnTransformer, her sütun alt kümesine farklı bir dönüştürücü uygular.
ColumnTransformer
(ad, dönüştürücü, sütunlar) demetlerini sağlayın. Sayısal sütunlar ölçeklenir; kategorik sütunlar tek etkin kodlamayla kodlanır ve tüm bunlar tek adımda yapılır.
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
pre = ColumnTransformer([
("num", StandardScaler(), ["age", "income"]),
("cat", OneHotEncoder(handle_unknown="ignore"), ["city"]),
])Tam iş akışında iç içe yerleştirme
Eksiksiz ve sızıntısız bir iş akışı için ColumnTransformer'ı bir Pipeline'ın ilk adımı olarak yerleştirin ve arkasına modeli ekleyin.
full = Pipeline([
("prep", pre),
("model", LogisticRegression()),
])
full.fit(X_train, y_train)Bir adımda eksik değerleri ele alma
Ölçeklemeden önce eksik değerleri doldurmak için sayısal dala bir SimpleImputer ekleyin (bu dal çoğu zaman başlı başına küçük bir iş akışıdır); böylece her şey iş akışının içinde kalır.
from sklearn.impute import SimpleImputer
num_pipe = Pipeline([
("impute", SimpleImputer(strategy="median")),
("scale", StandardScaler()),
])Eğitimde fit_transform, sınamada transform
Aynı altın kural tüm iş akışı için de geçerlidir: her parametreyi fit sırasında eğitim verilerinden öğrenir, ardından sınama verilerini predict veya transform sırasında yalnızca dönüştürür.
full.fit(X_train, y_train) # learns imputer, scaler, encoder, model
full.predict(X_test) # transform-only pathBir iş akışını kalıcı hâle getirme
Ön işleme ile modeli birlikte içeren fit edilmiş iş akışının tamamını joblib ile diske kaydedin. Daha sonra yüklemek, üretim ortamında aynı ön işlemenin uygulanmasını sağlar; yeniden oluşturulacak el ile adımlar kalmaz.
import joblib
joblib.dump(full, "model.joblib")
loaded = joblib.load("model.joblib")
loaded.predict(X_new) # same preprocessing guaranteedÜretimde bunun önemi
Kalıcı olarak kaydedilmiş bir iş akışı, dağıtılan modelin gelen verileri eğitim sırasında olduğu gibi EXACTLY ön işlemesini sağlar. Bu tutarlılık, eğitim/sunum kayması hatalarına karşı en önemli savunmadır.
Hızlı kontrol
İş akışı bilginizi sınayın.
Özet
İş akışı araç seti:
Pipeline, ön işleme ile modeli tek bir fit/predict nesnesinde birbirine bağlar- Sızıntı yok: parametreler
fitsırasında öğrenilir,predictsırasında uygulanır ColumnTransformer, karışık sayısal/kategorik sütunları ele alır- İş akışının içinde eksik değerler için
SimpleImputer - Tutarlı üretim ön işlemesi için
joblibile kalıcı olarak kaydedin
Sıkça Sorulan Sorular
“Ön İşleme Hatları Oluşturma” dersi ücretsiz mi?
Evet — “Ön İşleme Hatları Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Ön İşleme Hatları Oluşturma” dersinde ne öğreneceğim?
Temiz ön işleme iş akışları için sklearn Pipeline, ColumnTransformer ve dönüştürücüleri birleştirme. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Ön İşleme Hatları Oluşturma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Aykırı Değerleri Algılama ve Kaldırma
- Kategorik Değişkenleri Kodlama
- Özellik Ölçekleme: Normalleştirme ve Standartlaştırma
- Ön İşleme Hatları Oluşturma