Scikit-Learn: Lojistik Fonksiyon


Sadece 0 ve 1 değerlerine sahip bir verisetine bakalım. Lojistik regresyon ve lineer regresyon modellerinin ikisi ile de bu verileri sınıflandıralım.

Programın tamamı aşağıdadır.

 

import numpy as np
import matplotlib.pyplot as plt

from sklearn import linear_model

# Bu sadece duz bir dogru, test edebilmek icin
# Gaussian gurultusu iceriyor
xmin, xmax = -5, 5

# uzerinde calisacagimiz veri sayisi
sample_number = 100

# cekirdegi sifirliyoruz
np.random.seed(0)

# uzerinde calisacagimiz verileri hazirliyoruz
# sentetik veri setimiz
X = np.random.normal(size=sample_number)
y = (X > 0).astype(np.float)
X[X > 0] *= 4
X += .3 * np.random.normal(size=sample_number)
X = X[:, np.newaxis]

# Logistik Regresyon icin siniflandiricimiz
clf = linear_model.LogisticRegression(C=1e5)
clf.fit(X, y)

plt.figure(1, figsize=(4, 3))
plt.clf()
plt.scatter(X.ravel(), y, color='black', zorder=20)
X_test = np.linspace(-5, 10, 300)

def model(x):
    return 1 / (1 + np.exp(-x))

loss = model(X_test * clf.coef_ + clf.intercept_).ravel()
plt.plot(X_test, loss, color='red', linewidth=3)
# Logistik Regresyon'u plot'a yerlestirdik.

# Lineer Regresyon icin siniflandiricimiz
ols = linear_model.LinearRegression()
ols.fit(X, y)
plt.plot(X_test, ols.coef_ * X_test + ols.intercept_, linewidth=1)
plt.axhline(.5, color='.5')

plt.ylabel('y')
plt.xlabel('X')
plt.xticks(range(-5, 10))
plt.yticks([0, 0.5, 1])
plt.ylim(-.25, 1.25)
plt.xlim(-4, 10)
plt.legend(('Logistic Regression Model', 'Linear Regression Model'),
           loc="lower right", fontsize='small')
plt.show()

 

lojistik_fonk

Referans:

http://scikit-learn.org/stable/auto_examples/linear_model/plot_logistic.html#sphx-glr-auto-examples-linear-model-plot-logistic-py

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s