# Comme notre modèle d'apprentissage est assez simple, moins il y a de neurones dans la couche cachée, plus c'est
# Après la phase d’apprentissage, pour les données « student-data-train.csv » et « student-data-test.csv »mesurer le taux de classifications correctes.
# On essayera un nombre de neurones dans la couche cachée égal à : 10 ; 50 ; 100 ; 200.
# A vous de décider le nombre d’itérations et la valeur du paramètre d’apprentissage.
# "Réponse" :
# En changeant plusieurs fois le taux d'apprentissage, on se rend compte de : (et en limitant suffisamment le n iter max pour trouver des résultats différents significativement)
# 1: Qu'un taux presque "parfait" va rendre un changement de nombre de neurones de cachés presque "inutiles"
# 2: Si un taux est un peu moins élevé (p.e 0.020 a la place de 0.030 (taux le plus effiface trouvé)), dans ce cas le nombre de neurones
# varie le résultat en fonction de , + de neurones = meilleur % accuracy (grossièrement)
importnumpyasnp
importpandasaspd
frommatplotlibimportpyplotasplt
# Fonction pour mettre à jour les poids de la couche cachée
defupd_weights_hidden(wi_old,learning,delta,xi):
returnwi_old+learning*np.outer(xi,delta)
# Fonction pour mettre à jour les poids de la couche de sortie