Aan de slagGa gratis aan de slag

Andere 'k'-waarden testen

Standaard gebruikt de functie knn() uit het class-pakket alleen de enkel dichtstbijzijnde buur.

Door een parameter k in te stellen kan het algoritme extra nabije buren meenemen. Dit vergroot de groep buren die stemmen op de voorspelde klasse.

Vergelijk k-waarden 1, 7 en 15 om het effect op de nauwkeurigheid van verkeersbordclassificatie te onderzoeken.

Het class-pakket is al geladen in je werkomgeving, samen met de gegevenssets signs, signs_test en sign_types. Het object signs_actual bevat de echte waarden van de borden.

Deze oefening maakt deel uit van de cursus

Supervised Learning in R: Classificatie

Cursus bekijken

Oefeninstructies

  • Bereken de nauwkeurigheid van het standaardmodel met k = 1 met de gegeven code en bepaal daarna de nauwkeurigheid van het model met mean() door signs_actual te vergelijken met de voorspellingen van het model.
  • Pas de aanroep van knn() aan door k = 7 te zetten en bepaal opnieuw de nauwkeurigheid.
  • Werk de code nogmaals bij door k = 15 te zetten en bepaal nog een keer de nauwkeurigheid.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Compute the accuracy of the baseline model (default k = 1)
k_1 <- knn(train = ___, test = ___, cl = ___)
mean(___)

# Modify the above to set k = 7
k_7 <- ___
mean(___)

# Set k = 15 and compare to the above
k_15 <- ___
mean(___)
Code bewerken en uitvoeren