john : l'objet dont on veut determiner une classe inconnue
- nom du fichier csv source (ex: ../data/tp_mushrooms_dataset_150.csv)
- type de données (ex: champignons)
- index de la colonne avec la classe à prédir (ex: 22)
- valeur de K (K-NN) (ex: -k 3)
- indice des champs les plus utiles (ex: -o 5,7,13)
- vote pondere (ex: -o)
- fichier pour tester (ex: -t ../data/tp_mushrooms_dataset_150.csv)
- k (si pas entrer en commande) (ex: 3)
- john (ex: g,f,g,h,i,i,p,e,g,h,g)
- prédiction de john
- si k non formis, demande du k
- parsing du fichier
- calcul de la distance entre john et les éléments du fichier
- détermination des K cas les plus proches de john
- retourner la valeur de la classe à prédire des johns
- demander s'il y a d'autres johns à rentrer
6a. si oui, on retourne à l'étape 3 6b. Si non, on termine
SEPARATOR
READ_MODE
parseCsvLine(csvLine:str):list
parseCsvFile(filename:str):Dataset
euclideanKNN(dataSet:list[Datum], index_col:int)
constructor(csvLine:list)
euclideanDistance(compared:Datum, index_col:int)
euclideanKNN(dataSet:list[Datum], index_col:int)
data:list[Datum]
fields:list[str]
nbFields:int
constructor(fields:list[str], data:list[Datum])