Il va permettre de prédire si un élément est un menbre d'un groupe ou d'un catégorie donnée
eleve1={'Nom': 'Hermione', 'Courage': '8', 'Loyauté': '6', 'Sagesse': '6', 'Malice': '6'} eleve2={'Nom': 'Cho', 'Courage': '7', 'Loyauté': '6', 'Sagesse': '9', 'Malice': '6'} eleve3={'Nom': 'Drago', 'Courage': '6', 'Loyauté': '6', 'Sagesse': '5', 'Malice': '8'} eleve4={'Nom': 'Cédric', 'Courage': '7', 'Loyauté': '10', 'Sagesse': '5', 'Malice': '6'}
def read_csv(filename): """ :param filename: (String) filename of csv file :return: (list of Pokemon) list of Poudlard students read res = [] with open(filename) as f: liste_clef=f.readline() liste_clef=liste_clef.replace('"', '').strip().split(',') l = f.readline() while l != '': args = l.replace('"', '').strip().split(',') dico={} i=0 for c in liste_clef: dico[c]=args[i] i=i+1 res.append(dico) l = f.readline() return res Data=read_csv("choixpeauMagique.csv")
Adrian={'Nom': 'Adrian', 'Courage': '9', 'Loyauté': '4', 'Sagesse': '7', 'Malice': '10', 'Maison': 'Serpentar'} Andrew={'Nom': 'Andrew', 'Courage': '9', 'Loyauté': '3', 'Sagesse': '4', 'Malice': '7', 'Maison': 'Griffondor'} distance(Adrian,Andrew) >>> 19
eleve1={'Nom': 'Hermione', 'Courage': '8', 'Loyauté': '6', 'Sagesse': '6', 'Malice': '6'}
def plus_proche_voisin(Data,eleve,k): ''' Afficher le nom de l'école des k plus proches voisins de eleve. Exemple : >>>Data=read_csv("choixpeauMagique.csv") >>>eleve={'Nom': 'Hermione', 'Courage': '8', 'Loyauté': '6', 'Sagesse': '6', 'Malice': '6', 'Maison' : ''} >>>plus_proche_voisin(data,eleve1,8) ['Griffondor', 'Griffondor', 'Griffondor', 'Griffondor', 'Poufsouffle', 'Serpentar', 'Griffondor', 'Serdaigle'] ''' return listeAide :
>>> L=[(3,'Bob'),(5,'Stuart'),(1,'Roger'),(2,'Kevin')] >>> L.sort() >>> L [(1, 'Roger'), (2, 'Kevin'), (3, 'Bob'), (5, 'Stuart')]
eleve1={'Nom': 'Hermione', 'Courage': '8', 'Loyauté': '6', 'Sagesse': '6', 'Malice': '6'} eleve2={'Nom': 'Cho', 'Courage': '7', 'Loyauté': '6', 'Sagesse': '9', 'Malice': '6'} eleve3={'Nom': 'Drago', 'Courage': '6', 'Loyauté': '6', 'Sagesse': '5', 'Malice': '8'} eleve4={'Nom': 'Cédric', 'Courage': '7', 'Loyauté': '10', 'Sagesse': '5', 'Malice': '6'}
def classse(Data,eleve,k): ''' affiche la 'Maison' la plus fréquente dans les k plus proche voisins de eleve. '''
Data=read_csv("choixpeauMagique.csv")
On répéte le principe ci-dessus pour tous les élève de Data en comptant le nombre de bonnes réponses.
def supprimer(Data,eleve): ''' param : Data est une list contenant des dictionnaires (caracteristiques des élèves) eleve un dictionnaire qui appartient à Data . result : On supprime le dictionnaire eleve de Data et on renvoit la liste L=[] for element in Data: if element!=eleve: L.append(element) return L
Valeur de k | Nombre de bonnes réponses |
---|---|
1 | |
2 | |
3 | |
... | |
15 |
eleve1={'Nom': 'Hermione', 'Courage': '8', 'Loyauté': '6', 'Sagesse': '6', 'Malice': '6'} eleve2={'Nom': 'Cho', 'Courage': '7', 'Loyauté': '6', 'Sagesse': '9', 'Malice': '6'} eleve3={'Nom': 'Drago', 'Courage': '6', 'Loyauté': '6', 'Sagesse': '5', 'Malice': '8'} eleve4={'Nom': 'Cédric', 'Courage': '7', 'Loyauté': '10', 'Sagesse': '5', 'Malice': '6'}