Ćwiczenie — przeprowadzania regresji liniowej za pomocą biblioteki Numpy
Wykres punktowy to wygodny sposób wizualizowania danych. Załóżmy jednak, że chcesz nałożyć na wykres liniowy linię trendu pokazującą, w jaki sposób zmieniają się dane w czasie. Jednym ze sposobów obliczenia linii trendu jest regresja liniowa. W tym ćwiczeniu użyjesz biblioteki NumPy, aby wykonać regresję liniową, oraz biblioteki Matplotlib, aby narysować linię trendu na podstawie tych danych.
Umieść kursor w pustej komórce w dolnej części notesu. Zmień typ komórki na markdown i wprowadź tekst „Perform linear regression” (Wykonywanie regresji liniowej).
Dodaj komórkę code i wklej poniższy kod. Poświęć chwilę na przeczytanie komentarzy (wierszy rozpoczynających się od znaku #), aby zrozumieć, jak działa kod.
# Creates a linear regression from the data points m,b = np.polyfit(yearsBase, meanBase, 1) # This is a simple y = mx + b line function def f(x): return m*x + b # This generates the same scatter plot as before, but adds a line plot using the function above plt.scatter(yearsBase, meanBase) plt.plot(yearsBase, f(yearsBase)) plt.title('scatter plot of mean temp difference vs year') plt.xlabel('years', fontsize=12) plt.ylabel('mean temp difference', fontsize=12) plt.show() # Prints text to the screen showing the computed values of m and b print(' y = {0} * x + {1}'.format(m, b)) plt.show()
Teraz uruchom komórkę, aby wyświetlić wykres punktowy z linią regresji.
Wykres punktowy z linią regresji
Na podstawie linii regresji można zobaczyć, że różnica pomiędzy średnią temperaturą z 30 lat a średnią temperaturą z 5 lat zwiększa się w czasie. Większość pracy obliczeniowej wymaganej do wygenerowania linii regresji została wykonana przez funkcję biblioteki NumPy polyfit
, która obliczyła wartości m
i b
w równaniu y = mx + b.