<< Back

Est-ce que mon vin est bon ?

Analyse prédictive avec Alteryx

Les outils prédictifs

Vous avez peut-être remarqué qu’il existe une catégorie d’outils dans Alteryx, nommée « prédictif ». Mais à quoi servent ces outils et comment les utiliser ?

Je vous propose de construire un workflow simple avec l’un de ces outils.
Avant toute chose, il vous faudra avoir téléchargé les outils prédictifs (ou « R tools »).
Pour cela, dirigez-vous sur Alteryx Downloads.
Les outils prédictifs ne sont pas installés par défaut mais ils sont compris dans la licence Alteryx Designer. Si vous avez Alteryx, vous pouvez donc les télécharger!

Jeu de données

Seconde étape, la donnée !

Nous utiliserons un jeu de donnée public que vous pouvez télécharger en ligne.
Il est disponible sur le site de l’UCI :
https://archive.ics.uci.edu/ml/datasets/wine+quality

Il s’agit de données sur un ensemble de vins, blancs et rouges. Ces vins sont décrits de façon quantitative et évalués (note de qualité).
Si vous souhaitez en savoir plus sur les descripteurs vous pouvez consulter la documentation qui accompagne les données (winequality.names).

La note de qualité est comprise entre 0 et 10.


Etape I – Préparer la donnée

Les fichiers sont des « .csv ». Il va donc falloir attribuer des types à chaque variable.
Les descripteurs sont des variables quantitatives. Nous leur attribuerons le type double.
Pour la note de qualité, elle peut-être vue comme une variable numérique entière ou bien une variable discrète.
C’est également le moment de faire un contrôle de qualité : valeurs nulles ? aberrantes ? Il faut alors soit les supprimer, soit les remplacer !

Dans notre exemple je ne transforme pas trop la donnée. Je fais simplement une union entre le fichier de vins rouges et celui de vins blancs et je redéfinis les types.

Etape II – Observer


Je suis certaine que vous vous posez des questions sur ce jeux de donnée.
Quelle est la note la plus fréquente ? Est-ce que le rouge est mieux noté que le blanc ? Quel descripteur est corrélé à la note de qualité ?

Pour observer la donnée, nous pouvons utiliser les outils dans « Data Investigation »

Un aperçu de l’ensemble des variables avec le Field Summary




Un histogramme pour observer la distribution de la qualité

Nous pouvons voir que les notes inférieures à 4 ou supérieures à 7 sont assez peu attribuées. Pour rééquilibrer la variable à prédire, nous pouvons créer des classes de note : « Inférieur à 4 », « 5 », « 6 », « 7 ou plus »

Association Analysis nous permet de vérifier que les variables ne soient pas trop corrélées entre elles


Vous pouvez remarquer que la variable la plus corrélée à « quality » est la variable « alcohol ». De manière générale sur ce jeu de donnée, plus le taux d’alcool est élevé meilleur est le vin.

Et éventuellement un violin plot pour observer la qualité par type de vin (Rouge ou blanc)

Etape III – Échantillonner

Afin d’évaluer nos modèles, nous allons garder de côté une partie es données (30%). Le modèle est construit – il apprend – sur 70% de la donnée. les 30% restants, qu’il n’aura jamais vu, permettront de voir comment il se comporte sur de nouveaux enregistrements, donc d’évaluer le modèle.

Cette étape est très importante quelque soit le modèle étudié !
Dans notre cas la sortie E sera utilisée pour entrainer les modèles, et la V pour les tester.

Etape IV – Entraîner le modèle

Les différents modèles disponible se trouvent dans la catégorie d’outil « Prédictifs ».

Si vous n’avez que très peu d’outils sous cette catégorie, c’est certainement que vous n’avez pas installé les outils prédictifs.

Ici nous donnons au modèle des données d’entraînement, pour qu’il apprenne à prédire la qualité du vin, à partir des autres variables.
Comme dans ce cas la variable à prédire est discrète, nous pouvons utiliser par exemple les arbres de décisions.
Il existe des modèles dits « ensemblistes » qui se basent sur le résultat de plusieurs modèles simples afin d’avoir une prédiction plus robuste. Un exemple assez visuel sur les arbres de décision est la forêt aléatoire.
Comme son nom l’indique, elle entraîne un certains nombre d’arbres (d’où le terme de forêt) pour prédire un résultat.
L’outil correspondant est le Forest Model
C’est celui que nous allons utiliser pour la suite.

Ici je connecte les données d’entrainement en entrée du modèle et j’observe les résultats sur la sortie « R ». La sortie « O » renvoie l’objet modèle, qu’Alteryx pourra réutiliser.

Pour un premier résultat, nous pouvons configurer l’outil très simplement :
La variable à prédire est classe de qualité, les variables pour prédire sont toutes les autres variables (en prenant soin d’enlever la variable quality et la variable quality_classes).

Je diminue également le nombre d’arbres dans la forêt pour que le modèle soit plus simple.

La sortie « R » du modèle (pour rapport) nous renvoie des informations sur la qualité du modèle.

Par exemple, le taux d’erreur (31.8% sur les données d’entrainement).

Ou les variables les plus importantes pour réaliser la prédiction

Ici, comme on pouvait le supposer, c’est la variable alcohol qui a le plus d’importance.

Etape V – Scorer !

Une fois le modèle entraîné, l’outil Score nous permet d’établir la prédiction sur les données de validation.
Il faut connecter cet outil à la sortie « O » du modèle, et à la sortie « V » de l’outil d’échantillonnage.

La seule configuration ici est de donner un nom à la prédiction.

L’outil Score – tout comme la matrice de confusion donnée dans le rapport du modèle – nous renvoie des probabilité pour chaque classe existante. Il donne donc 4 variables : la probabilité que le vin ait une note « 4 ou moins », la probabilité qu’il ait une note « 5 », une note « 6 » ou une note « 7 ou plus ».

Pour prédire la classe, il faut donc prendre celle ayant la probabilité la plus haute. Ce qu’il est possible de faire avec une formule.

Pour finir, un Cross-Tab nous donne la matrice de confusion sur les données de validation.

Conclusion

Au total, notre modèle de Forêt aléatoire fait 609 erreurs sur 1949 lignes. Soit un taux d’erreur de 31.2%

Voici un aperçu de la partie « Prédiction » du workflow


Afin d’améliorer les résultats du modèle, il est possible de modifier les paramètres par défaut, ou de tester d’autres modèles.
Obtenir une prédiction avec Alteryx est très rapide ! En revanche le travail d’affinement de cette prédiction est souvent plus lent. Il demande de procéder par étape, de tester différents paramètres…
C’est un peu la même chose avec le vin, c’est par un processus lent et appliqué qu’un vigneron obtient du bon vin…alors, à vous de jouer !

Image result for vigne récolte


Voici une vue d’ensemble du workflow.

Une version Alteryx est également disponible ici. N’hésitez pas à la télécharger.

Elsa Mullor

Paris

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *