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
Oefeninstructies
- Bereken de nauwkeurigheid van het standaardmodel met
k = 1met de gegeven code en bepaal daarna de nauwkeurigheid van het model metmean()doorsigns_actualte vergelijken met de voorspellingen van het model. - Pas de aanroep van
knn()aan doork = 7te zetten en bepaal opnieuw de nauwkeurigheid. - Werk de code nogmaals bij door
k = 15te 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(___)