İlk Minik Makine Öğrenmesi Uygulamasında  lineer regresyon implement ederek istediğimiz evin fiyatının ne olabileceğini tahmin ettik.

Bu sefer, Scikit-Learn içerisinde implement edilmiş lineer regresyon modelini hazır alıp kullanacağız.

Sklearn-Learn içerisinde olan Veri Setimizi yüklüyoruz.


from sklearn import linear_model
from sklearn import datasets

# Model Secimi
# Tahminci Olarak Lineer Regresyon Secildi
linear_regression_estimator = linear_model.LinearRegression()

# Veri Setimizin Yuklenmesi
# Veri Setinde 506 Adet Eve Ait Bilgiler Bulunuyor.
boston_houses = datasets.load_boston()

Hedef Değişkenimizi Belirliyoruz.


# Denetimli Ogrenme icin
# Sonucunu Tahmin Edilmeye Calisilacak Hedef Degisken
y = boston_houses.target

 

Sıra tahminlerimizi gercekleştirmeye geldi. Burada Çapraz Doğrulama kullanacağız.


from sklearn.model_selection import cross_val_predict

# 5-Katli Capraz Dogrulama Kullanilacak
# Tahmin Sonuclari
predicted = cross_val_predict(linear_regression_estimator, boston_houses.data, y, cv=5)

 

Ve son olarak, görselleştirelim.


import matplotlib.pyplot as plt

# Gorsellestirme
fig, ax = plt.subplots()
ax.scatter(y, predicted, marker="o", s=5)
ax.plot([y.min(), y.max()], [y.min(), y.max()], 'k', lw=2)
ax.set_xlabel('Measured')
ax.set_ylabel('Predicted')
plt.show()

 

SONUÇ:

aq.png

 


from sklearn import datasets
from sklearn.model_selection import cross_val_predict
from sklearn import linear_model
import matplotlib.pyplot as plt

# Model Secimi
# Tahminci Olarak Lineer Regresyon Secildi
linear_regression_estimator = linear_model.LinearRegression()

# Veri Setimizin Yuklenmesi
# Veri Setinde 506 Adet Eve Ait Bilgiler Bulunuyor.
boston_houses = datasets.load_boston()

# Denetimli Ogrenme icin
# Sonucunu Tahmin Edilmeye Calisilacak Hedef Degisken
y = boston_houses.target

# 5-Katli Capraz Dogrulama Kullanilacak
# Tahmin Sonuclari
predicted = cross_val_predict(linear_regression_estimator, boston_houses.data, y, cv=5)

# Gorsellestirme
fig, ax = plt.subplots()
ax.scatter(y, predicted, marker="o", s=5)
ax.plot([y.min(), y.max()], [y.min(), y.max()], 'k', lw=2)
ax.set_xlabel('Measured')
ax.set_ylabel('Predicted')
plt.show()

 

Referans: http://scikit-learn.org/stable/auto_examples/plot_cv_predict.html#sphx-glr-auto-examples-plot-cv-predict-py