NSI , KNN et Pokemon

1. Légendaire ou pas ?

Télécharger le fichier csv ci-dessous.

https://github.com/qkzk/data_colab/blob/master/nsi/algo/knn/pokemon/pokemon_small.csv

L’ouvrir avec un tableau et étudier les données pour déterminer quelles caractéristiques sont à étudier pour déterminer si un pokemon est légendaire.

2. Mise en place d’un KNN

Mettre le fichier pokemon_small dans un répertoire knn_pokemons

Ajouter un fichier python avec le code suivant

import csv
pokemons=[]
with open('pokemon_small.csv', newline='') as csvfile:
    spamreader = csv.reader(csvfile)
    for row in spamreader:
        pokemons.append(row)
    

def transformation_liste(pokemons):
    '''
    transforme la liste des pokemons
    en une liste de dictionnaires
    >>>transformation_liste(pokemons)[0]
    {'name': 'Magmar', 'attack': '95', 'base_egg_steps': '6400',
    'base_happiness': '70', 'capture_rate': '45',
    'classfication': 'Spitfire Pokémon', 'defense': '57',
    'experience_growth': '1000000', 'height_m': '1.3', 'hp': '65',
    'pokedex_number': '126', 'sp_attack': '100', 'sp_defense': '85',
    'speed': '93', 'type1': 'fire', 'type2': '', 'weight_kg': '44.5',
    'generation': '1', 'is_legendary': '0'}
    '''
    
        
def distance(poke1,poke2):
    pass


Compléter la fonction transformation pour qu’elle réponde à sa docstring.

Mettre en place votre fonction distance()

Reprendre la fonction plus_proches_voisins(fleur,liste_fleurs): du tp précédent et l’adapter.à votre tp pokemon

Tester votre tp avec davantage de pokémons :

https://github.com/qkzk/data_colab/blob/master/nsi/algo/knn/pokemon/pokemon_suspect2.csv