Hoppa till innehållet
AI-grafen
D· AI-utvecklareklassisk-ml· ca 45 min· grundläggande — ändras sällan· verifierad 2026-09-20

Logistisk regression och beslutsträd

Kunna träna och utvärdera en klassificerare, läsa en förväxlingsmatris, och välja mellan logistisk regression och träd.

Förkunskaper

Intuition

Logistisk regression är linjär regression som pressats genom en sigmoid så att utdata blir en sannolikhet mellan 0 och 1:

p = σ(w·x + b), där σ(z) = 1/(1 + e⁻ᶻ)

Gränsen mellan klasserna blir en rak linje (eller ett plan). Snabb, stabil, och koefficienterna går att tolka.

Beslutsträd ställer ja/nej-frågor i följd: «ålder > 30?» → «inkomst > 40k?» → klass. Gränsen blir trappstegsformad. Klarar icke-linjära mönster och behöver ingen skalning — men överanpassar lätt om det får växa fritt.

Tumregel: börja med logistisk regression som baslinje. Går mönstret inte att skilja med en linje, prova träd eller random forest (många träd som röstar).

Kod

from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
from sklearn.metrics import confusion_matrix, classification_report

modeller = {
    "logreg": make_pipeline(StandardScaler(), LogisticRegression(max_iter=1000)),
    "trad":   DecisionTreeClassifier(max_depth=4, random_state=0),
    "skog":   RandomForestClassifier(n_estimators=200, random_state=0),
}
for namn, m in modeller.items():
    m.fit(X_tr, y_tr)
    print(namn, round(m.score(X_va, y_va), 3))

print(confusion_matrix(y_va, modeller["logreg"].predict(X_va)))
# [[85  7]     rad = sant, kolumn = gissat
#  [12 46]]    → 7 falskt positiva, 12 falskt negativa
print(classification_report(y_va, modeller["logreg"].predict(X_va)))

Tröskeln är ett val. predict() använder 0,5, men predict_proba() ger sannolikheten — sänk tröskeln om missade positiva är dyrare än falsklarm.

Behärskning innebär

  • Tränar logistisk regression och beslutsträd i scikit-learn
  • Läser en förväxlingsmatris
  • Motiverar val mellan linjär modell och träd

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser