0Pricing
Python Academy · Ders

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

  1. scikit-learn API'si: fit, transform, predict
  2. Doğrusal Modeller: Regresyon ve Sınıflandırma
  3. Ağaç Tabanlı Modeller: Karar Ağaçları ve Rastgele Ormanlar
  4. Model Değerlendirme ve Çapraz Doğrulama
← Python Academy Sayfasına Dön