Dopasowanie metodą najmniejszych kwadratów
Część sekcji Statystyka w uczeniu maszynowym ścieżki Machine Learning w Coddy. Lekcja 36 z 64.
Próby zgadywania prostych mogłyby trwać w nieskończoność. np.polyfit(x, y, 1) od razu znajduje najlepszą: prostą z najmniejszą sumą kwadratów reszt. Oto głębokość śniegu podczas burzy:
hours = np.array([1, 2, 3, 5, 6])
depth = np.array([14, 22, 35, 52, 61])
slope, intercept = np.polyfit(hours, depth, 1)
print(np.round(slope, 2), np.round(intercept, 2))To wypisuje 9.5 4.5: około 9.5 cm więcej śniegu na godzinę oraz 4.5 cm w godzinie 0. Żadna inna linia nie ma mniejszego błędu:
1 oznacza prostą linię, a x występuje jako pierwsze. To regresja liniowa, pierwszy model, który trenujesz w sekcji 3.
Wyzwanie
ŚredniProducent dronów chce wiedzieć, który pomiar najlepiej przewiduje czas lotu. Plik drones.csv zawiera dane z 15 lotów: payload_g, wind_kmh i flight_min. Kod początkowy wczytuje go i definiuje ssr(x, y, slope, intercept).
- Dla każdej kolumny w
columnsdopasuj prostą przewidującą na jej podstawieflight_min. - Wypisz jej równanie i SSR jak poniżej: nachylenie z dokładnością do 3 miejsc po przecinku, punkt przecięcia z osią i SSR z dokładnością do 2.
- Wypisz kolumnę z mniejszym SSR.
Dla innego drona:
payload_g: flight_min = -0.001 * payload_g + 21.55, SSR 164.94
wind_kmh: flight_min = -0.481 * wind_kmh + 28.13, SSR 9.1
Better predictor: wind_kmhSpróbuj swoich sił
import numpy as np
import pandas as pd
# Zwraca sumę kwadratów reszt dla prostej slope * x + intercept (lekcja 35)
def ssr(x, y, slope, intercept):
return ((y - (slope * x + intercept)) ** 2).sum()
drones = pd.read_csv("drones.csv")
columns = ["payload_g", "wind_kmh"]
# Napisz swój kod poniżej
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
1Położenie i rozproszenie
Średnia i medianaPercentyle i kwartyleWariancja i odchylenie standardowePróba czy populacja?Najczęściej występująca wartośćPodsumowanie: czasy dostaw4Próby i populacje
Populacja i próbaŚrednie z prób się różniąRozkład próbkowaniaWiększe próby, mniej szumuPodsumowanie: ankietowanie mieszkańców7Linie trendu
ResztyDopasowanie metodą najmniejszych kwadratówRysowanie dopasowanej prostejPrzewidywanie za pomocą prostejJak dobre jest dopasowanie?Podsumowanie: godziny ćwiczeń2Rozkłady
Histogramy gęstościKształty danychKrzywa normalnaReguła 68-95-99,7Wyniki standaryzowane (Z-scores)Podsumowanie: czas pracy baterii5Obserwacje odstające
Wykresy pudełkoweReguła IQRReguła Z-scorePostępowanie z obserwacjami odstającymiPodsumowanie: błędy czujników3Prawdopodobieństwo przez symulację
Prawdopodobieństwo jako częstośćPrawo wielkich liczbSumy oczekWartość oczekiwanaPrawdopodobieństwo warunkowePodsumowanie: szanse na stoisku z kośćmi6Relacje
Odczytywanie wykresów punktowychKorelacjaMacierz korelacjiMapy cieplne korelacjiKorelacja nie oznacza przyczynowościPodsumowanie: lody i słońcePoćwicz samodzielnie: Kompilator Python online