knn : ajout visualisation matplotlib exemple complet
This commit is contained in:
@@ -192,6 +192,33 @@ pokemon_mystere = [65, 40]
|
||||
# Prédiction avec k=3
|
||||
prediction = knn(pokemons, pokemon_mystere, k=3)
|
||||
print("Le Pokémon mystère est probablement de type :", prediction)
|
||||
|
||||
# Séparer par classe
|
||||
classes = {}
|
||||
for p in pokemons:
|
||||
c = p['classe']
|
||||
if c not in classes:
|
||||
classes[c] = {'x': [], 'y': []}
|
||||
classes[c]['x'].append(p['coords'][0])
|
||||
classes[c]['y'].append(p['coords'][1])
|
||||
|
||||
# Afficher chaque classe avec une couleur différente
|
||||
couleurs = {'Eau': 'blue', 'Psy': 'purple'}
|
||||
for classe, coords in classes.items():
|
||||
plt.scatter(coords['x'], coords['y'],
|
||||
color=couleurs.get(classe, 'gray'),
|
||||
label=classe, s=100)
|
||||
|
||||
# Afficher le pokémon mystère
|
||||
plt.scatter(pokemon_mystere[0], pokemon_mystere[1],
|
||||
color='red', marker='*', s=200, label=f'Mystère ({prediction})')
|
||||
|
||||
plt.title('Classification KNN — Pokémon')
|
||||
plt.xlabel('Attaque')
|
||||
plt.ylabel('Défense')
|
||||
plt.legend()
|
||||
plt.grid(True)
|
||||
plt.show()
|
||||
```
|
||||
|
||||
--------
|
||||
|
||||
Reference in New Issue
Block a user