Ćwiczenie — przeprowadzania regresji liniowej za pomocą biblioteki Numpy

Ukończone

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.

  1. 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).

  2. 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()
    
  3. Teraz uruchom komórkę, aby wyświetlić wykres punktowy z linią regresji.

    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.