Untitled
public
Apr 26, 2025
Never
34
1 import matplotlib 2 import numpy as np 3 import matplotlib.pyplot as plt 4 #from sklearn.datasets.samples_generator import make_regression # for old sklearn version 5 from sklearn.datasets import make_regression # for new sklearn version 6 %matplotlib inline 7 8 sizes = np.loadtxt('flat.areas').reshape((26,1)) #załaduj wektor rozmiarów mieszkań 9 prices = np.loadtxt('flat.prices').reshape((26,1)) #załaduj wektor cen mieszkań 10 samples_cnt = len(prices) #pobierz liczność par rozmiar->cena 11 weight0 = 0.0 # inicjalizuj wagi 12 weight1 = 0.0 # 13 learning_rate = 0.0001 #stala uczenia 14 maxIteration = 100000 #liczba iteracji 15 16 for i in range(maxIteration): 17 # Wyliczanie przewidywanych cen 18 predicted_prices = weight0 + weight1 * sizes 19 20 # Obliczanie błędów 21 error = predicted_prices - prices 22 23 # Gradient Descent (aktualizacja wag) 24 weight0 -= learning_rate * np.sum(error) / samples_cnt # gradient wagi wyrazu wolnego 25 weight1 -= learning_rate * np.sum(error * sizes) / samples_cnt # gradient wagi cechy 26 27 plt.plot(sizes, prices, "x") 28 if len(predicted_prices) > 0: 29 plt.plot(sizes, predicted_prices, "r-") 30 plt.title('Ceny mieszkan w zaleznosci od metrazu') 31 plt.xlabel('metraz (m^2)') 32 plt.ylabel('Cena mieszkania (tys. zł)') 33 plt.show() 34 print("Wyznaczone wartości wag -> w0:", weight0, "w1:", weight1)