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 2cFö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 . Gradienten ; sätt till noll → normalekvationen (när är inverterbar, dvs. features är linjärt oberoende). Bias b ingår genom en kolumn av ettor i X. Med exempel och features kostar inversionen — vid stora 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
- scikit-learn User Guide (BSD-3) — BSD-3-Clause
- Dive into Deep Learning (CC BY-SA 4.0) — CC BY-SA 4.0
Leder till
Del av målen (24)
- Klassisk ML på riktigt
- Klassisk maskininlärning i praktiken
- Träna neuronnät på riktigt
- Tolka en språkmodell
- Se och höra med AI
- Data: samla, städa, dokumentera
- Bildklassificering med faltningsnät
- Frontier Lab — självständigt forskningsprojekt
- AI i produktion
- Finjustera en modell med LoRA
- Bygg ett NLP-system end-to-end
- Generativa modeller i djupet
- Bygg ett RAG-system som går att lita på
- Bygg en agent som går att lita på
- Finjustera och driva egna modeller
- AI-säkerhet i praktiken
- Evals i praktiken
- Bygg ett minnessystem för en agent
- Ansvarsfull AI i praktiken
- Bygg en AI-tjänst som håller i drift
- AI-tjänst i drift
- Reproducera ett paper
- Djup reinforcement learning
- Statistik för experiment