Przewidywanie wartości liczbowych
Część sekcji Uczenie nadzorowane ścieżki Machine Learning w Coddy. Lekcja 11 z 58.
Modele z tego rozdziału przewidują liczby. Pod koniec wykres pomyłek modelu pokaże, czego nie uwzględnił:
Zacznij od znanej Ci prostej. LinearRegression uczy się jej na podstawie tabeli X, w której każdy wiersz odpowiada jednej próbce, a każda kolumna jednej cesze:
from sklearn.linear_model import LinearRegression
area = np.array([60, 75, 90, 110, 130, 150]) # domy, w m²
price = np.array([215, 248, 290, 335, 385, 428]) # tysiące dolarów
X = area.reshape(-1, 1) # 6 wierszy, 1 kolumna
model = LinearRegression()
model.fit(X, price)
print(np.round(model.coef_, 2), np.round(model.intercept_, 2))
print(np.round(np.polyfit(area, price, 1), 2))Wypisuje ten sam wiersz dwa razy:
[2.39] 71.59
[ 2.39 71.59]coef_ przechowuje jedno nachylenie dla każdej cechy: każdy dodatkowy m² dodaje 2.39 tysiąca dolarów. intercept_ to początek prostej przy 0 m². Następnie model.predict([[100]]) wycenia 100 m² na około 310.85 tysiąca.
Wyzwanie
ŚredniDrukarnia nigdy nie publikowała swoich cen, ale masz dane z 10 wcześniejszych zleceń: pages i price w dolarach. Program odczytuje liczbę stron nowego zlecenia.
- Dopasuj
LinearRegressiondo liczby stron w postaci tabeli z jedną kolumną. - Wyświetl cenę za stronę (3 miejsca po przecinku) i opłatę początkową, czyli punkt przecięcia z osią (2 miejsca po przecinku).
- Wyświetl przewidywaną cenę nowego zlecenia (2 miejsca po przecinku).
Dla innej drukarni i wartości 120:
Per page: 0.095 dollars
Setup fee: 4.1 dollars
120 pages: 15.5 dollarsSpróbuj swoich sił
import numpy as np
from sklearn.linear_model import LinearRegression
# 10 poprzednich zleceń drukowania: liczba wydrukowanych stron i zapłacona cena w dolarach
pages = np.array([40, 75, 120, 160, 210, 260, 300, 380, 450, 520])
price = np.array([7.38, 12.6, 17.65, 20.69, 26.63, 32.18, 37.76, 46.4, 55.17, 60.89])
new_pages = int(input())
# 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 Uczenie nadzorowane
1Twój pierwszy model
Uczenie się na przykładachZbiory treningowe i testoweDopasowywanie i przewidywanieOcena modeluPodsumowanie: Sortownik nasion4Regresja logistyczna
Przewidywanie „tak” lub „nie”Próg decyzyjnyWagi jako dowodyWiele klasPodsumowanie: filtr spamu2Najbliżsi sąsiedzi
Jak działa k-NNWybór kGranice decyzyjneSkalowanie dla sąsiadówPodsumowanie: sąsiedzi w zbiorze Wine5Ocena klasyfikatorów
Macierz pomyłekPrecyzja i czułośćWynik F1Niezrównoważone klasyKrzywe ROCPodsumowanie: test przesiewowy8Walidacja krzyżowa
Walidacja k-krotnaUczciwe porównywanie modeliPrzeszukiwanie siatkiPodsumowanie: naprawa deskorolki11Projekt: Gatunki pingwinów
Poznaj pingwinyPrzygotuj daneWybierz modelDopracuj zwycięski modelWdróż model3Regresja liniowa
Przewidywanie wartości liczbowychWiele cechPomiar błędówWykresy resztPodsumowanie: wypożyczanie rowerówPoćwicz samodzielnie: Kompilator Python online