Cvičení – provedení lineární regrese pomocí knihovny Numpy
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.
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).
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()
Teď buňku spusťte. Zobrazí se 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.