Skip to content

antonin-lfv/Online_preprocessing_for_ML

Repository files navigation


No-code AI platform



La No-code AI platform est un site développé avec Python et déployé avec Streamlit, qui permet de faire du Machine/Deep Learning sans écrire de code. La partie analyse et Machine Learning repose sur l'utilisation d'un dataset, qui peut être soit un dataset déjà disponible sur le site (les iris, ou les penguins), soit un dataset de votre choix que vous aurez uploadé, et avec qui vous pourrez effectuer du preprocessing directement depuis la page d'upload (Attention à bien re télécharger le dataset modifié et de le re uploader). Une fois le dataset choisi, vous pouvez l'utiliser pour alimenter des algorithmes tels que des SVM, des K-Means, des KNN ou encore des réductions de dimension.


La No-Code AI Platform a été ensuite créée avec Flask et déployée sur Heroku, le repo est disponible ici





Pour accéder au site, cliquez sur le bouton "Open in streamlit" en haut du ReadMe


Test du site en local

Clonez le repo puis, depuis le terminal au dossier du projet :

Streamlit run Accueil.py

Mode d'emploi

Je vais détailler ici l'utilisation de la platform, avec des exemples pour chacune des pages. Pour commencer, voici la première par laquelle vous allez arriver. Sur la gauche se trouve la barre de navigation, vous permettant de vous déplacer au travers des pages. À partir de cette page, il vous faut charger des données sur la page Dataset, sous peine de ne pas pouvoir utiliser les autres pages.

Capture d’écran 2022-10-27 à 23 28 53

Détaillons maintenant la page Dataset. Sur cette page, vous allez choisir les données à utiliser. Pour ce faire, plusieurs choix s'offrent à vous. Le premier est d'utiliser l'un des dataset proposés dont le type de problème (Classification ou Régression) est donné. Le second est d'utiliser votre propre dataset que vous importerai en cliquant sur Choisir un dataset personnel.

Capture d’écran 2022-10-27 à 23 32 16

Si vous choisissez un dataset personnel, vous pourrez spécifier un séparateur si besoin, et modifier le dataset (il faudra retélécharger le dataset après modification). Dans le cas ou vous choisissez un dataset parmi ceux proposés, vous ne pourrez pas les modifier (ils sont déjà nettoyés).

Capture d’écran 2022-10-27 à 23 32 16

Capture d’écran 2022-10-27 à 23 32 16

À présent, vous pouvez naviguer parmi les pages pour visualiser les données, créer des modèles, etc. La première page est celle d'analyse des colonnes, elle permet d'afficher les colonnes indépendemment, et d'avoir les caractéristiques mathématiques de celles-ci. Les caractéristiques dépendent du type de la colonne.

Capture d’écran 2022-10-27 à 23 32 16

La page suivant, Matrice de corrélations permet de voir les possibles corrélations entre les features du dataset. Vous devez simplement spécifier les features à prendre en compte. Vous pouvez également renseigner une feature catégorielle pour la coloration.

Capture d’écran 2022-10-27 à 23 32 16

La page section graphiques vous donne la possibilité de créer des graphiques pour suivre en détail les corrélations entre deux features. Plusieurs options de graphiques sont disponibles (Points, Courbe, Coordonnées géographiques, Histogramme), plusieurs indices statistiques peuvent être affichés ainsi que les courbes de régressions Linéaire et Polynomiale avec les équations finales pour chacune.

Capture d’écran 2022-10-27 à 23 32 16

Nous voila maintenant dans la section Régressions, dans cette page vous pourrez suivre les courbes d'apprentissage de plusieurs modèles de régressions (sélectionnés en fonction du type de données) ainsi que l'évolution des métriques. Il y a la régression linéaire, polynomiale, Elastic Net, Ridge, Lasso, de poisson. Il vous suffit de renseigner les features et la bonne target et le tour est joué.

Capture d’écran 2022-10-27 à 23 32 16

Attaquons nous maintenant à la partie classification, qui renferme des nouvelles pages pour chaque modèle, à savoir le KNN, K-Means, les Support Vector Machines et les Decision Trees. Le premier modèle est le modèle des k plus proches voisins (KNN). Pour créer le modèle, il faudra commencer par sélectionner au moins deux colonnes, dont la target du modèle. Vous spécifierai les données à encoder, et vous choisierai la target (parmi les colonnes sélectionnées précedemment) qui doit être encodée. L'encodage peut être visualisé dans une petite fenetre. Après avoir lancé le modèle, vous verrez le nombre optimal de voisins pour avoir les meilleures performances ainsi que les courbes d'apprentissages, les métriques et les courbes ROC dans le cas d'une classification binaire.

Capture d’écran 2022-10-28 à 19 55 37

Capture d’écran 2022-10-28 à 19 57 28

Capture d’écran 2022-10-28 à 19 59 09

Il vous sera aussi possible d'utiliser le modèle pour faire des prédictions.

Capture d’écran 2022-10-28 à 20 01 35

Poursuivons sur le prochain algorithme, qui est le K-means. Pour créer le modèle il faudra renseigner au moins deux colonnes, et modifier ou non le nombre de clusters que le modèle doit créer. Le résultat sera affiché grâce à l'algorithme PCA, avec coloration des clusters et des centroides.

Capture d’écran 2022-10-28 à 20 04 52

Capture d’écran 2022-10-28 à 20 05 01

Il est également possible de créer un modèle de support vector machine (SVM). Pour cela, on choisiera deux colonnes pour les features, la target qui doit être catégorielle et dont on sélectionnera uniquement deux classes, et le noyau qui est pour l'instant uniquement linéaire. Une fois le modèle lancé vous pourrez visualiser les résultats.

Capture d’écran 2022-10-28 à 20 10 39

Capture d’écran 2022-10-28 à 20 10 46

Enfin, le dernier algorithme de classification est celui des arbres de décision. Comme précedemment il vous suffit de sélectionner deux features ainsi que la target pour créer et visualiser le modèle.

Capture d’écran 2022-10-28 à 20 23 18

Capture d’écran 2022-10-28 à 20 23 56

Enfin, voici la dernière section de la No code AI platform, concernant la réduction de dimension. Le premier algorithme est l'analyse en composantes principales. Il faudra sélectionner au moins deux colonnes des données, dont la target, ainsi que les colonnes à encoder et la target (qui appartient aux colonnes séléctionnées au début).

Capture d’écran 2022-10-28 à 20 31 15

Capture d’écran 2022-10-28 à 20 31 34

Le deuxième algorithme de réduction de dimension est l'algorithme UMAP, qui marche de la même manière que le précédent.

Capture d’écran 2022-10-28 à 20 34 02

Capture d’écran 2022-10-28 à 20 34 58

Enfin, vous pouvez utiliser l'algorithme t-SNE, qui s'utilise comme les deux algorithmes précédents.

Capture d’écran 2022-10-28 à 20 40 26

Capture d’écran 2022-10-28 à 20 40 33