Seaborn - oszacowanie statystyczne
W większości sytuacji mamy do czynienia z szacunkami całego rozkładu danych. Ale jeśli chodzi o estymację tendencji centralnej, potrzebujemy konkretnego sposobu podsumowania rozkładu. Średnia i mediana to bardzo często używane techniki szacowania centralnej tendencji rozkładu.
Na wszystkich wykresach, których nauczyliśmy się w powyższej sekcji, wykonaliśmy wizualizację całej dystrybucji. Omówmy teraz działki, na podstawie których możemy oszacować centralną tendencję rozkładu.
Działka barowa
Plik barplot()pokazuje związek między zmienną kategorialną i ciągłą. Dane są przedstawione w postaci prostokątnych słupków, przy czym długość słupka reprezentuje proporcje danych w tej kategorii.
Wykres słupkowy reprezentuje oszacowanie tendencji centralnej. Użyjmy zbioru danych „titanic”, aby nauczyć się wykresów słupkowych.
Przykład
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.barplot(x = "sex", y = "survived", hue = "class", data = df)
plt.show()
Wynik
W powyższym przykładzie widzimy, że średnia liczba ocalałych mężczyzn i kobiet w każdej klasie. Na podstawie fabuły możemy zrozumieć, że przeżyło więcej samic niż samców. Zarówno u samców, jak iu samic większa liczba przeżyć pochodzi z pierwszej klasy.
Szczególnym przypadkiem w wykresie słupkowym jest pokazanie liczby obserwacji w każdej kategorii zamiast obliczania statystyki dla drugiej zmiennej. W tym celu używamycountplot().
Przykład
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.countplot(x = " class ", data = df, palette = "Blues");
plt.show()
Wynik
Fabuła mówi, że liczba pasażerów w trzeciej klasie jest wyższa niż w pierwszej i drugiej klasie.
Wykresy punktowe
Wykresy punktowe służą tak samo, jak wykresy słupkowe, ale w innym stylu. Zamiast pełnego słupka wartość oszacowania jest reprezentowana przez punkt na określonej wysokości na drugiej osi.
Przykład
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.pointplot(x = "sex", y = "survived", hue = "class", data = df)
plt.show()