Lær AI med Python · leksjon

Univariat analyse

Fordelingsdiagrammer, histogrammer, boksplott og antallsdiagrammer for å forstå enkeltfunksjoner.

Leksjon 2 av 413 trinn

Univariat analyse er en gratis leksjon i Lær AI med Python på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Lær AI med Python, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hva er univariat analyse?

Univariat analyse undersøker én variabel om gangen for å forstå fordelingen: sentrum, spredning, form og uvanlige verdier.

Riktig diagram avhenger av variabeltypen:

  • Numerisk → histogram, KDE, boxplot eller fiolindiagram
  • Kategorisk → countplot (søylediagram over frekvenser)

Sette opp plottebibliotekene

Vi bruker Matplotlib (plt) og Seaborn (sns). Seaborn bygger på Matplotlib og har bedre standardinnstillinger for statistiske diagrammer.

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

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

Histogrammer med plt.hist

Et histogram deler numeriske verdier inn i intervaller og teller hvor mange som faller i hvert intervall. Det viser den overordnede formen på en fordeling.

Argumentet bins styrer oppløsningen – for få intervaller skjuler strukturen, mens for mange tilfører støy.

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

KDE-diagrammer — jevn tetthet

Et kjernetetthetsestimat (sns.kdeplot) tegner en jevn kurve som tilnærmer seg fordelingen. Det kan være enklere å lese enn ujevne histogramstolper.

Kombiner begge med sns.histplot(..., kde=True) for å legge den jevne kurven over stolpene.

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

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

Oppdage skjevhet

Skjevhet måler asymmetri. En lang hale mot høyre er høyreskjevhet (positiv skjevhet), mens en lang hale mot venstre er venstreskjevhet (negativ skjevhet).

Inntekter, priser og antall er vanligvis høyreskjeve. Du kan kvantifisere skjevheten med df[col].skew() – verdier langt fra 0 indikerer skjevhet.

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

Oppdage bimodalitet

En bimodal fordeling har to topper, ofte et tegn på at to tydelig forskjellige grupper er blandet sammen (for eksempel to produkttyper i én priskolonne).

KDE-diagrammer gjør bimodalitet tydelig – se etter to forhøyninger. Det er et tegn på at en skjult kategorisk variabel kan forklare oppdelingen.

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

Boxplot med sns.boxplot

Et boxplot viser medianen (midtlinjen), interkvartilavstanden (IQR, boksen) og whiskere som strekker seg til omtrent 1,5 × IQR. Punkter utenfor whiskerene markeres som uteliggere.

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

Uteliggere og IQR-regelen

Boxplotet bruker IQR-regelen: Et punkt er en uteligger hvis det ligger under Q1 - 1.5*IQR eller over Q3 + 1.5*IQR.

Du kan beregne grensene selv for å filtrere bort eller begrense ekstreme verdier.

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")

Fiolindiagrammer med sns.violinplot

Et fiolindiagram kombinerer et boxplot med en speilet KDE. Bredden på hvert høydenivå viser tettheten, slik at du ser både formen og sammendragsstatistikken samtidig.

Fiolindiagrammer er svært nyttige for å avdekke skjevhet eller bimodalitet som et vanlig boxplot ville skjult.

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

Countplot for kategoriske variabler

For kategoriske kolonner bruker du sns.countplot – et søylediagram over kategorifrekvenser. Det er den visuelle formen av value_counts().

Sorter stolpene etter frekvens for bedre lesbarhet med argumentet order.

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

Velge riktig univariat diagram

En rask veiledning:

  • Formen på en numerisk kolonne → histogram eller KDE
  • Uteliggere og kvartiler → boxplot
  • Form og sammendrag samtidig → fiolindiagram
  • Kategorifrekvenser → countplot

Hurtigsjekk: valg av diagram

Du vil se medianen, kvartilene og utliggerne for én numerisk kolonne.

Oppsummering: Univariat analyse

Du har lært å undersøke én variabel om gangen:

  • plt.hist og sns.kdeplot for fordelingens form
  • .skew() for å kvantifisere asymmetri, og KDE-forhøyninger for bimodalitet
  • sns.boxplot og IQR-regelen for uteliggere
  • sns.violinplot for form og sammendrag samtidig
  • sns.countplot for kategorifrekvenser

Deretter ser vi på forholdet mellom to eller flere variabler.

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
53
Leksjoner
225

Ofte stilte spørsmål

Er leksjonen «Univariat analyse» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «Univariat analyse», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hva lærer jeg i «Univariat analyse»?

Fordelingsdiagrammer, histogrammer, boksplott og antallsdiagrammer for å forstå enkeltfunksjoner. Du øver på Lær AI med Python med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Lær AI med Python?

Ingen tidligere erfaring er nødvendig. Lær AI med Python på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Univariat analyse»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Lær AI med Python-leksjonen?

Ja. Alle Lær AI med Python-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Arbeidsflyt for EDA og dataprofiler
  2. Univariat analyse
  3. Bivariat og multivariat analyse
  4. Analyse av egenskapsfordeling og målvariabel
← Tilbake til Lær AI med Python