Menu
CoddyTech

Reszty

Część sekcji Statystyka w uczeniu maszynowym ścieżki Machine Learning w Coddy. Lekcja 35 z 64.

W tym rozdziale przeprowadzisz linię trendu przez dane, wykorzystasz ją do przewidywania i oceniania. Oto, dokąd prowadzi:

Pięć zleceń koszenia trawnika jako punkty, minuty w zależności od powierzchni trawnika, z pomarańczową linią trendu przechodzącą przez nie i dużą zieloną gwiazdą na linii, która przewiduje 50 minut dla nowego trawnika o powierzchni 10

Jak dobrze sprawdza się prosta? Firma zajmująca się pielęgnacją trawników szacuje, że każde zlecenie zajmie 4.5 * area + 5 minut. Każda czerwona przerwa to reszta: wartość rzeczywista minus przewidywana.

Pięć zleceń na pielęgnację trawników i szacowana prosta, z czerwoną pionową przerwą od każdego punktu do prostej, opisaną wartościami +6, -5, +3.5, -7 i +3.5

Podnieś do kwadratu i dodaj je, aby obliczyć wynik:

area = np.array([4, 6, 9, 12, 15])
minutes = np.array([29, 27, 49, 52, 76])
residuals = minutes - (4.5 * area + 5)
print(residuals)
print((residuals ** 2).sum())

To wypisuje:

[ 6.  -5.   3.5 -7.   3.5]
134.5

Kwadraty zapobiegają wzajemnemu znoszeniu się wartości +6 i -6. Im mniejsza ta suma kwadratów reszt, tym lepsza linia. Model uczy się, zmniejszając ją.

challenge icon

Wyzwanie

Średni

Firma przeprowadzkowa szacuje, ile czasu zajmie przeprowadzka, na podstawie liczby pudeł. boxes i hours zawierają dane z ośmiu wcześniejszych przeprowadzek, a program wczytuje dwie szacowane proste: slope1, intercept1, a następnie slope2, intercept2.

  1. Oceń każdą prostą na podstawie sumy kwadratów reszt.
  2. Wyświetl obie sumy zaokrąglone do 2 miejsc po przecinku oraz lepszą prostą, jak poniżej.

Dla prostych 0.16 * boxes + 0.8 i 0.12 * boxes + 2.5:

Line 1 SSR: 0.57
Line 2 SSR: 4.1
Better: line 1

Spróbuj swoich sił

import numpy as np

boxes = np.array([10, 18, 25, 32, 40, 47, 55, 60])
hours = np.array([2.5, 3.5, 5.0, 5.5, 7.0, 8.0, 9.5, 10.0])
slope1 = float(input())
intercept1 = float(input())
slope2 = float(input())
intercept2 = float(input())

# Napisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Statystyka w uczeniu maszynowym

Poćwicz samodzielnie: Kompilator Python online