DEV Community

MustafaLSailor
MustafaLSailor

Posted on

Polynomial Regression

Polinomal regresyon, veri noktaları arasındaki ilişkiyi yaklaşıklayan bir regresyon yöntemidir. Bu yöntem, doğrusal olmayan ilişkileri modellemek için kullanılır. Polinomal regresyon, veri noktalarını bir polinom fonksiyonu ile uygun bir şekilde yaklaşıklayarak tahminler yapar.

Örneğin, bir veri setinde x ve y değerleri arasındaki ilişkiyi inceleyelim. Eğer bu ilişki doğrusal değilse, yani veri noktaları bir düz çizgi üzerinde değil de daha karmaşık bir eğri üzerinde dağılıyorsa, polinomal regresyon kullanılabilir.

Image description

Polinomal regresyon için bir Python kod örneği aşağıda yer almaktadır. Bu örnek, veri seti üzerinde ikinci dereceden bir polinomal regresyon modeli kurmayı ve bu modeli eğitmeyi göstermektedir:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
import operator

# Örnek veri seti oluşturuluyor
np.random.seed(0)
x = 2 - 3 * np.random.normal(0, 1, 20)
y = x - 2 * (x ** 2) + np.random.normal(-3, 3, 20)

# Verileri görselleştirme
plt.scatter(x, y, s=10)
plt.show()

# Verileri dönüştürme
x = x[:, np.newaxis]
y = y[:, np.newaxis]

# Polinom derecesini belirleme
polynomial_features = PolynomialFeatures(degree=2)
x_poly = polynomial_features.fit_transform(x)

# Polinom regresyon modelini eğitme
model = LinearRegression()
model.fit(x_poly, y)
y_poly_pred = model.predict(x_poly)

# Polinom regresyon sonuçlarını görselleştirme
plt.scatter(x, y, s=10)
# Sıralı veriler üzerinde tahmin çizgisi çizme
sort_axis = operator.itemgetter(0)
sorted_zip = sorted(zip(x,y_poly_pred), key=sort_axis)
x, y_poly_pred = zip(*sorted_zip)
plt.plot(x, y_poly_pred, color='m')
plt.show()

# Modelin performansını değerlendirme
from sklearn.metrics import mean_squared_error, r2_score
rmse = np.sqrt(mean_squared_error(y,y_poly_pred))
r2 = r2_score(y,y_poly_pred)
print(f"RMSE: {rmse}")
print(f"R2 Score: {r2}")
Enter fullscreen mode Exit fullscreen mode

Bu kod, rastgele oluşturulan bir veri seti üzerinde ikinci dereceden bir polinom kullanarak regresyon modeli kurar ve bu modelin performansını RMSE ve R2 skoru ile değerlendirir. Görselleştirme için matplotlib kütüphanesi kullanılır.

Bu örneği kendi veri setinizle denemek isterseniz, x ve y değişkenlerini kendi verilerinizle değiştirmeniz yeterlidir.

Top comments (0)