İçeriğe geç

Linear Regression

Linner regression ile doğrusal dağılımdaki veriler üzerinde tahmin yapılabilir. Tek bir öznitelik karşısında bir karşılığı ile sonuç elde edilebilir.

Burada y=b0+b1*x şeklinde bir formül kullanılabilir. Burada x bağımsız değişken y ise x’e bağlı bağımlı bir değişkendir.

b0: X=0 olduğunda bağımlı değişkenin alacağı değer kesim noktasıdır.(y eksenini kestiği nokta)
b1: Eğim katsayısı(regresyon katsayısı)

Buradaki b0 ve b1 değerlerini lineer regression algoritması ile pythondan direk alabiliriz.

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.model_selection import train_test_split
df=pd.read_csv("bigcity.csv")

#%%
from sklearn.linear_model import LinearRegression

lin_reg=LinearRegression()

xx=df.u.values.reshape(-1,1)
yy=df.x.values.reshape(-1,1)
X_train, X_test, y_train, y_test = train_test_split(xx, yy, test_size=0.33, random_state=42)

lin_reg.fit(X_train,y_train)

y_pred=lin_reg.predict(X_test)
plt.scatter(df.u, df.x)
plt.xlabel("U(1920)")
plt.ylabel("X(1930)")

plt.plot(X_test, y_pred, color="red")

plt.show()
print("Denklem: y=b0+b1*x  =>  y="+str(lin_reg.intercept_)+"+"+str(lin_reg.coef_)+"*x")

Burada http://vincentarelbundock.github.io/Rdatasets/doc/boot/bigcity.html bu sayfadaki data set kullanılmıştır ve en son grafikler üzerinde görüntü alınmıştır aşağıdaki gibi olmuştur. Denklemdeki b0(constant) intercept ile b1(coeff) bilgisi ise coef ile alınmıştır.(b bias kısaltılmasıdır.)

Burada birde MSE yani hata hesabı yapmak için karşımıza residual kavramı çıkmaktadır bu kavram şu şekilde hesaplanır.
residual=y-y_pred(y predict)
MSE=sum(residual^2)/n
Burada residual gerçek değer ile hesaplanan arasındaki farktır ve bu değer negatif olabileceği için mse hesaplarken karesi alınmıştır büyün değerler için toplanmıştır(sum) ve sonra örnek sayısına yani n bölünerek mse hesaplanmıştır. Formül hali ile;

Kısaca lineer regresyon bu şekilde hesaplanmaktadır.

Tarih:Makine Öğrenmesi

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir