Créer son prédicteur
Dans cette page tu découvriras comment créer un prédicteur
Transformer les données
La première étape dans la création de ton prédicteur est de te demander :
Quelles sont les différences entre les données de mon dataset et les données que je vais utiliser dans mon prédicteur ?
Selon le type de données que tu utilise cela peut prendre différentes formes :
– Pour les chiffres manuscrits du MNIST, les photos sont en noir et blanc et en 28 par 28, nos photos elles sont en couleur et de taille variable
– Pour des données numériques, il est possible d’avoir d’un côte un fichier csv, ouvert sous la forme d’un dataframe pandas et de l’autre une liste ou un dictionnaire en python
– Pour du traitement du langage les phrases ne sont pas forcement encodées…
Il y a plein de différences possible.
La première étape est donc de transformer nos données sur lesquelles on veut prédire en quelque-chose qui ressemble le plus possible aux données d’entrainement.
Pour cela il faut utiliser le code et tester sur une donnée, puis deux, puis trois en se demandant est-ce que c’est les mêmes problèmes entre chaque donnée? est-ce qu’on arrive à avoir une bonne préparation quelques soient les données en entrée?
Attention le code doit être générique, il ne marche pas pour un seul exemple mais pour tout ce que n’importe quel utilisateur pourrait fournir.
Préparer ses données et prédire
Dans cette deuxième étape, tu vas préparer les données exactement de la même manière que lorsque tu as préparé tes données pour ton entrainement.
Reprends ta préparation de données et adapte cette préparation à la prédiction.
Attention si tu as une seule donnée, tu risque de devoir étendre les dimensions de ton input!
En effet l’input_shape est composée de (nombre_données, taille1, taille2…)
Si tes tailles 1,2,etc. sont gérées par la préparation des données, il arrive souvent d’avoir une seule donnée et il faut donc faire un reshape pour ajouter un 1 comme première valeur de la shape:
print(data.shape)
–> (taille1, taille2)
data.reshape(data,(1,taille1,taille2))
–> (taille1, taille2)
data.reshape(data,(1,taille1,taille2))
Une fois les données préparées, il ne reste plus qu’à prédire.
Pour la prédiction tu peux utiliser la fonction predict, qui dans le cas de problèmes de classification renvoie un tableau de probabilité des différentes catégories.
On peut récupérer l’argument avec la probabilité max à l’aide de la fonction argmax.
Il existe aussi la possibilité de prédire selon ce tableau de probabilité ce qui, ne donne pas forcement toujours le même résultat.