scikit-learn API'si: fit, transform, predict
Tahminleyici arayüzünü ve eğitim/test ayırma iş akışını öğrenin.
scikit-learn API'si: fit, transform, predict, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 1. 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, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
scikit-learn Nedir
scikit-learn, klasik makine öğrenimi için Python'da en çok kullanılan kitaplıktır. Tutarlı bir API sağlar: her tahminleyicide fit() bulunur ve çoğunda predict() veya transform() bulunur.
from sklearn.linear_model import LinearRegression
import numpy as np
X = np.array([[1],[2],[3],[4],[5]])
y = np.array([2, 4, 6, 8, 10])
model = LinearRegression().fit(X, y)
print(model.predict([[6]])) # [12.]Eğitim/Sınama Ayrımı
Modelin daha önce görmediği verilere ne kadar iyi genelleştiğini değerlendirmek için eğitimden önce verileri mutlaka ayırın.
from sklearn.model_selection import train_test_split
import numpy as np
X = np.random.rand(100, 5)
y = (X[:,0] > 0.5).astype(int)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
print(X_train.shape, X_test.shape) # (80,5) (20,5)fit() — Eğitim
estimator.fit(X, y), modeli X özellikleri ve y etiketleri üzerinde eğitir. Denetimsiz yöntemlerde yalnızca X aktarılır.
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=200, random_state=0)
model = LogisticRegression()
model.fit(X, y)
print("Trained:", model.classes_)predict() ve predict_proba()
predict(X) sınıf etiketlerini, predict_proba(X) ise sınıflandırıcılar için sınıf olasılıklarını döndürür.
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
X, y = make_classification(random_state=0)
model = LogisticRegression().fit(X, y)
print(model.predict(X[:5])) # [0 1 0 ...]
print(model.predict_proba(X[:2])) # [[0.7 0.3] ...]Dönüştürücüler: fit ve transform
Dönüştürücülerde (ölçekleyiciler ve kodlayıcılarda) fit(X) + transform(X) bulunur. Her zaman yalnızca eğitim verileri üzerinde fit uygulayın, ardından hem eğitim hem de sınama verilerini dönüştürün.
from sklearn.preprocessing import StandardScaler
import numpy as np
X_train = np.array([[1,2],[3,4],[5,6]])
X_test = np.array([[2,3],[4,5]])
scaler = StandardScaler()
X_train_s = scaler.fit_transform(X_train) # fit + transform
X_test_s = scaler.transform(X_test) # transform only (using train stats)İşlem Hattı
Bir Pipeline, dönüştürücüleri ve bir tahminleyiciyi tek bir nesnede zincirler. Dönüşümleri çapraz doğrulama içinde doğru şekilde uygulayarak veri sızıntısını önler.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
pipe = Pipeline([
("scaler", StandardScaler()),
("clf", SVC())
])
pipe.fit(X_train, y_train)
print(pipe.score(X_test, y_test))Doğruluk ve Diğer Ölçütler
Sınıflandırıcıları değerlendirmek için accuracy_score, f1_score ve classification_report kullanın.
from sklearn.metrics import accuracy_score, classification_report
y_pred = model.predict(X_test)
print(accuracy_score(y_test, y_pred))
print(classification_report(y_test, y_pred))Çapraz Doğrulama
cross_val_score, verileri elle ayırmadan k katlı çapraz doğrulama kullanarak bir modeli değerlendirir.
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
X, y = make_classification(random_state=0)
scores = cross_val_score(LogisticRegression(), X, y, cv=5)
print(f"CV scores: {scores.mean():.3f} ± {scores.std():.3f}")GridSearchCV ile Hiperparametre Ayarlama
GridSearchCV, en iyi hiperparametreleri bulmak için çapraz doğrulama kullanarak bir parametre ızgarasını kapsamlı biçimde tarar.
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
from sklearn.datasets import make_classification
X, y = make_classification(random_state=0)
param_grid = {"C": [0.1, 1, 10], "kernel": ["rbf", "linear"]}
gs = GridSearchCV(SVC(), param_grid, cv=5)
gs.fit(X, y)
print(gs.best_params_, gs.best_score_)Ön İşleme: LabelEncoder ve OneHotEncoder
Kategorik etiketleri LabelEncoder ile, kategorik özellikleri ise OneHotEncoder veya ColumnTransformer ile kodlayın.
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
import numpy as np
le = LabelEncoder()
print(le.fit_transform(["cat","dog","cat","fish"])) # [0 1 0 2]
ohe = OneHotEncoder(sparse_output=False)
print(ohe.fit_transform([["red"],["green"],["blue"]]))Modelleri Kaydetme ve Yükleme
Eğitilmiş modelleri joblib ile kalıcı hâle getirin (NumPy dizileri için pickle'dan daha hızlıdır).
import joblib
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
X, y = make_classification(random_state=0)
model = LogisticRegression().fit(X, y)
joblib.dump(model, "model.joblib")
loaded = joblib.load("model.joblib")
print(loaded.predict(X[:3]))Hızlı Kontrol
scaler.fit() neden yalnızca eğitim verileri üzerinde çağrılmalı, sınama verileri üzerinde çağrılmamalıdır?
Özet
scikit-learn'ün tutarlı API'sinde: fit() eğitim yapar, predict() çıkarım yapar, transform() ise ön işleme uygular. Adımları zincirlemek için Pipeline kullanın. Verileri train_test_split ile ayırın, cross_val_score ile değerlendirin ve GridSearchCV ile ayarlayın.
Sıkça Sorulan Sorular
“scikit-learn API'si: fit, transform, predict” dersi ücretsiz mi?
Evet — “scikit-learn API'si: fit, transform, predict” 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 Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“scikit-learn API'si: fit, transform, predict” dersinde ne öğreneceğim?
Tahminleyici arayüzünü ve eğitim/test ayırma iş akışını öğrenin. Python Academy 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.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, 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 1. dersidir.
“scikit-learn API'si: fit, transform, predict” 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 Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy 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
- scikit-learn API'si: fit, transform, predict
- Doğrusal Modeller: Regresyon ve Sınıflandırma
- Ağaç Tabanlı Modeller: Karar Ağaçları ve Rastgele Ormanlar
- Model Değerlendirme ve Çapraz Doğrulama