Hoppa till innehållet
AI-grafen
CByggareProjekt· ca 90 min· i webbläsaren

Projekt 1: Lär en dator känna igen mönster

Bygga en klassificerare av frukter från två mått (vikt, färgvärde) helt för hand: features, avstånd, närmaste granne, träffsäkerhet och felanalys.

Teori

Varje frukt är en punkt (vikt, färg). En ny frukt får samma etikett som sin närmaste granne. Träffsäkerhet mäts på frukter modellen inte sett — och de fel den gör säger mer än siffran.

Deluppgifter

  1. features — features(frukt) → [vikt, farg] som tal ur en dict.
  2. avstånd och närmaste — avstand(a, b) (euklidiskt) och narmaste(punkt, traning) → etiketten för närmaste träningsfrukt.
  3. träffsäkerhet — traffsakerhet(traning, test) → andel rätt.
  4. felanalys — felanalys(traning, test) → dict {(rätt, gissat): antal} för felen — vilka frukter blandas ihop?

Godkänt när: accuracy >= 0.8

Startkoden

körs i din webbläsare
from data import TRANING, TEST


def features(frukt):
    # TODO: [frukt["vikt"], frukt["farg"]]
    ...


def avstand(a, b):
    # TODO: euklidiskt avstånd mellan två featurelistor
    ...


def narmaste(punkt, traning):
    # TODO: etiketten hos den träningsfrukt vars features ligger närmast punkt
    ...


def traffsakerhet(traning, test):
    # TODO: andel av test där narmaste(features(f), traning) == f["etikett"]
    ...


def felanalys(traning, test):
    # TODO: dict {(ratt, gissat): antal} bara för felen
    ...

Du skriver koden, tester du inte ser avgör om den håller. Skapa ett gratis konto för att köra labben.

Prova diagnosenSkapa konto gratis

Förväntade resultat

Träffsäkerhet ≥ 0,8 på testfrukterna; felanalysen visar att äpple och päron blandas ihop oftast (de liknar varandra i vikt).

Vanliga fel

  • Jämför färg (0–1) och vikt (gram) utan att tänka på skalan — vikten dominerar avståndet. Testa att skala!
  • Räknar in testfrukten själv bland grannarna.