Adloun

Implémenter et tester

Exercice · informatique (tronc commun des prépas scientifiques), chapitre 19 — Algorithmique de l'apprentissage : voisins et moyennes

Énoncé

Écrire une fonction evaluer(entrainement, test, k) qui prend en entrée un jeu d'entraînement, un jeu de test et le paramètre , et renvoie sous forme de dictionnaire la matrice de confusion ainsi que le taux de réussite global.

Corrigé

def evaluer(entrainement: list, test: list, k: int) -> tuple:
    confusion = {}
    for point, vraie in test:
        predite = knn(entrainement, point, k)
        couple = (vraie, predite)
        confusion[couple] = confusion.get(couple, 0) + 1
    
    # Sommer les prédictions correctes (diagonale de la matrice)
    correctes = sum(v for (vrai, pred), v in confusion.items() if vrai == pred)
    taux_reussite = correctes / len(test)
    return confusion, taux_reussite

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.