TensorFlow - Doğrusal Regresyon
Bu bölümde, TensorFlow kullanarak doğrusal regresyon uygulamasının temel örneğine odaklanacağız. Lojistik regresyon veya doğrusal regresyon, ayrı ayrı kategorilerin sınıflandırılması için denetlenen bir makine öğrenimi yaklaşımıdır. Bu bölümdeki amacımız, bir kullanıcının tahmin değişkenleri ile bir veya daha fazla bağımsız değişken arasındaki ilişkiyi tahmin edebileceği bir model oluşturmaktır.
Bu iki değişken arasındaki ilişki doğrusal olarak kabul edilir. Y bağımlı değişkense ve x bağımsız değişken olarak kabul edilirse, iki değişkenin doğrusal regresyon ilişkisi aşağıdaki denklem gibi görünecektir -
Y = Ax+b
Doğrusal regresyon için bir algoritma tasarlayacağız. Bu, aşağıdaki iki önemli kavramı anlamamızı sağlayacaktır:
- Maliyet fonksiyonu
- Gradyan iniş algoritmaları
Doğrusal regresyonun şematik gösterimi aşağıda belirtilmiştir -
Doğrusal regresyon denkleminin grafik görünümü aşağıda belirtilmiştir -
Doğrusal regresyon için bir algoritma tasarlama adımları
Şimdi doğrusal regresyon için bir algoritma tasarlamaya yardımcı olan adımları öğreneceğiz.
Aşama 1
Doğrusal regresyon modülünü çizmek için gerekli modülleri içe aktarmak önemlidir. Python kütüphanesi NumPy ve Matplotlib'i içe aktarmaya başlıyoruz.
import numpy as np
import matplotlib.pyplot as plt
Adım 2
Lojistik regresyon için gerekli katsayı sayısını tanımlayın.
number_of_points = 500
x_point = []
y_point = []
a = 0.22
b = 0.78
Aşama 3
Regresyon denklemi etrafında 300 rastgele nokta oluşturmak için değişkenleri yineleyin -
Y = 0,22x + 0,78
for i in range(number_of_points):
x = np.random.normal(0.0,0.5)
y = a*x + b +np.random.normal(0.0,0.1) x_point.append([x])
y_point.append([y])
4. adım
Matplotlib kullanarak oluşturulan noktaları görüntüleyin.
fplt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() plt.show()
Lojistik regresyon için tam kod aşağıdaki gibidir -
import numpy as np
import matplotlib.pyplot as plt
number_of_points = 500
x_point = []
y_point = []
a = 0.22
b = 0.78
for i in range(number_of_points):
x = np.random.normal(0.0,0.5)
y = a*x + b +np.random.normal(0.0,0.1) x_point.append([x])
y_point.append([y])
plt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend()
plt.show()
Girdi olarak alınan noktaların sayısı girdi verisi olarak kabul edilir.