Drzewa wzmacniane gradientowo: wizualizacja
Masz już predykcje modelu – czas sprawdzić, czy są trafne. Istnieje wiele wykresów, które pozwalają ocenić dokładność predykcji. Tutaj przyjrzysz się dwóm najczęściej stosowanym. Po pierwsze, warto narysować wykres punktowy przewidywanych wartości w porównaniu z rzeczywistymi, aby zobaczyć, jak bardzo się różnią. Po drugie, reszty modelu powinny być zbliżone do rozkładu normalnego, dlatego przydatny jest wykres gęstości reszt. Wykresy będą wyglądać mniej więcej tak.

W tym ćwiczeniu nauczysz się samodzielnie obliczać reszty (wartości przewidywane minus wartości rzeczywiste) dla predykcji swojego modelu.
To ćwiczenie jest częścią kursu
Wprowadzenie do Spark z pakietem sparklyr w R
Instrukcje do ćwiczenia
Lokalna ramka danych responses, zawierająca przewidywane i rzeczywiste lata, została wcześniej zdefiniowana.
- Narysuj wykres punktowy przewidywanych wartości w porównaniu z rzeczywistymi.
- Wywołaj
ggplot(). - Pierwszym argumentem jest zbiór danych
responses. - Drugi argument powinien zawierać nazwy kolumn bez cudzysłowów dla osi x i y (odpowiednio
actualipredicted), opakowane waes(). - Dodaj punkty, wywołując
geom_point(). - Ustaw częściową przezroczystość punktów, ustawiając
alpha = 0.1. - Dodaj linię referencyjną, wywołując
geom_abline()z argumentamiintercept = 0islope = 1.
- Wywołaj
- Utwórz ramkę danych reszt o nazwie
residuals.- Wywołaj
transmute()na obiekcieresponses. - Nowa kolumna powinna nazywać się
residual. - Wartość
residualpowinna być równa przewidywanej odpowiedzi minus rzeczywista odpowiedź.
- Wywołaj
- Narysuj wykres gęstości reszt.
- Przekaż przekształconą ramkę danych potokiem do
ggplot(). ggplot()potrzebuje jednej estetyki:residualopakowanego waes().- Dodaj krzywą gęstości prawdopodobieństwa, wywołując
geom_density(). - Dodaj pionową linię referencyjną w zerze, wywołując
geom_vline()z argumentemxintercept = 0.
- Przekaż przekształconą ramkę danych potokiem do
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# responses has been pre-defined
responses
# Draw a scatterplot of predicted vs. actual
ggplot(___, aes(___, ___)) +
# Add the points
___ +
# Add a line at actual = predicted
___
residuals <- responses %>%
# Transmute response data to residuals
___
# Draw a density plot of residuals
ggplot(___, aes(___)) +
# Add a density curve
___ +
# Add a vertical line through zero
___