Machine Learning


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



KNN – Le concept Littéralement K nearest neighbors, ce qui peut se traduire en Français les K(un nombre) plus proches voisins. Il s’agit d’un algorithme simple mais très efficace pour classifier des données labellisées.   Afin de comprendre le concept, le plus simple est d’imaginer de sélectionner un ensemble de critères pour classifier des objets dans deux ou plusieurs catégories. Par exemple classer des aliments dans une catégorie (fruit, légume, céréale  etc…) en appliquant une note à des critères comme la sucrosité, la salinité, le degré de croquant etc..   On peut alors introduire un nouvel élément et tenter de le classer en fonction de sa proximité avec les éléments existant du tableau.     KNN calcule la distance Euclidienne entre chaque critère du raisin et leur homologue pour chaque observation dans le tableau. La distance Euclidienne est égale à la racine carrée de la somme des carrés des distances. Quelle est la distance Rasin-Pomme ? La même opération est réalisée pour chaque enregistrement de la table.   Il est alors possible d’identifier quels sont les aliments les plus proches du raisin.   Si on affecte 1 au paramètre K, le raisin sera classifié en fonction du type de son […]

Machine Learning – KNN