0Pricing
Learn AI with Python · Lekcja

Analiza jednowymiarowa

Wykresy rozkładu, histogramy, wykresy pudełkowe i wykresy liczności do analizy pojedynczych cech.

Analiza jednowymiarowa to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Czym jest analiza jednowymiarowa

Analiza jednowymiarowa bada jedną zmienną naraz, aby zrozumieć jej rozkład: tendencję centralną, rozproszenie, kształt i nietypowe wartości.

Wybór odpowiedniego wykresu zależy od typu zmiennej:

  • Liczbowa → histogram, KDE, wykres pudełkowy, wykres skrzypcowy
  • Kategoryczna → wykres zliczeń (wykres słupkowy częstości)

Konfigurowanie bibliotek do tworzenia wykresów

Używamy bibliotek Matplotlib (plt) i Seaborn (sns). Seaborn bazuje na Matplotlib i oferuje lepsze wartości domyślne dla wykresów statystycznych.

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

sns.set_theme(style="whitegrid")
df = pd.read_csv("data.csv")

Histogramy za pomocą plt.hist

Histogram dzieli wartości liczbowe na przedziały i zlicza, ile wartości przypada na każdy z nich. Pokazuje ogólny kształt rozkładu.

Argument bins określa szczegółowość — zbyt mała liczba przedziałów ukrywa strukturę, a zbyt duża wprowadza szum.

plt.hist(df["age"], bins=30, edgecolor="black")
plt.xlabel("Age")
plt.ylabel("Count")
plt.title("Age Distribution")
plt.show()

Wykresy KDE — wygładzona gęstość

Estymator gęstości jądrowej (sns.kdeplot) rysuje gładką krzywą przybliżającą rozkład, która może być łatwiejsza do odczytania niż poszarpane słupki histogramu.

Oba podejścia można połączyć za pomocą sns.histplot(..., kde=True), nakładając gładką krzywą na słupki.

sns.kdeplot(df["age"], fill=True)
plt.show()

sns.histplot(df["age"], bins=30, kde=True)
plt.show()

Wykrywanie skośności

Skośność mierzy asymetrię. Długi ogon po prawej stronie oznacza skośność prawostronną (dodatnią), a długi ogon po lewej stronie — skośność lewostronną (ujemną).

Dochody, ceny i liczności zwykle mają rozkład prawostronnie skośny. Skośność można zmierzyć za pomocą df[col].skew() — wartości znacznie różniące się od 0 wskazują na skośność.

print(df["income"].skew())   # e.g. 2.3 -> strong right skew
sns.histplot(df["income"], bins=40, kde=True)
plt.show()

Wykrywanie dwumodalności

Rozkład dwumodalny ma dwa wierzchołki, co często oznacza, że połączono w nim dwie odrębne grupy (np. dwa typy produktów w jednej kolumnie z cenami).

Wykresy KDE wyraźnie pokazują dwumodalność — należy szukać dwóch wzniesień. Może to wskazywać, że za podział odpowiada ukryta zmienna kategoryczna.

sns.kdeplot(df["price"], fill=True)
plt.title("Two peaks suggest two subpopulations")
plt.show()

Wykresy pudełkowe za pomocą sns.boxplot

Wykres pudełkowy pokazuje medianę (linia pośrodku), rozstęp międzykwartylowy (IQR, pudełko) oraz wąsy sięgające około 1,5 × IQR. Punkty poza wąsami są oznaczane jako wartości odstające.

sns.boxplot(x=df["income"])
plt.title("Income — box plot")
plt.show()

Wartości odstające i reguła IQR

Wykres pudełkowy korzysta z reguły IQR: punkt jest wartością odstającą, jeśli leży poniżej Q1 - 1.5*IQR lub powyżej Q3 + 1.5*IQR.

Granice można obliczyć samodzielnie, aby odfiltrować wartości skrajne lub ograniczyć ich zakres.

q1 = df["income"].quantile(0.25)
q3 = df["income"].quantile(0.75)
iqr = q3 - q1
low, high = q1 - 1.5*iqr, q3 + 1.5*iqr
outliers = df[(df["income"] < low) | (df["income"] > high)]
print(len(outliers), "outliers")

Wykresy skrzypcowe za pomocą sns.violinplot

Wykres skrzypcowy łączy wykres pudełkowy z lustrzanym odbiciem wykresu KDE. Szerokość na każdej wysokości pokazuje gęstość, dzięki czemu jednocześnie widać kształt i statystyki podsumowujące.

Wykresy skrzypcowe świetnie pokazują skośność lub dwumodalność, które zwykły wykres pudełkowy mógłby ukryć.

sns.violinplot(x=df["age"])
plt.title("Age — violin plot")
plt.show()

Wykresy zliczeń dla zmiennych kategorycznych

W przypadku kolumn kategorycznych należy użyć sns.countplot — wykresu słupkowego częstości kategorii. Jest to wizualna forma wyniku value_counts().

Aby ułatwić odczyt, można uporządkować słupki według częstości za pomocą argumentu order.

order = df["city"].value_counts().index
sns.countplot(y="city", data=df, order=order)
plt.title("Records per city")
plt.show()

Wybór odpowiedniego wykresu jednowymiarowego

Krótki przewodnik wyboru:

  • Kształt kolumny liczbowej → histogram lub KDE
  • Wartości odstające i kwartyle → wykres pudełkowy
  • Kształt i podsumowanie jednocześnie → wykres skrzypcowy
  • Częstości kategorii → wykres zliczeń

Szybkie sprawdzenie: wybór wykresu

Chcą Państwo zobaczyć medianę, kwartyle i wartości odstające dla jednej kolumny liczbowej.

Podsumowanie: analiza jednowymiarowa

Nauczyli się Państwo analizować jedną zmienną naraz:

  • plt.hist i sns.kdeplot do badania kształtu rozkładu
  • .skew() do pomiaru asymetrii; wzniesienia na wykresie KDE do wykrywania dwumodalności
  • sns.boxplot i reguła IQR do wykrywania wartości odstających
  • sns.violinplot do jednoczesnego przedstawiania kształtu i statystyk podsumowujących
  • sns.countplot do badania częstości kategorii

W następnym kroku przyjrzymy się zależnościom między dwiema lub większą liczbą zmiennych.

Często zadawane pytania

Czy lekcja „Analiza jednowymiarowa” jest bezpłatna?

Tak — pełny tekst „Analiza jednowymiarowa” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Co nauczysz się w „Analiza jednowymiarowa”?

Wykresy rozkładu, histogramy, wykresy pudełkowe i wykresy liczności do analizy pojedynczych cech. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?

Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Analiza jednowymiarowa”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?

Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Przepływ EDA i profilowanie danych
  2. Analiza jednowymiarowa
  3. Analiza dwu- i wielowymiarowa
  4. Analiza rozkładu cech i zmiennej docelowej
← Powrót do Learn AI with Python