Skip to content

Latest commit

 

History

History

week5

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Week 5

Algoritmes: K-Nearest-Neighbour

Dit algoritme gebruikt afstanden tussen punten om te bepalen waar een punt bij hoort. Je leert de termen:

  • Classification : we geven data een label, bv, "kat" of "hond"
  • Supervised Learning : het algoritme wordt getrained met bestaande data die al labels heeft.



K-Nearest-Neighbour

We tekenen de weight en ear length features van katten en honden in een 2D grafiek als X en Y coördinaten:


knn

Als we een nieuw punt tekenen in de grafiek, kunnen we via de afstand tot de andere punten bepalen of het nieuwe punt een kat of een hond is! Dit is wat het KNN algoritme doet. Zie ook dit interactief voorbeeld op Codepen. Meer informatie over KNN vind je in de PDF van deze week.




Werken met KNN in Javascript

Laad het KNN algoritme, en een leeg javascript bestand:

<script src="knear.js"></script>
<script src="app.js"></script>

Maak het algoritme aan in app.js

const k = 3
const machine = new kNear(k)

Nu kan je het algoritme trainen met data uit de bovenstaande tabel. Gebruik bv. ear length, weight, height. Voeg alle data uit de tabel toe op deze manier:

machine.learn([6.2, 20, 9], 'cat')

Classifying

Nu kunnen we nieuwe data classificeren! Bedenk zelf de eigenschappen van een dier (ear length, weight, height) en vraag wat voor dier dit is:

let prediction = machine.classify([7,18,7])
console.log(`I think this is a ${prediction}`)



Oefening

Cat or dog?

Body length Height Weight Ear length Label
18 9.2 8.1 2 'cat'
20.1 17 15.5 5 'dog'
17 9.1 9 1.95 'cat'
23.5 20 20 6.2 'dog'
16 9.0 10 2.1 'cat'
21 16.7 16 3.3 'dog'

Gebruik bovenstaande javascript uitleg, de data in de tabel om een KNN algoritme te trainen. Leer wat katten en honden zijn, en test of het werkt door nieuwe data in te voeren. Voorspel vervolgens of dit een kat of een hond is.




Inleveropdracht

In de inleveropdracht ga je KNN gebruiken om posedata te classificeren.

Ga naar de inleveropdracht




Links