D· AI-utvecklareLaboration· ca 45 min· container
Labb: k-närmaste grannar från grunden
Implementera kNN med euklidiskt avstånd och majoritetsröst, mäta accuracy på sklearn digits och se hur k påverkar.
Lär ut: knn · Kräver: vektorerklassificering-intuition
Teori
Ingen träning: för en ny punkt, hitta de k närmaste träningspunkterna och rösta. Avståndet avgör allt — därför spelar skalning roll.
Deluppgifter
- avstånd — `distances(x, X)` — euklidiskt avstånd från x till varje rad i X (vektoriserat).
- predict — `predict(Xtr, ytr, X, k)` — majoritetsröst bland k närmaste (vid lika: minsta etikett).
Evals: digits-acc (accuracy >= 0.95)
Logga in för att köra laborationen.
Förväntade resultat
Accuracy ≥ 0,95 på digits med k = 3 (typiskt ≈ 0,98).
Vanliga fel
- Glömmer roten ur (fungerar ändå för rangordning, men testet kräver riktigt avstånd).
- Räknar med testpunkten själv när Xtr == X.
- Lika röster hanteras inkonsekvent.