Cvičení – provedení lineární regrese pomocí knihovny Numpy

Dokončeno

Bodové grafy představují užitečný prostředek k vizualizaci dat. Předpokládejme ale, že byste do bodového grafu chtěli přidat trendovou přímku, která by ukazovala trend dat v průběhu času. Jedním ze způsobů výpočtu takových trendových přímek je lineární regrese. V tomto cvičení použijete knihovnu NumPy k provedení lineární regrese a knihovnu Matplotlib k nakreslení trendové přímky z dat.

  1. Umístěte kurzor do prázdné buňky v dolní části poznámkového bloku. Změňte typ buňky na Markdown a zadejte do ní text „Perform linear regression" (Provedení lineární regrese).

  2. Přidejte buňku typu Code a vložte do ní následující kód. Abyste pochopili, co kód dělá, přečtěte si v něm komentáře (řádky, které mají na začátku symbol #).

    # 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. Teď buňku spusťte. Zobrazí se bodový graf s regresní přímkou.

    Bodový graf s regresní přímkou

    Bodový graf s regresní přímkou

Z regresní přímky poznáte, že se rozdíl mezi průměrnou teplotou za 30 let a 5letými průměrnými teplotami během času zvětšuje. Většinu výpočtů potřebných k vygenerování regresní přímky provedla funkce polyfit z knihovny NumPy, která vypočítala hodnoty m a b rovnice přímky y = mx + b.