KNN är den mest genomskinliga metoden som finns. Ingen träning, inga parametrar att tolka, ingen antagen funktionsform. För att förutsäga något letar den upp de mest lika fallen och svarar med vad som hände dem.
Det gör den pedagogiskt värdefull och praktiskt begränsad.
Var den faktiskt är användbar
Som baslinje. Den tar minuter att sätta upp och ger ett tal att slå. Se baslinjer för varför det steget inte bör hoppas över.
För likhetssökning. “Visa mig kunder som liknar den här” är en fråga KNN besvarar direkt, och det är ofta mer användbart för en säljare än en sannolikhet.
Som förklaring. Att kunna peka på de fem mest lika historiska fallen är ett kraftfullt komplement till en modell som ger ett tal utan motivering.
Varför den sällan sätts i drift
Avstånd blir meningslöst i många dimensioner. Med trettio variabler är alla punkter ungefär lika långt från varandra, och begreppet “närmast” tappar innebörd.
Skalan avgör allt. En variabel i kronor och en i antal: den i kronor dominerar avståndet helt om ingen normalisering görs. Och valet av normalisering blir därmed ett modellval förklätt till förbearbetning.
Kostnaden ligger i prediktionen. Varje förfrågan kräver en jämförelse mot hela träningsdatan. Med miljoner rader blir det opraktiskt utan indexstrukturer.
Kategoriska variabler passar illa. Vad är avståndet mellan två postnummer? Varje svar är ett antagande, och sällan ett bra.
Vad man använder i stället
För tabelldata är gradient boosting nästan alltid bättre, och den hanterar skalor och kategorier utan förarbete.
Behövs likhetssökning i stor skala används numera vektorindex, som löser prestandaproblemet men inte problemet med att avgöra vad likhet ska betyda.
Den frågan är i grunden densamma som i mätdesign: vilka egenskaper är det som gör två fall jämförbara? Det avgörs av verksamheten, inte av metoden.