0Pricing
Python Academy · Ders

Doğrusal Modeller: Regresyon ve Sınıflandırma

Doğrusal regresyon ve lojistik regresyon modellerini eğitin.

Doğrusal Modeller: Regresyon ve Sınıflandırma, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 2. 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.

Doğrusal Regresyon

LinearRegression, en küçük kareler hatasını en aza indirerek bir doğruyu (veya hiper düzlemi) uyarlar.

from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

X, y = make_regression(n_samples=200, n_features=5, noise=10, random_state=0)
X_tr, X_te, y_tr, y_te = train_test_split(X, y, random_state=0)

model = LinearRegression().fit(X_tr, y_tr)
print("RMSE:", mean_squared_error(y_te, model.predict(X_te))**0.5)

Model Katsayıları

Uyarlamadan sonra coef_ (özellik ağırlıkları) ve intercept_ değerlerini inceleyin.

from sklearn.linear_model import LinearRegression
import numpy as np

X = np.array([[1],[2],[3]])
y = np.array([2, 4, 6])

model = LinearRegression().fit(X, y)
print("Coef:", model.coef_)       # [2.]
print("Intercept:", model.intercept_)  # ~0

Ridge ve Lasso Regresyonu

Ridge (L2) ve Lasso (L1), aşırı uyumu önlemek için düzenlileştirme ekler. alpha, düzenlileştirme gücünü denetler.

from sklearn.linear_model import Ridge, Lasso
from sklearn.datasets import make_regression

X, y = make_regression(n_features=20, noise=15, random_state=0)

ridge = Ridge(alpha=1.0).fit(X, y)
lasso = Lasso(alpha=0.1).fit(X, y)
print("Ridge coef[:5]:", ridge.coef_[:5])
print("Lasso coef[:5]:", lasso.coef_[:5])  # some are 0 (sparse)

Lojistik Regresyon

LogisticRegression, ikili veya çok sınıflı problemler için doğrusal bir sınıflandırıcıdır. Adına rağmen sınıf olasılıklarını tahmin eder.

from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

X, y = make_classification(random_state=0)
X_tr, X_te, y_tr, y_te = train_test_split(X, y, random_state=0)
model = LogisticRegression().fit(X_tr, y_tr)
print("Accuracy:", accuracy_score(y_te, model.predict(X_te)))

Çok Sınıflı Lojistik Regresyon

3 veya daha fazla sınıf için multi_class="multinomial" ayarını yapın veya varsayılan OvR'yi (bire karşı geri kalan) kullanın.

from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
model = LogisticRegression(max_iter=200).fit(X, y)
print("Classes:", model.classes_)   # [0 1 2]
print("Accuracy:", model.score(X, y))

Doğrusal Modellerde Özellik Ölçekleme

Özellikle düzenlileştirme kullanırken, doğrusal modeller için özellikleri her zaman ölçeklendirin. Ölçeklenmemiş özellikler, yanıltıcı biçimde farklı cezalar doğurur.

from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

pipe = Pipeline([
    ("scale", StandardScaler()),
    ("clf",   LogisticRegression())
])
pipe.fit(X_tr, y_tr)
print(pipe.score(X_te, y_te))

Öğrenme Eğrisi

Bir öğrenme eğrisi, daha fazla eğitim verisiyle model performansının nasıl iyileştiğini gösterir — yetersiz veya aşırı uyumu teşhis etmek için kullanışlıdır.

from sklearn.model_selection import learning_curve
import numpy as np

train_sizes, train_scores, val_scores = learning_curve(
    LogisticRegression(), X, y, cv=5,
    train_sizes=np.linspace(0.1, 1.0, 5)
)
print("Val mean:", val_scores.mean(axis=1))

Regresyon için R² Skoru

r2_score, açıklanan varyansın oranını ölçer. 1.0 kusursuzdur; 0, modelin ortalamayı tahmin etmekten daha iyi olmadığını belirtir.

from sklearn.metrics import r2_score
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression

X, y = make_regression(noise=20, random_state=0)
model = LinearRegression().fit(X, y)
print("R²:", r2_score(y, model.predict(X)))

Polinom Özellikler

Doğrusal bir modelle doğrusal olmayan ilişkileri uydurmak için PolynomialFeatures kullanın.

from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipeline
from sklearn.linear_model import LinearRegression
import numpy as np

X = np.array([[1],[2],[3],[4],[5]])
y = np.array([1, 4, 9, 16, 25])  # y = x^2

pipe = Pipeline([
    ("poly", PolynomialFeatures(degree=2)),
    ("lr",   LinearRegression())
])
pipe.fit(X, y)
print(pipe.predict([[6]]))   # ~36

SGDClassifier ve SGDRegressor

Stokastik gradyan inişi, standart çözücülerin çok yavaş kaldığı çok büyük veri kümelerine ölçeklenebilir.

from sklearn.linear_model import SGDClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
from sklearn.datasets import make_classification

X, y = make_classification(n_samples=100_000, random_state=0)
pipe = Pipeline([("sc", StandardScaler()), ("sgd", SGDClassifier())])
pipe.fit(X, y)
print(pipe.score(X, y))

Düzenlileştirme Yolları

RidgeCV/LassoCV ile alpha değerini bir ızgara üzerinde değiştirin; bu araçlar çapraz doğrulama yoluyla en iyi alpha değerini otomatik olarak seçer.

from sklearn.linear_model import RidgeCV, LassoCV
from sklearn.datasets import make_regression

X, y = make_regression(n_features=20, noise=10, random_state=0)
ridge = RidgeCV(alphas=[0.1, 1, 10]).fit(X, y)
print("Best alpha:", ridge.alpha_)

Kısa Kontrol

Ridge ve Lasso regresyonu arasındaki temel fark nedir?

Özet

Regresyon için LinearRegression, sınıflandırma için LogisticRegression kullanın. Düzenlileştirme için Ridge/Lasso ekleyin. Özellikleri her zaman ölçeklendirin. Doğrusal olmayan problemler için PolynomialFeatures kullanın. Değerlendirmeyi regresyonda r2_score, sınıflandırmada ise accuracy_score ile yapın.

Sıkça Sorulan Sorular

“Doğrusal Modeller: Regresyon ve Sınıflandırma” dersi ücretsiz mi?

Evet — “Doğrusal Modeller: Regresyon ve Sınıflandırma” 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.

“Doğrusal Modeller: Regresyon ve Sınıflandırma” dersinde ne öğreneceğim?

Doğrusal regresyon ve lojistik regresyon modellerini eğitin. 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 2. dersidir.

“Doğrusal Modeller: Regresyon ve Sınıflandırma” 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