DATA MINING RELOADED DOSSIER. Les nouveautés de SQL Server 2005 Analysis Services. >> par Alexei Bocharov et Jesper Lind

Dimension: px
Commencer à balayer dès la page:

Download "DATA MINING RELOADED DOSSIER. Les nouveautés de SQL Server 2005 Analysis Services. >> par Alexei Bocharov et Jesper Lind"

Transcription

1 DATA MINING RELOADED Les nouveautés de SQL Server 2005 Analysis Services >> par Alexei Bocharov et Jesper Lind >> AVEC SQL SERVER 2000, MICROSOFT A RENOMMÉ LA SOLUTION OLAP SERVICES EN ANALYSIS SERVICES AFIN DE REFLÉTER L AJOUT DE NOUVELLES POSSIBILITÉS DE DATA MINING Les deux principales fonctions du data mining sont la classification et la prédiction (ou prévision). Le data mining vous aide à donner une signification aux giga-octets de données brutes stockées dans les bases de données, en identifiant les modèles et règles présents dans les données ou qui en découlent. Les analystes se servent alors de cette connaissance pour effectuer des prédictions et des recommandations sur les données nouvelles ou futures. Les principales applications de data mining du commerce vous permettent d en savoir plus sur vos clients et sur leurs besoins, de comprendre les éléments générateurs des ventes et les facteurs qui affectent celles-ci, de concevoir des stratégies marketing et de mettre au point les futurs indicateurs de l activité. Avec SQL Server 2000, Microsoft a renommé la solution OLAP Services en Analysis Services afin de refléter l ajout de nouvelles possibilités de data mining. L ensemble d outils de data mining disponibles dans cette version de SQL Server incluait seulement deux algorithmes d analyse classiques (clustering et arborescences de décision), un langage d expressions de requête et de gestion de data mining spécialisé intitulé DMX, ainsi que des contrôles, visionneuses et outils de développement côté client limités. SQL Server 2005 Analysis Services inclut un ensemble largement enrichi de méthodes de data mining et une palette d outils d analyse et de développement côté client entièrement nouveaux, conçus pour couvrir les besoins les plus courants en matière d analyse décisionnelle ou BI (Business Intelligence). L infrastructure Business Intelligence Framework dans SQL Server 2005 propose une nouvelle approche du data mining tant aux analystes qu aux développeurs. Nous allons, dans un premier temps, examiner rapidement le processus de data mining. Nous aborderons ensuite les sept algorithmes de data mining disponibles dans l infrastructure SQL Server 2005 Analysis Services, puis nous jetterons un coup d œil à la technologie «plug-in» qui vous aidera à ajouter des algorithmes 10 Le bimestriel des professionnels de SQL Server Avril 2005

2 Figure 1 - Solution Business Intelligence Studio utilisant plusieurs modèles de data mining Figure 2 - Sept exemples de clusters démographiques nouveaux ou personnalisés à cette infrastructure. Bien qu il n était pas envisageable d aborder ici spécifiquement la conception de l interface utilisateur, les captures incluses dans les différents exemples vous donneront un premier aperçu intéressant de la puissance et des qualités d utilisation des nouveaux outils côté client. Exploration des données La conception et le développement d applications de data mining comportent sept étapes logiques. La première consiste à préparer les sources de données : vous identifiez les bases de données et protocoles de connexion à utiliser. Vous décrivez ensuite les vues de source de données, autrement dit les tables qui contiennent les données destinées à l analyse. Troisièmement, vous définissez la structure d exploration en décrivant les colonnes à employer dans les modèles. La quatrième étape porte sur la création des modèles de mining. SQL Server 2005 propose un choix de sept algorithmes de data mining. Vous pouvez même appliquer plusieurs méthodes en parallèle pour chaque structure d exploration, comme l illustre la figure 1. La cinquième étape est appelée traitement. C est au cours de cette phase que les modèles de mining «extraient la connaissance» des données en provenance des sources de données. Sixièmement, vous évaluez les résultats. Au moyen de visionneuses côté client et de graphiques de précision, vous pouvez présenter les modèles et prédictions aux analystes et décideurs, puis apporter les ajustements nécessaires. La dernière et septième étape consiste à incorporer le data mining dans votre routine globale de gestion des données. En ayant identifié les méthodes optimales, vous devrez retraiter les modèles périodiquement afin de suivre de nouveaux schémas de données. Par exemple, si la messagerie constitue votre source de données et si vos modèles assurent des prédictions en matière de spams, vous devrez adapter vos modèles fréquemment afin 12 Le bimestriel des professionnels de SQL Server Avril 2005

3 Figure 3 - Réseau de dépendances concernant les facteurs démographiques Figure 4 - Vue instantanée des données «years worked» (années de travail) de rester en phase avec l évolution des tactiques des spammeurs. Voici un exemple rapide de modèle de mining utile. Supposons que vous souhaitiez identifier les principaux groupes de clients potentiels à partir de données de recensement incluant les profils de la population sur les plans professionnel, démographique et du revenu. Une méthode appropriée pour l identification de grands groupes de recensement caractéristiques consiste à employer l algorithme de clustering. Celui-ci segmente la population en clusters, de telle sorte que les personnes associées à un cluster sont similaires et que celles de différents clusters ont des profils divergents sur un ou plusieurs points. Pour examiner ces clusters, vous pouvez utiliser un outil appelé Microsoft Cluster Viewer (un composant standard de SQL Server 2005 Analysis Services). La figure 2 présente l une des quatre vues disponibles, afin de vous donner un affichage comparatif de tous les clusters. Par exemple, les clusters 6 et 7 correspondent aux personnes qui ne sont pas en service actif dans l armée. Mais le cluster 7 représente les personnes qui travaillent plus longtemps, pour un revenu plus élevé ; la ligne du haut suggère également que les personnes du cluster 7 sont, dans leur grade majorité, mariées. >> SQL SERVER 2005 PROPOSE UN CHOIX DE SEPT ALGORITHMES DE DATA MINING Prédiction et prédiction mutuelle Supposons que vous ayez sélectionné une seule colonne (par ex., le revenu) dans une table de données volumineuse, que vous l ayez désignée comme cible de la prédiction et que vous essayiez maintenant d effectuer des prédictions. Vous n irez probablement pas très loin en vous contenant d une seule colonne. Vous pourrez tout au plus calculer la plage de moyenne statistique et de variance. Il vaut mieux sélectionner des valeurs spécifiques pour une ou plusieurs autres colonnes (par ex., âge, années d expérience, diplômes et charge de travail dans les tables de données de recensement) et se concentrer uniquement sur les lignes de données qui correspondent aux valeurs sélectionnées. Vous trouverez probablement dans le premier sous-ensemble de lignes que les valeurs de la colonne cible entrent dans une plage relativement restreinte. Vous pouvez désormais prédire les valeurs dans une colonne cible avec un certain degré de certitude. En termes de data mining, nous disons que ces autres colonnes prédisent la colonne cible. La figure 3 illustre un instantané du contrôle de data mining Dependency Network (DepNet). Ce DepNet est un diagramme dans lequel les flèches montrent les colonnes de recensement source de la prédiction et les colonnes cible de celle-ci. Certains des nœuds ont des flèches pointant dans les deux sens. C est ce que l on appelle la prédiction mutuelle. 14 Le bimestriel des professionnels de SQL Server Avril 2005

4 La prédiction mutuelle entre A et B signifie que les valeurs de paramètre de A réduisent l incertitude de la colonne B, mais que cela s applique aussi dans l autre sens, à savoir que l utilisation d une valeur de B réduira l incertitude de A. Toutes les techniques de data mining de Microsoft peuvent suivre les prédictions, mais différents algorithmes effectuent des prédictions de différentes manières. En examinant les autres méthodes de data mining, nous allons souligner les spécificités de chacune en matière de prédiction. Arborescences de décision La prédiction est la notion sous-jacente à l algorithme d arborescences de décision (Decision Trees) de Microsoft. Les connaissances contenues par un modèle d arborescences de décision peuvent être représentées graphiquement sous forme d arborescence, mais aussi sous forme de «règles de nœuds». Par exemple, dans une arborescence de décision portant sur le revenu, une règle telle que (sexe = masculin et 1 < Années travaillées < 2) pourrait décrire un nœud d arborescence contenant les statistiques de revenus pour les hommes dans leur deuxième année professionnelle. Ce nœud correspond à une sous-population bien définie d actifs et vous devez être en mesure d effectuer des prédictions relativement spécifiques concernant leurs revenus. En effet, un des modèles de recensement a donné la formule suivante pour la condition (sexe = masculin et 1 < Années travaillées < 2) : INCOME = *( YRSSRV -1.2)+392.8*(HOURS-40.2) *(WORKLWK-1.022) ± Selon cette formule, INCOME (revenu) est défini principalement par YRSSRV (années de service) et les heures supplémentaires hebdomadaires. (Notez qu il s agit simplement d un exemple et qu il ne repose pas sur des données de recensement représentatives.) Pour obtenir cette équation sous une forme graphique simple, vous pourriez utiliser la visionneuse d arborescences de décision afin de visualiser 15

5 l arborescence de revenus et d effectuer un zoom sur un nœud correspondant aux valeurs intéressantes de sexe et d années de travail, comme l illustre l instantané type de la figure 4. La règle et la formule définies identifient le sexe, les années de service, les années de travail, les heures hebdomadaires et la charge de travail en tant que prédicteurs pour le revenu. Comme YRSSRV, HOURS et WORKLWK apparaissent dans la formule précédente pour INCOME, ils sont appelés régresseurs. Une arborescence de décision contenant de telles formules prédictives est appelée arbre de régression. Figure 5 - Prédicteurs pour l exemple «Yen to USD» Séries temporelles L algorithme de séries temporelles (Time Series) introduit le concept de passé, présent et futur dans l activité de prédiction. Non seulement cet algorithme sélectionne les meilleurs prédicteurs pour une cible de prédiction, mais il identifie aussi les périodes les plus probables au cours desquelles l effet de chaque facteur prédictif risque d être constaté. Par exemple, après avoir créé un modèle incluant les principaux indices économiques mensuels, vous pourrez apprendre que le taux de change escompté du yen en dollars (Yen to USD) dépend aujourd hui majoritairement des éléments suivants : du taux hypothécaire en vigueur deux mois plus tôt et de l indice de la production industrielle déterminé il y a 7 mois, ainsi que du revenu par habitant valable il y a 6 à 7 mois. La figure 5 illustre un contrôle de data mining intitulé Note Legend, qui fournit une représentation graphique de ces dépendances. La longue barre de couleur bleue sur le côté gauche près de Mort30Yr (-2) indique une corrélation négative entre le taux de change Yen to USD et le taux hypothécaire en vigueur il y a deux mois. Autrement dit, si au fil du temps une valeur augmente, une autre diminue. La courbe mauve (pour Yen to USD) et la courbe en jaune (pour le taux hypothécaire) de la figure 6 offrent une représentation graphique agréable de ce mouvement opposé des taux. Les barres en bleu plus petites de la figure 5 indiquent que le taux de change est, dans une certaine mesure, autonome. Elles soulignent en effet le fait que le taux aujourd hui est bien corrélé avec le taux de change Yen to USD du mois précédent (coefficient 0.656) et quelque peu avec le taux valide il y a deux mois (coefficient ). Par conséquent, en cas de refinancement à un taux inférieur, vous pouvez envisager un «cash out» et un investissement sur des titres adossés au Yen. Vous devez toutefois d abord examiner les variances de prédiction (et, bien évidemment, rester discret sur vos intentions). Clustering et clustering de séquence Une nouvelle fonctionnalité des algorithmes de clustering de Microsoft est leur capacité à trouver un nombre de clusters approprié pour votre modèle sur la base des propriétés des données d apprentissage. Le nombre de clusters doit être suffisamment petit pour être gérable, mais un modèle de clusters doit avoir un pouvoir de prédiction relativement élevé. Vous pouvez demander à chacun des algorithmes de clustering de sélectionner un nombre de clusters basé sur un équilibre entre ces deux objectifs. Le clustering de séquence (Sequence Clustering) de Microsoft est un nouvel algorithme pouvant être considéré comme un clustering sensible à l ordre des éléments. Souvent, l ordre des éléments dans un enregistrement n a pas d importance (par exemple, le panier de la ménagère), mais dans certaines circonstances il est crucial (par ex., des vols vers une certaine destination ou des lettres dans un code ADN). Dès que les données contiennent des séquences d éléments, les fréquences globales de ceux-ci ne sont pas aussi importantes que l ordre de début et de fin de chaque séquence, ainsi que toutes les transitions entre les deux. Notre exemple préféré pour illustrer les avantages du clustering de séquence est l analyse de données de mode de navigation (littéralement «flux de clics»). La figure 7 présente un exemple de graphique de navigation d un certain groupe de visiteurs sur un site Web. A chaque flèche vers un nœud de page Web est associée une étiquette indiquant la probabilité selon laquelle un visiteur passera à cette page Web à partir du point de départ de la flèche. Dans l exemple de clusters, les pages de départ les plus probables du visiteur sont news (actualité) et home (page d accueil) (notez la flèche arrivant sur le nœud news avec une probabilité de 0.40 et celle arrivant sur le nœud home avec une probabilité de 0.32). La probabilité selon laquelle un visiteur de la page news continuera de naviguer sur cette page au prochain clic 16 Le bimestriel des professionnels de SQL Server Avril 2005

6 est de 62 pour cent (notez la flèche avec une probabilité de 0.62 pointant du nœud news sur lui-même), mais les visiteurs commençant à partir de la page home passeront probablement à la page local, sport ou weather. Un graphique de transition, tel que celui de la figure 7, est le composant principal de chaque cluster de séquence et ce type de cluster peut contenir en plus tout ce que peut proposer un cluster normal. Modèles de Naïve-Bayes et réseaux de neurones Ces algorithmes créent deux types de modèles prédictifs. L algorithme Naïve- Bayes est la méthode la plus rapide, bien que légèrement limitée, pour trier des relations entre des colonnes de données. Il est basé sur l hypothèse simplificatrice selon laquelle lorsque vous évaluez la colonne A en tant que prédicteur pour les colonnes cible B1, B2, etc., vous pouvez ignorer les dépendances entre ces colonnes cible. Ainsi, afin de créer un modèle Naïve-Bayes, vous avez seulement besoin d apprendre les dépendances dans chaque paire (prédicteur, cible). Pour cela, l algorithme Naïve-Bayes calcule un ensemble de probabilités conditionnelles, telles que la probabilité suivante, issue des données de recensement : Figure 6 - Exemple de prédicteurs «Yen2Dollar» dans la visionneuse de séries temporelles Probability ( Marital = "single" _ Military = "On Active Duty" ) = Cette formule montre que la probabilité pour une personne d être célibataire (single) pendant son service actif à l armée diffère fortement de la probabilité globale d être célibataire à l échelle de la population (qui est approximativement de 0.4). Par conséquent, vous pouvez en conclure que la situation militaire constitue un bon prédicteur du statut marital. La méthodologie des réseaux de neurones est probablement le type de modélisation le plus ancien et peut-être le plus dur à décrire en quelques mots. Imaginez que les valeurs dans les colonnes de données à prédire sont issues (sorties) d une Figure 7 - Graphique du comportement de navigation Web «boîte noire» et que les valeurs dans les colonnes de données servant de prédicteur potentiel constituent les entrées de la même boîte noire. A l intérieur de la boîte se trouvent plusieurs couches de «neurones» virtuels interconnectés et reliés également aux fils d entrée et de sortie. 17

7 Transaction ID Item Bread 1 Milk 2 Bread 2 Milk 2 Juice Figure 8 - Enregistrements de transaction Itemset Count <Bread, Milk> 2 <Bread, Juice> 1 <Milk, Juice> 1 <Bread, Milk, Juice> 1 Figure 9 - Statistiques pour les enregistrements de la figure 8 L algorithme de réseau de neurones est conçu pour déterminer ce qu il y a à l intérieur de la boîte, au vu des entrées et des sorties correspondantes déjà enregistrées dans vos tables de données. Une fois que vous avez appris la structure interne à partir des données, vous pouvez prédire les valeurs de sortie (c.-à-d. les valeurs dans les colonnes cible) lorsque vous avez les valeurs en entrée. Règles d association L algorithme des règles d association est orienté vers l analyse des données transactionnelles, également connu sous l appellation «données des tickets de caisse». Il sert principalement aux prédictions extrêmement performantes dans des applications de data mining de ventes croisées. Cet algorithme opère en termes d itemsets (ensembles d éléments). Il prend les enregistrements de transaction bruts, tels que ceux illustrés sur la figure 8 et crée une structure de données sophistiquée pour assurer le suivi des nombres d éléments (par ex., produits) dans l ensemble de données. L algorithme crée des groupes d éléments (les itemsets) et collecte des comptages statistiques les concernant. Dans le cas du miniexemple d enregistrement de la figure 8, les statistiques correspondantes auraient la forme illustrée à la fi-gure 9. L un des paramètres les plus importants d un modèle est un seuil permettant d exclure les éléments et itemsets non populaires. Ce paramètre est appelé le support minimum. Dans l exemple précédent, si vous définissez le support minimum à 2, les seuls itemsets conservés seront <Bread> (pain), <Milk> (lait) et <Bread, Milk>. Le résultat de cet algorithme est la collection d itemsets et de règles découlant des données. Chaque règle est fournie avec un score appelé score lift et une certaine valeur de support supérieure ou égale au support minimum. Le score lift mesure le degré de pertinence de la règle dans sa prédiction de l élément cible. Une fois que l algorithme trouve les règles intéressantes, vous pouvez facilement les employer pour obtenir des recommandations de produits pour vos sites Web de ventes croisées ou pour des publipostages. Algorithmes tierce partie (plug-in) Les sept algorithmes de Microsoft constituent des outils extrêmement performants, mais ils peuvent ne pas vous donner le type de schémas de connaissance ou de prédiction dont vous avez besoin. Si tel est le cas, vous pouvez développer un algorithme personnalisé et l héberger sur le serveur Analysis Server. Pour s intégrer à votre infrastructure de data mining, votre algorithme doit mettre en œuvre cinq interfaces COM principales : 1. L interface algorithme factory (fabrique d algorithmes) est responsable de la création et de la suppression des instances d algorithmes. 2. L interface metadata assure l accès aux paramètres de l algorithme. 3. L interface algorithm est chargée d apprendre les modèles de mining et d effectuer des prédictions à partir de ceuxci. 4. L interface persistence prend en charge l enregistrement et le chargement des modèles de mining. >> L ALGORITHME DES RÈGLES D ASSOCIATION EST ORIENTÉ VERS L ANALYSE DES DONNÉES TRANSACTIONNELLES 5. L interface navigation assure l accès au contenu de ces modèles. Certaines de ces interfaces sont élaborées et il est nécessaire de se familiariser avec celles-ci, mais des modèles de mise en œuvre sont disponibles dans la section Tutorials and 18 Le bimestriel des professionnels de SQL Server Avril 2005

8 Samples (tutoriels et exemples) de la documentation en ligne de SQL Server Après avoir mis en œuvre et enregistré votre algorithme en tant qu objet COM, il est très facile de le lier au serveur Analysis Server en ajoutant juste quelques lignes à la configuration du serveur. Une fois l algorithme prêt et lié, sa fonctionnalité devient immédiatement disponible par le biais des outils proposés dans Business Intelligence Development Studio et SQL Server Management Studio. Analysis Server traite le nouvel algorithme comme s il était natif et prend en charge les requêtes et accès aux objets. A vous de jouer Analysis Services 2005 constitue une refonte complète de la plate-forme d analyse décisionnelle de Microsoft. Prenant en charge.net, XML for Analysis et ADOMD.NET, ce produit offre toute une palette de nouveaux algorithmes puissants, >> ANALYSIS SERVICES 2005 CONSTITUE UNE REFONTE COMPLÈTE DE LA PLATE-FORME D ANALYSE DÉCISIONNELLE DE MICROSOFT de générateurs aux multiples fonctionnalités et de visionneuses. Une nouvelle encore plus importante est l ouverture et la transparente désormais proposée par la plate-forme. Avec les nouvelles API client, les possibilités de plug-in d algorithmes, le modèle d objet serveur, les fonctions définies par l utilisateur (UDF) gérées proposés par Analysis Services 2005, et grâce à l intégration complète de Microsoft Visual Studio, il n y a pratiquement aucune limite aux possibilités offertes à un développeur motivé dans le domaine de l analyse décisionnelle. 19