Archives de l’année : 2019


Cet article fait partie d’une série de posts destinés à expliquer le fonctionnement de Azure ML. Vous pouvez retrouver les précédents articles en cliquant sur ces liens: http://www.netdaf.com/introduction-au-machine-learning/ http://www.netdaf.com/azure-ml-premiere-experience/ http://www.netdaf.com/azure-ml-importer-et-exporter-des-donnees/ http://www.netdaf.com/azure-ml-preparer-les-donnees/ http://www.netdaf.com/azure-ml-preparation-avancee-des-donnees/   Les modèles de régression sont utilisés pour prédire une valeur pour une variable cible (par exemple le prix de revente d’une voiture) en fonction de critères (Age du véhicule, nombre de Kms, état général etc..)   Les critères sont nommés variables dépendantes, alors que la variable cible est la variable indépendante ou label.   L’objectif est de créer un modèle qui prendra les critères en entrée et prédira la valeur de revente du véhicule.   Ce modèle peut être envisagé comme une fonction du type : f(critère1,critère2…..) =  Valeur de revente.   Le prix réel auquel ce véhicule peut être vendu sera le plus souvent différent du prix prédit par la fonction.   L’objectif du modèle est de minimiser l’écart Réel-Prédiction.   Pour créer un modèle de ce type, nous allons tout d’abord avoir besoin d’un Dataset comprenant des données historiques de ventes de véhicules, que nous nommerons Dataset d’entrainement.   Ce Dataset d’entrainement va nourrir l’algorithme de régression et va lui permettre de créer un modèle.   […]

Azure ML : Modèles de régression



Cet article fait partie d’une série de posts destinés à expliquer le fonctionnement de Azure ML. Vous pouvez retrouver les précédents articles en cliquant sur ces liens: http://www.netdaf.com/introduction-au-machine-learning/ http://www.netdaf.com/azure-ml-premiere-experience/ http://www.netdaf.com/azure-ml-importer-et-exporter-des-donnees/ http://www.netdaf.com/azure-ml-preparer-les-donnees/ Supprimer les valeurs aberrantes.   Les valeurs aberrantes sont des valeurs qui sont très éloignées de la masse des valeurs du Dataset,en les conservant on peut fausser les résultats des algorithmes.   Il est judicieux de traiters ces valeurs, soit en les supprimant purement et simplement, soit en les modifiant.   Le module Clip Values permet de détecter ces valeurs, en sélectionnant les colonnes à analyser,puis de les supprimer ou  de les modifier.     Normalisation   De nombreux algorithmes fonctionnent mieux lorsque les données de l’ensemble des colonnes, sont à la même échelle. Lorsqu’il existe de grandes différences dans les ordres de grandeur entre les colonnes (par exemple une colonne avec des valeurs s’étendant de 0 à 10 et une autre avec une plage de 10 000 à 10 000 000), il sera nécessaire normaliser les données.   Pour procéder à cette normalisation, il faut utiliser le module Normalize Data.     Vous pouvez sélectionner les colonnes à normaliser, par type de valeurs ou par sélection simple, puis choisir […]

Azure ML : Préparation avancée des données



Cet article fait partie d’une série de posts destinés à expliquer le fonctionnement de Azure ML. Vous pouvez retrouver les précédents articles en cliquant sur ces liens: http://www.netdaf.com/introduction-au-machine-learning/ http://www.netdaf.com/azure-ml-premiere-experience/ http://www.netdaf.com/azure-ml-importer-et-exporter-des-donnees/     Les données à analyser auront le plus souvent besoin d’être préparées, pour pouvoir être traitées par les algorithmes de ML. L’interface graphique de ML Studio procure les outils de base pour réaliser ces tâches.   Lorsque ces outils se révèlent insuffisants il reste possible d’utiliser des scripts R ou Python.     Traiter les données manquantes     Cette tâche fait partie des plus communes en Data Science et ML. Lorsque des valeurs manquent, il faudra soit supprimer les lignes ou colonnes contenant ces valeurs manquantes, soit remplacer ces dernières par une valeur arbitraire (moyenne, médiane,valeur personnalisée,valeur probalisée.)   La première étape consiste à visualiser votre Dataset pour identifier les colonnes contenant des valeurs manquantes.     Puis déposer un module Clean missing Data sur le Canvas, en connectant les ports, avant de sélectionner les colonnes à traiter.       Comme le traitement s’effectue par colonne, ML Studio offre la possibilité de borner le nombre de valeurs manquantes conditionnant l’exécution du traitement :   Nombre de valeurs manquantes minimum […]

Azure ML, préparer les données



Cet article fait partie d’une série de posts destinés à expliquer le fonctionnement de Azure ML. Vous pouvez retrouver les précédents articles en cliquant sur ces liens: http://www.netdaf.com/introduction-au-machine-learning/ http://www.netdaf.com/azure-ml-premiere-experience/   ML Studio permet d’importer des données de différents formats, provenant de différentes sources. Importer depuis votre PC   Dans l’écran Expérience cliquez sur New.   Puis sur Dataset–>From local file.   Choisissez votre fichier et son extension, et choisissez un nom pour le Dataset (il doit être unique, utilisez un numéro additionnel pour les versions.)   Une fois le Dataset chargé, ML Studio nous indique ce message : Cliquez sur Ok pour terminer le téléchargement.   Le Dataset est alors accessible dans le menu My Datasets.   Vous pouvez aussi cliquer sur  Datasets dans le menu de gauche.   Entrer des données manuellement     Il est possible d’entrer des données manuellement, en déposant le module Enter Data Manually, sur le canvas, puis en saisissant les données dans la fenêtre de droite.     Utiliser le modules d’import des données.   Le module Import Data permet d’acquérir des données en provenance de différentes sources. Tout d’abord placez le module sur le canvas, puis sélectionnez la source de données, dans la […]

Azure ML, Importer et exporter des données



Comme nous l’avons vu dans l’ introduction, tout travail en ML suit un processus bien défini.     Ce processus se réalise au sein d’une expérience, dans ML Studio. Clickez sur New, puis sur Blank experience.     Nommez l’expérience « Expérience 1« , puis deroulez le module Saved Datasets, avant de placer le dataset Adult Census Income Binary sur le canvas.       Repliez Saved Datasets, dépliez Statistical functions et placez un module Summarize Data sur le canvas. Reliez le port de sortie du dataset, au port d’entrée du module statistique. Cliquez sur RUN. Une fois les deux modules au vert, faites clic droit sur le port de sortie du module statistique pour observer le résultat.       Ce module nous permet d’identifier le nombre de variables (colonnes du Dataset:15) et le nombre de mesures statistiques réalisées sur chacune d’entre-elles (23). Ces mesures permettent de déterminer notamment le nombre d’observations, le nombre de valeurs manquantes, les valeurs minimales et maximales, la moyenne, la médiane, le mode et la distribution statistique. Une fois l’experience lancée elle s’enregistre automatiquement. Cette expérience est intégrée à un espace de travail, auquel nous allons pouvoir convier de nouveaux utilisateurs.     Vous avez maintenant une […]

Azure ML, Première expérience



  Microsoft parviendra-t-il à démocratiser l’usage de l’intelligence artificielle ?   Le développement exponentiel des capacités informatiques, a submergé le monde des affaires d’un volume considérable de données. Que celles-ci proviennent du métier, de bases de données, de machines-outil, du web, des réseaux sociaux, ou de toute autre source, elles sont au cœur de la performance des entreprises. Les traiter, pour les transformer en informations indispensables au pilotage des affaires, est devenu un enjeu majeur qu’il est diffcile d’ignorer.   Comment faire pour rester dans la course, alors que les données se multiplient et que les bons professionnels restent très rares  et coûteux ?   Les outils décisionnels comme Power BI, proposent des solutions graphiques permettant de limiter le recours au code, pour créer des requêtes et des mesures. L’objectif poursuivi, est de permettre aux utilisateurs métier de créer leurs propres solutions, très rapidement, sans avoir recours aux services IT. Le Machine Learning est une tendance récente, mais à très fort potentiel, dans le monde des solutions décisionnelles. Avant d’entrer dans le détail du processus, il est intéressant de situer la place du Machine Learning dans cet environnement BI . Comme on peut le voir, le Machine Learning est une […]

Introduction au Machine Learning



La plupart des modèles de données contiennent plusieurs tables en relation les unes avec les autres.   Nous allons étudier l’impact de ces relations sur les deux contextes.   Contexte de ligne et relations.   C’est le plus simple à comprendre : il n’y a pas d’interactions.   Supposons une table des Ventes en relation avec une table Articles.   Si l’on crée une colonne visant à calculer la différence entre le prix  unitaire réellement appliqué et le prix de vente standard, prévu dans la table articles :   Différence= Ventes[PU Vente]-Articles[PU Vente]   Retournera une erreur.   En effet, la colonne calculée crée une itération sur la table Ventes et elle seule !   Pour accéder à la valeur en relation dans la table Articles il faudra utiliser la fonction RELATED.   Différence= Ventes[PU Vente]-RELATED(Articles[PU Vente])   Dans le sens inverse (colonne calculée dans la table Articles), il faudra utiliser RELATEDTABLE imbriquée dans une fonction d’aggrégation :   AVERAGE(RELATEDTABLE(Ventes[PU Vente]))   Ce mécanisme fonctionne, quel que soit le nombre de niveaux de la relation (Par exemple Famille->Sous-Famille->Articles->Ventes), sous réserve que les relations soient du même type et de même direction.   Par exemple, dans le cas ci-dessous, il n’est […]

DAX Contexte d’évaluation (Partie 2)



3
Toute mesure est évaluée dans un contexte.   Le contexte, c’est-à-dire l’ensemble des filtres du rapport (lignes et colonnes d’un TCD, slicers..) pour le contexte de filtres, ou la ligne de la table, pour un contexte de ligne , détermine l’environnement dans lequel s’applique la formule de calcul.   Un élément clé à retenir : « Il y a toujours deux contextes qui coexistent : Le contexte de filtres et le contexte de ligne. »   Contexte de filtre. Prenons une mesure simple comme : Sum(Ventes[Total Ventes HT]) Elle retourne la somme des quantités de toute la table Ventes, en l’absence de filtres:   Elle retourne une valeur différente si l’on ajoute un filtre sur l’année dans le rapport :     Comment cela se produit-il ?   Il faut considérer chaque cellule : Pour déterminer sa valeur, la table Ventes est filtrée comme dans un tableur Excel, pour ne retenir que les lignes concernant l’année 2017 (première ligne du rapport.) Ensuite, l’expression s’applique sur les valeurs contenues dans la colonne Total Ventes HT (filtrées.)   Nous pouvons rajouter autant de filtres que nécessaire, la logique sera toujours la même : la table est filtrée en fonction du contexte d’évaluation de chaque cellule, avant […]

DAX – Contexte d’évaluation (Partie 1)



Comme nous l’avons vu dans les articles précédents, Power Query permet, depuis son interface utilisateur de réaliser très facilement la plupart des taches de chargement et de transformation de vos données. Néanmoins, si vous souhaitez aller plus loin, il vous faudra étudier le langage qui tourne en arrière plan de cette interface utilisateur, le langage M. Si ce n’est déjà fait, vous pouvez télécharger les fichiers sources sur le site de l’excellent  livre M is for (Data) Monkey écrit par Ken Puls et Miguel Escobar  dont nous nous sommes inspiré Télécharger les fichiers pour écrire ce post. Pour commencer, le plus simple est d’ajouter une nouvelle colonne : Après avoir renommé la colonne, vous pouvez écrire une formule en langage M, par exemple : Pour vous faciliter la tache, vous n’avez pas à écrire le nom de chaque colonne, puisque l’éditeur vous présente les colonnes disponibles, sur lesquelles vous n’avez qu’à double cliquer. La langage M est très différent des formules Excel auxquelles nous sommes habitués : Les formules sont sensibles à la casse (Majuscules et minuscules sont considérées comme différentes.) Le comptage se fait à partir de zéro (à partir de un dans Excel. Il n’y a pas de conversion […]

Power query – M – Conversions de type



Power Query et son interface permettent de réaliser facilement des transformations simples.   En programmant en langage M, nous pouvons réaliser des transformations plus complexes, mais il faut bien reconnaître que la difficulté dans la programmation devient vite prohibitive. Microsoft l’a semble-t-il bien compris, en intégrant le langage R à Power Bi. Ce langage, utilisé par les data scientists du monde entier, permet de réaliser ces opérations bien plus facilement. Pour utiliser R dans Power Query, vous devrez tout d’abord mettre en place l’environnement sur votre ordinateur. Une fois l’environnement installé, nous allons devoir installer un package R nommé ‘dplyr’ Ouvrez R studio Tapez Fermez Rstudio Voila c’est fait ! Maintenant nous pouvons créer une nouvelle requête dans Power BI : Obtenir les données Web Entrez cette Url : https://raw.githubusercontent.com/genomicsclass/dagdata/master/inst/extdata/msleep_ggplot2.csv Modifier. Transformer –> Utiliser la première ligne pour les entêtes. Sélectionnez les colonnes contenant des chiffres et transformez leur type en Décimal. Normalement vous devriez obtenir ceci :   Maintenant nous allons pouvoir créer une nouvelle étape de transformation en créant un script R.     Copiez-collez ce script : Cliquez sur Ok   Ce script permet d’afficher les six premières lignes du Dataset et de l’affecter à la variable […]

Power Query & R – Transformation avec Dplyr