Začněte nyníZačněte zdarma

R-squared

Dříve jsme si ukázali jiný způsob měření kvality modelu — R-squared — vyjádřený jako poměr RSS k VAR. Pokud čitatele i jmenovatele tohoto poměru vynásobíme 1/n, dostaneme numericky ekvivalentní formu: poměr rozptylu reziduí k rozptylu lineárního trendu v datech, která modelujeme. To lze interpretovat jako míru toho, kolik z celkové variability dat tvůj model „vysvětluje" — v kontrastu s rozptylem reziduí (tedy co zbude po odstranění lineárního trendu).

Data x_data, y_data a predikce modelu y_model pro nejlépe přiléhající přímku jsou již načtena. Tvým úkolem je vypočítat hodnotu R-squared a zjistit, jak dobře tento lineární model zachycuje variabilitu dat.

Toto cvičení je součástí kurzu

Úvod do lineárního modelování v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vypočítej residuals odečtením y_data od y_model a deviations odečtením y_data od průměru y_data pomocí np.mean().
  • Vypočítej rozptyl residuals a rozptyl deviations — použij přitom funkce np.mean() a np.square().
  • Vypočítej r_squared jako 1 minus poměr var_residuals / var_deviations a výsledek vypiš.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Compute the residuals and the deviations
residuals = ____ - y_data
deviations = np.____(____) - y_data

# Compute the variance of the residuals and deviations
var_residuals = np.____(np.____(____))
var_deviations = np.____(np.____(____))

# Compute r_squared as 1 - the ratio of RSS/Variance
r_squared = 1 - (____ / ____)
print('R-squared is {:0.2f}'.format(____))
Upravit a spustit kód