knn : ajout visualisation matplotlib exemple complet
This commit is contained in:
@@ -192,6 +192,33 @@ pokemon_mystere = [65, 40]
|
|||||||
# Prédiction avec k=3
|
# Prédiction avec k=3
|
||||||
prediction = knn(pokemons, pokemon_mystere, k=3)
|
prediction = knn(pokemons, pokemon_mystere, k=3)
|
||||||
print("Le Pokémon mystère est probablement de type :", prediction)
|
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