Nauka o danych — tabela regresji: R-kwadrat
R — do kwadratu
R-kwadrat i skorygowane R-kwadrat opisują, jak dobrze model regresji liniowej pasuje do punktów danych:
Wartość R-Squared wynosi zawsze od 0 do 1 (0% do 100%).
- Wysoka wartość R-kwadrat oznacza, że wiele punktów danych znajduje się w pobliżu linii funkcji regresji liniowej.
- Niska wartość R-kwadrat oznacza, że linia funkcji regresji liniowej nie pasuje dobrze do danych.
Wizualny przykład niskiej wartości R — do kwadratu (0,00)
Nasz model regresji pokazuje wartość R-kwadrat równą zero, co oznacza, że linia funkcji regresji liniowej nie pasuje dobrze do danych.
Można to zwizualizować, gdy wykreślimy funkcję regresji liniowej przez punkty danych Average_Pulse i Calorie_Burnage.
Wizualny przykład wysokiej wartości R — do kwadratu (0,79)
Jeśli jednak wykreślimy Duration i Calorie_Burnage , R-kwadrat wzrasta. Tutaj widzimy, że punkty danych są blisko linii funkcji regresji liniowej:
Oto kod w Pythonie:
Przykład
import pandas as pd
import matplotlib.pyplot as plt
from scipy
import stats
full_health_data = pd.read_csv("data.csv", header=0, sep=",")
x = full_health_data["Duration"]
y =
full_health_data ["Calorie_Burnage"]
slope, intercept, r, p, std_err =
stats.linregress(x, y)
def myfunc(x):
return slope * x + intercept
mymodel = list(map(myfunc, x))
print(mymodel)
plt.scatter(x,
y)
plt.plot(x, mymodel)
plt.ylim(ymin=0, ymax=2000)
plt.xlim(xmin=0,
xmax=200)
plt.xlabel("Duration")
plt.ylabel ("Calorie_Burnage")
plt.show()
Podsumowanie - Przewidywanie spalonych kalorii za pomocą wartości średniej_pulsu
Jak możemy podsumować funkcję regresji liniowej ze średnią_impulsem jako zmienną objaśniającą?
- Współczynnik 0,3296, co oznacza, że Average_Pulse ma bardzo mały wpływ na Calorie_Burnage.
- Wysoka wartość P (0,824), co oznacza, że nie możemy wywnioskować związku między Average_Pulse a Calorie_Burnage.
- Wartość R-kwadrat równa 0, co oznacza, że linia funkcji regresji liniowej nie pasuje dobrze do danych.