# Fonction pour diviser les données en ensembles d'entraînement et de test :
'''
*Arguments :
-data et labels, deux tableaux de même taille dans la première dimension.
-split, un nombre flottant compris entre 0 et 1, qui détermine le facteur de répartition de l'ensemble d'entraînement par rapport à l'ensemble de test.
*Renvoie :
-data_train : les données d'entraînement.
-labels_train : les étiquettes correspondantes.
-data_test : les données de test.
-labels_test : les étiquettes correspondantes.
'''
defsplit_dataset(data,labels,split):
# Vérifie que le ratio de division est valide
assert0<split<1
n=len(data)
# Mélange les indices des données
indices=np.random.permutation(n)
split_index=int(split*n)
# Sépare les indices pour l'ensemble d'entraînement et de test
train_indices=indices[:split_index]
test_indices=indices[split_index:]
# Sépare les données et étiquettes en ensembles d'entraînement et de test