Fonctionnalités SAS® Visual Data Mining and Machine Learning

Programmation interactive dans un environnement de développement web

  • Une interface visuelle pour l'ensemble du cycle de vie analytique.
  • Interface interactive de type glisser-lâcher ne nécessitant aucune programmation, même si cela reste possible.
  • Création automatique de code à chaque nœud.
  • Possibilité de choisir des modèles type (basiques, intermédiaires ou avancés) pour prendre rapidement en main les fonctionnalités de machine learning ou tirer parti de nos fonctionnalités de modélisation automatisée.
  • Rapports d'interprétabilité tels que PD, LIME, ICE, et Kernel SHAP.
  • Exploration des données depuis Model Studio et lancement direct dans SAS Visual Analytics.
  • Modification des modèles importés depuis SAS Visual Analytics dans Model Studio.
  • Visualisation des données de chaque nœud dans Model Studio.
  • Exécution du code batch SAS® Enterprise Miner 14.3 dans Model Studio.
  • Environnement collaboratif facilitant le partage des données, du code, des annotations et des bonnes pratiques entre différents profils utilsateurs.
  • Création, gestion et partage de contenus, et gestion des autorisations d'accès correspondantes via SAS Drive.
  • Outil de visualisation de l'historique SAS affichant les relations entre les décisions, les modèles et les données sous forme graphique.

Automatisation intelligente

  • API publique pour automatiser de nombreuses étapes de modélisation complexes et manuelles, de la manipulation des données au feature engineering en passant par la sélection des algorithmes et leur déploiement.
  • Nœud de Feature Engineering Automatique pour nettoyer, transformer et sélectionner automatiquement les variables des modèles.
  • Nœud de modélisation automatique pour sélectionner le meilleur modèle en utilisant un ensemble de routines d'optimisation automatique pour différentes techniques.

Génération du langage naturel

  • Présentation des résultats dans un langage simple pour faciliter la compréhension des rapports, y compris l'interprétabilité et l'évaluation des modèles.

Prise en charge intégrée des langages Python et R 

  • Possibilité d'intégrer du code open source dans une analyse et d'appeler des algorithmes open source depuis Model Studio.
  • Nœud de code open source dans Model Studio indépendant des versions Python ou R.

Deep learning avec Python (DLPy)

  • Création de modèles de deep learning pour les séries chronologiques, l'analyse d'images, de textes et de sons à l'aide de Jupyter Notebook.
  • Disponibilités d'API de haut niveau sur GitHub pour :
    • Les réseaux de neurones profonds.
    • La classification des images et la régression.
    • La détection d'objets.
    • Les tâches RNN : classification de texte, génération de texte et étiquetage de séquence.
    • Le traitement et la modélisation de séries chronologiques RNN.
  • Prise en charge d'architectures réseau prédéfinies, telles que LeNet, VGG, ResNet, DenseNet, Darknet, Inception, ShuffleNet, MobileNet, YOLO, Tiny YOLO, Faster R-CNN et U-Net.
  • Importation et exportation de modèles de deep learning au format ONNX.

Procédures SAS® (PROC) et actions CAS

  • Interface de programmation (SAS Studio) permettant au service informatique ou aux développeurs d'accéder à un serveur CAS, de charger ou d'enregistrer des données directement depuis un serveur CAS, et de prendre en charge le traitement local et distant sur un serveur CAS.
  • Possibilité pour les programmeurs Python, Java, R, Lua et Scala et l'IT d'accéder aux données et de les manipuler à partir d'un serveur CAS ou d'exécuter des actions CAS à l'aide de PROC CAS.
  • Prise en charge des actions CAS pour l'interprétabilité, le feature engineering et la modélisation.
  • Intégration de SAS à d'autres applications via des API REST.

Traitement analytique « in-memory » distribué

  • Le traitement distribué « in-memory » de calculs analytiques complexes sur des tables volumineuses fournit des réponses dans un temps optimisé
  • Les tâches analytiques sont enchaînées ensemble comme une seule tâche « in-memory » sans avoir à recharger les données ou stocker des résultats intermédiaires sur disques.
  • L'accès simultané aux mêmes données « in-memory » par de nombreux utilisateurs améliore l'efficacité.
  • Les données et les résultats intermédiaires sont conservés en mémoire aussi longtemps que nécessaire, ce qui permet de réduire la latence.
  • La gestion intégrée de la charge assure une utilisation optimisée des ressources de calcul.
  • La gestion intégrée du failover garantit que les tâches soumises sont toujours terminées.
  • Propagation automatisée des E/S disque pour une meilleure gestion de la mémoire.

Développement de modèles avec des algorithmes évolués de machine learning

  • Forêts d'arbres de décision :
    • Ensemble automatisé d'arbres de décision pour expliquer une variable unique.
    • Distribution automatisée d’apprentissages indépendants.
    • Optimisation automatique et intelligente des paramètres de modèles.
    • Génération automatisée de code SAS pour le scoring en production. 
  • Gradient boosting :
    • Recherche itérative automatisée pour un partitionnement optimal des données en fonction de la variable d'étiquette sélectionnée.
    • Rééchantillonnage automatisé des données en entrée à plusieurs reprises avec des pondérations ajustées en fonction des résidus.
    • Génération automatisée d'une moyenne pondérée pour le modèle supervisé final.
    • Prise en charge des étiquettes binaires, nominales et continues.
    • Personnalisation de l'apprentissage des arborescences avec différentes options de nombres d'arborescences à développer, de critères de fractionnement à appliquer, de profondeur des sous-arbres et de ressources de calcul. 
    • Critères d'arrêt automatisés en fonction du scoring des données de validation pour éviter tout surapprentissage.
    • Génération automatisée de code SAS pour le scoring en production.
  • Réseaux de neurones :
    • Ajustement automatisé et intelligent des paramètres pour identifier le modèle optimal.
    • Prise en charge de la modélisation des données d'effectif.
    • Sélection intelligente des valeurs par défaut pour la plupart des paramètres de réseaux de neurones.
    • Possibilité de personnalisation l'architecture et les pondérations des réseaux de neurones.
    • Techniques incluant les réseaux de neurones profonds (DNN), les réseaux de neurones convolutifs (CNN), les réseaux de neurones récurrents (RNN) et les auto-encodeurs.
    • Possibilité d’utiliser un nombre défini de couches masquées pour prendre en charge le deep learning.
    • Prise en charge de différents types de couches, comme la convolution et la répartition.
    • Normalisation automatique des variables à expliquer et explicatives.
    • Sélection et utilisation automatiques d'un sous-ensemble de données de validation.
    • Validation « out-of-bag » automatique pour un arrêt précoce afin d’éviter tout surapprentissage.
    • Optimisation automatique et intelligente des paramètres de modèles.
    • Génération automatisée de code SAS pour le scoring en production.
  • Machines "vector support" :
    • Modélisation de variables binaires à expliquer.
    • Prise en charge des noyaux linéaires et polynominaux pour l'apprentissage du modèle.
    • Intégration de fonctions d'entrée/sortie continue et catégorielle.
    • Adaptation automatique des fonctions d'entrée.
    • Possibilité d'appliquer la méthode de point intérieur et la méthode d'ensemble actif.
    • Prise en charge du partitionnement des données pour la validation de modèle.
    • Prise en charge de la validation croisée pour la sélection de pénalité.
    • Génération automatisée de code SAS pour le scoring en production.
  • "Factorization machines": :
    • Prise en charge du développement de systèmes de recommandations en fonction de matrices éparses d'ID utilisateur et de notations d'éléments.
    • Application d'une factorisation tensorielle complète d'interactions appariées.
    • Intégration de fonctions de variable numérique et catégorielle pour des modèles plus précis.
    • Modèles optimisés avec des horodatages, des données démographiques et des informations contextuelles.
    • Prise en charge du redémarrage à chaud (mise à jour des modèles avec de nouvelles transactions sans recalibrage complet).
    • Génération automatisée de script de scoring SAS pour le scoring de production.
  • Réseaux bayésiens :
    • Apprentissage de différentes structures de réseaux bayésiens, y compris les réseaux naïfs, les réseaux naïfs augmentés par un arbre (TAN), les réseaux naïfs augmentés par un réseau bayésien (BAN), les réseaux bayésiens parent-enfant et les réseaux avec couverture de Markov.
    • Sélection efficace de variables par le biais de tests d'indépendance.
    • Sélection automatique du meilleur modèle à partir des paramètres spécifiés.
    • Génération d'un code SAS ou d'un fichier binaire pour le scoring des données.
    • Chargement des données de plusieurs nœuds et exécution de calculs en parallèle.
  • Modèles de mélange gaussien (GMM) Dirichlet :
    • Clusterisation exécutée en parallèle et hautement multithread.
    • Clusterisation souple, qui fournit non seulement le scoring de cluster prédit, mais aussi la distribution de probabilité sur les clusters pour chaque observation.
    • Apprentissage du meilleur nombre de clusters pendant le processus de clusterisation, qui est pris en charge par le processus Dirichlet.
    • Utilisation d'une méthode bayésienne variationnelle (VB) parallèle comme méthode d'inférence de modèle. Cette méthode évalue approximativement la distribution a posteriori (complexe), puis met à jour de façon itérative les paramètres du modèle jusqu'à ce qu'il atteigne la convergence.
  • Algorithme d'apprentissage semi-supervisé :
    • Hautement distribué et multithread.
    • Produit les valeurs prédites sur les données labellisées et non labellisées.
  • Algorithme t-SNE (T-distributed stochastic neighbor embedding) :
    • Hautement distribué et multithread.
    • Renvoi d'incorporations de faible dimension basées sur une implémentation parallèle de l'algorithme t-SNE.

Préparation des données analytiques

  • Pipeline de bonnes pratiques feature engineering incluant les meilleures transformations.
  • Routines de gestion des données distribuées fournies via une interface visuelle.
  • Exploration et synthétisation des données à grande échelle.
  • Profilage de cardinalité :
    • Profilage à grande échelle des sources de données en entrée.
    • Recommandation intelligente pour la mesure et le rôle de la variable.
  • Échantillonnage : 
    • Prise en charge de l'échantillonnage aléatoire et stratifié, du suréchantillonnage d'événements rares et des variables d'indicateurs d'enregistrements échantillonnés.

Exploration des données, feature engineering et réduction des dimensions

  • Algorithme t-SNE (T-distributed stochastic neighbor embedding).
  • Discrétisation de variables.
  • Imputation hautes performances des valeurs manquantes des variables avec les valeurs spécifiées par l'utilisateur, la moyenne, la pseudo médiane et la valeur aléatoire des valeurs non manquantes.
  • Réduction de la dimension des variables.
  • Analyse en composantes principales (PCA) à grande échelle (fenêtres mobiles et PCA robuste, notamment).
  • Apprentissage non supervisé avec analyse de classification et clusterisation de variables mixtes.
  • Segmentation des profils pour la clusterisation.

Analyse textuelle intégrée

  • Prise en charge de 33 langues natifs :
    • Français
    • Arabe
    • Chinois
    • Croate
    • Tchèque
    • Danois
    • Néerlandais
    • Farsi
    • Finnois
    • Français
    • Allemand
    • Grec
    • Hébreu
    • Hindi
    • Hongrois
    • Indonésien
    • Italien
    • Japonais
    • Kazakh
    • Coréen
    • Norvégien
    • Polonais
    • Portugais
    • Roumain
    • Russe
    • Slovaque
    • Slovène
    • Espagnol
    • Suédois
    • Tagalog
    • Turc
    • Thaï
    • Vietnamien
  • Listes d'exclusion automatiquement incluses et appliquées pour toutes les langues.
  • Parsing, tokenisation, balisage morphosyntaxique et lemmatisation automatisés.
  • Extraction par des concepts prédéfinis d'entités communes (noms, dates, valeurs de devise, mesures, personnes, lieux, etc.).
  • Extraction automatisée de variables avec des thèmes générés par la machine (décomposition en valeurs singulières et allocation de Dirichlet latente).
  • Prise en charge du machine learning et des approches basées sur des règles au sein d'un projet unique.
  • Génération automatique de règles avec la procédure BoolRule.
  • Classification plus précise des documents avec le deep learning (réseaux de neurones récurrents).

Évaluation du modèle

  • Calcul automatique des statistiques de performance du modèle d'apprentissage supervisé.
  • Production de statistiques pour les variables continues et catégorielles à expliquer.
  • Création d'une table de lift pour les variables continues et catégorielles à expliquer.
  • Création d'une table ROC pour les variables catégorielles à expliquer.
  • Création de graphiques de classification d'événements et de classification nominale pour les modèles d'apprentissage supervisé avec une variable qualitative à expliquer.

Scoring de modèles

  • Génération automatique du code SAS pour le scoring de modèles.
  • Application d'une logique de scoring à l'apprentissage, aux données d'exclusion et aux nouvelles données.

Moteur in-memory SAS® Viya®

  • CAS (SAS Cloud Analytic Services) procède au traitement en mémoire et répartit les tâches de traitement entre les nœuds d'un cluster.
  • Mise en œuvre des requêtes des utilisateurs (exprimées dans un langage de procédure) avec les paramètres nécessaires à leur traitement dans un environnement distribué. Le jeu de résultats et les messages sont renvoyés à la procédure pour être traités par l'utilisateur.
  • Données gérées en blocs et pouvant être chargées en mémoire et à la demande.
  • Mise en cache des blocs sur le disque en cas de dépassement de la capacité mémoire des tables. Les données et les résultats intermédiaires sont conservés en mémoire aussi longtemps que nécessaire, d'une tâche et d'un utilisateur à l'autre.
  • Communication de nœud à nœud extrêmement efficace. Un algorithme détermine le nombre optimal de nœuds pour une tâche donnée.
  • Communication prenant en charge la tolérance aux pannes et permettant le retrait ou l'ajout de nœuds sur un serveur en fonctionnement. Possibilité de répliquer tous les composants pour une haute disponibilité.
  • Prise en charge du code SAS hérité et interopérabilité directe avec les clients SAS 9.4M6.
  • Gestion du déploiement multi tenant, permettant à une pile logicielle partagée de prendre en charge des utilisateurs isolés de manière sécurisée.

Options de déploiement

  • Déploiements sur site :
    • Serveur machine unique pour répondre aux besoins des PME.
    • Serveur distribué pour gérer la multiplication des données, l’augmentation des charges de travail et les besoins d'évolutivité.
  • Déploiements dans le cloud :
    • Serveur d'entreprise
    • Infrastructure de cloud privé ou public (par exemple, BYOL dans Amazon).
    • Solution SaaS (Software as a Service) gérée de SAS.
    • Solution PaaS (Platform as a Service) de Cloud Foundry pour prendre en charge plusieurs fournisseurs de cloud.

Back to Top