N.S.I. WorkSpace Compétence,Notions,P-Th-G,Première G3 – Algorithme des k plus proches voisins

G3 – Algorithme des k plus proches voisins

Etape 2 – Calcul des distances entre un iris d’espèce inconnue et les iris du ‘dataset’

Ajouter au module « knn_module.py » deux fonctions :

  • la fonction distEuclid() qui a déjà été codée plus haut ;
  • et la fonction calculDistVoisins() qui prend en argument :
    • le dataset construit avec la fonction constructDataset()
    • une liste de deux valeurs : longueur et largeur des pétales de l’iris d’espèce inconnue.

La fonction calculDistVoisins() renvoie une liste de listes appelée ‘dist_voisins’.
Chaque élément de la liste principale est une liste qui correspond à celle renvoyée par la fonction distEuclid().

Compléter le code qui suit en remplaçant les ??? par ce qui convient [ Téléchargement].

"""Module knn_module."""

from math import sqrt

def distEuclid(Ic, Im):
    r = []
    d = sqrt(pow(Ic[0] - Im[0], 2) + pow(Ic[1] - Im[1], 2))
    r.append(d)
    r.append(Ic[2])
    return r


def calculDistVoisins(dataset, Im):
    dist_voisins = ???
    for Ic in dataset :
        dist_euclid = distEuclid(???, ???)
        dist_voisins.???(dist_euclid)

    return dist_voisins

Ajouter au module « knn_main_program.py » les instructions qui :

  • affecte à une variable les données d’un iris inconnu
  • appelle la fonction ‘calculDistVoisins()’
"""kNN : programme principal."""

from ???

# Etape 1 : construction d'un dataset à partir des données enregistrées dans
#           un fichier csv
csvname ???
dataset ???

# Etape 2 : calcul des distances entre un iris "mystère" et les iris du
#           dataset
iris_myst ???
dist_voisins ???