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

Linjär regression med flera features

Kunna formulera regression som Xw = y, tolka koefficienter, och träna en modell med scikit-learn.

Öva i Mattegrafen ↗ · Regressionsanalys och korrelationskoeffiÖva i Mattegrafen ↗ · Matematik 2c

Förkunskaper

Intuition

Linjär regression med flera features: priset på en lägenhet ≈ w₁·yta + w₂·rum + w₃·avstånd + b. Varje koefficient wᵢ säger hur mycket y ändras när featuren ökar en enhet, allt annat lika.

I matrisform: Xw = y, där X har en rad per exempel och en kolumn per feature. Träning = hitta w som minimerar summan av kvadratfel. Det finns en sluten lösning (normalekvationen), men gradient descent fungerar också och skalar bättre.

Skala features (t.ex. standardisera): annars dominerar «yta i kvadratmeter» över «antal rum» bara på grund av enheten, och gradient descent kryper.

Kod

import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline

X = np.array([[45, 2, 3.0], [70, 3, 1.5], [30, 1, 8.0], [90, 4, 0.5]])  # yta, rum, km till centrum
y = np.array([2.1, 3.9, 1.2, 5.4])                                          # Mkr

modell = make_pipeline(StandardScaler(), LinearRegression()).fit(X, y)
print(modell.predict([[60, 2, 2.0]]))          # ≈ [3.1]
lr = modell[-1]
print(lr.coef_, lr.intercept_)                 # koefficienter i skalade enheter
print(modell.score(X, y))                       # R² på träningsdata (för optimistiskt!)

Negativ koefficient på avstånd = längre bort → billigare. R² på träningsdata säger inget om nya lägenheter — det är nästa nod.

Formellt

Minsta kvadrat: minimera L(w)=∥Xw−y∥2L(w) = \|Xw - y\|^2. Gradienten ∇L=2X⊤(Xw−y)\nabla L = 2X^\top(Xw - y); sätt till noll → normalekvationen w=(X⊤X)−1X⊤yw = (X^\top X)^{-1} X^\top y (när X⊤XX^\top X är inverterbar, dvs. features är linjärt oberoende). Bias b ingår genom en kolumn av ettor i X. Med nn exempel och dd features kostar inversionen O(d3)O(d^3) — vid stora dd används gradient descent i stället.

Behärskning innebär

  • Formulerar regression som Xw = y och tolkar koefficienter
  • Tränar och utvärderar LinearRegression i scikit-learn
  • Förklarar varför features bör skalas

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

Källor

Alla källor och licenser