Professional Documents
Culture Documents
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Exercice 28.: Analyse Factorielle sans rotation (AF) ............................................................ 127 Exercice 29.: Analyse Factorielle avec rotation VARIMAX ................................................. 131 Exercice 30.: Rgression (linaire) des moindres carrs partiels (rgression linaire PLS univarie: PLS1) ..................................................................................................................... 133 Exercice 31.: Export d'un rsultat vers MS Excel .................................................................. 136
3/145
Vincent ISOZ
Introduction
TANAGRA est un logiciel gratuit d'exploration de donnes (DataMining) destin l'enseignement et la recherche et l'enseignement cr en 2003. Il implmente une srie de mthodes de fouille de donnes issues du domaine de la statistique exploratoire, de l'analyse de donnes, de l'apprentissage automatique et des bases de donnes. Par rapport ses concurrents TANAGRA a selon moi quatre avantages majeurs: 1. L'interface est extrmement simple et sobre et ncessite quasiment zro effort pour comprendre la logique. 2. Les mthodes statistiques et leurs rsultats respectifs sont clairement nomms selon l'usage par les spcialistes de la statistique. 3. La documentation est bien fournie aussi bien en anglais qu'en franais avec des annexes accessibles ceux qui ont des connaissances universitaires en mathmatiques. 4. La rapidit de traitement d'une grosse masse de donnes qui en terme de performance vaut largement la concurrence gratuite (KNIME, Orange, R, RapidMiner, SIPINA, WEKA) ou payant (Oracle, MS SQL Server, SPSS, Statistica) d'aprs les tests effectus par l'auteur du logiciel (le logiciel est sobre et cod selon les rgles de l'art ce qui accapare moins de mmoire). 5. Sa gratuit et le fait que le code source soit disponible tous. C'est un projet ouvert au sens qu'il est possible tout chercheur d'accder au code, d'ajouter ses propres algorithmes et de diffuser, toujours gratuitement, le logiciel modifi. Tanagra est diffus depuis dcembre 2003. Il est compil pour la plate-forme WIN32 mais il est possible de le faire fonctionner sous d'autres systmes (par ex. avec WINE sous linux).
Prcisions sur la licence de TANAGRA (voir le dtail de la licence lors de l'installation). Le logiciel TANAGRA est dvelopp titre personnel par Ricco Rakotomalala. Il en a la proprit exclusive. Un logiciel est une oeuvre de l'esprit au sens du code de la proprit intellectuelle (Article L.112-2), exactement comme les ouvrages. Ricco Rakotomalala s'engage rendre la version complte de TANAGRA indfiniment gratuite sans aucune restriction. Le code source sera toujours librement accessible en ligne. Si une entit quelconque introduit des contraintes quant l'accs au logiciel (ex. ncessit de s'enregistrer pour tlcharger ; versions volontairement brides avec des promesses de fonctionnalits tendues sur une variante amliore payante ; code source non publi ; incorporation dans un package commercial ; ou que sais-je encore...), vous tes face une distribution illicite.
4/145
Vincent ISOZ
L'utilisation du logiciel est totalement libre, dans quelque contexte que ce soit, y compris dans le cadre d'une activit commerciale. Si vous souhaitez citer TANAGRA dans vos travaux de recherche, voici la rfrence utiliser : Ricco Rakotomalala, "TANAGRA : un logiciel gratuit pour l'enseignement et la recherche", in Actes de EGC'2005, RNTI-E-3, vol. 2, pp.697-702, 2005.
5/145
Vincent ISOZ
Avertissements
Le but de ce support a pour but de mettre en pratique les dmonstrations mathmatiques thoriques effectues lors des cours de statistiques et de mthodes numriques. Le contenu du prsent support est labor par un processus de dveloppement par lequel des experts de la gestion de projets parviennent un consensus. Ce processus qui rassemble des participants bnvoles recherche galement les points de vue de personnes intresses par le sujet de cet ouvrage. En tant que responsable du prsent support, j'assure l'administration du processus et je fixe les rgles qui permettent de promouvoir l'quit dans l'approche d'un consensus. Je me charge galement de rdiger les textes, parfois de les tester/valuer ou de vrifier indpendamment l'exactitude/solidit ou l'exhaustivit des informations prsentes. Je dcline toute responsabilit en cas de dommages corporels, matriels ou autres de quelque nature que ce soit, particuliers, indirects, accessoires ou compensatoires, rsultant de la publication, de l'application ou de la confiance accorde au contenu du prsent support. Je n'mets aucune garantie expresse ou implicite quant l'exactitude ou l'exhaustivit de toute information publie dans le prsent support, et ne garantit aucunement que les informations contenues dans cet ouvrage satisfassent un quelconque objectif ou besoin spcifique du lecteur. Je ne garantis pas non plus les performances de produits ou de services d'un fabricant ou d'un vendeur par la seule vertu du contenu du prsent support. En publiant des textes, il n'est pas dans l'intention principale du prsent support de fournir des services de spcialistes ou autres au nom de toute personne physique ou morale ni pour mon compte, ni d'effectuer toute tche devant tre accomplie par toute personne physique ou morale au bnfice d'un tiers. Toute personne utilisant le prsent support devrait s'appuyer sur son propre jugement indpendant ou, lorsque cela s'avre appropri, faire appel aux conseils d'un spcialiste comptent afin de dterminer comment exercer une prudence raisonnable en toute circonstance. Les informations et les normes concernant le sujet couvert par le prsent support peuvent tre disponibles auprs d'autres sources que le lecteur pourra souhaiter consulter en qute de points de vue ou d'informations supplmentaires qui ne seraient pas couverts par le contenu du prsent site Internet. Je ne dispose (malheureusement...) d'aucun pouvoir dans le but de faire respecter la conformit au contenu du prsent ouvrage, et je ne m'engage nullement surveiller ni faire respecter une telle conformit. Je n'exerce ( ce jour...) aucune activit de certification, de test ni d'inspection de produits, de conceptions ou d'installations fins de sant ou de scurit des personnes et des biens. Toute certification ou autre dclaration de conformit en matire d'informations ayant trait la sant ou la scurit des personnes et des biens, mentionne dans le prsent support, ne peut aucunement tre attribue au contenu du prsent support et demeure sous l'unique responsabilit de l'organisme de certification ou du dclarant concern. Vincent ISOZ 6/145
Objectifs
J'ai tent de mettre les exemples dans l'ordre de difficult croissant et j'espre avoir atteint cet objectif pdagogique. Les premiers exemples sont vraiment lmentaires (ils ne dpassent pas le niveau du BAC) et faisables avec un simple tableur mais ils permettent au moins de se faire la main sur les manipulations courantes du logiciel. Actuellement seulement 9 composants de Data Mining sur les 180 disponibles dans le logiciel sont prsents dans ce support (sachant que 170 sont vraiment des techniques de fouilles de donnes). Je rdige un exemple peu tous les 3 mois... depuis le 30 Avril 2011 sachant que je me limite prsenter uniquement les techniques pour lesquelles la dmonstration mathmatique dtaille et pdagogique (soit une trentaine ce jour) se trouve sur dj sur mon site www.sciences.ch (ou que j'ai dj rdige mais pas encore eu le temps de publier en ligne sur le site). Bien videmment, si des lecteurs (tudiants / professeurs / passionns) veulement m'aider rdiger les dmonstrations mathmatiques... toute contribution/aide est la bienvenue pour complter les dmonstrations mathmatiques dtailles manquantes! Voici ci-dessous la liste des techniques et composants disponibles sur Tanagra. Celles qui sont prcdes d'un ont t tudies dans les dtails dans le cours thorique et elles sont (ou seront) dtailles dans le prsent support (pour les autres, il me manque les dmonstrations mathmatiques un niveau de rigueur pouvant tre considr comme satisfaisant): Data visualisation Statistics
7/145
Vincent ISOZ
Nonparametric statistics
(Fisher-Yates-Terry-Hoeffding)
Instance selection
8/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Feature construction (Minimum Description Length Principle Cut) Feature selection (Correlation Feature Selection) (Fast Correlation Based Filter)
9/145
PLS (Partial Least Squares Confidence) (excute PLS Factorial et le PLS Regression en mme temps) Clustering (Clustering Tree Post-prunning) (Expectation-Maximization clustering) (Hierarchical Clustering)
(K Nearest Neighbor)
12/145
Vincent ISOZ
Contenant des donnes spares par des tabulations (Tanagra impose les tabulations!):
Effectuez les oprations ncessaires pour visualisez les donnes contenues dans ce fichier directement depuis Tanagra. Ouvrons Tanagra: Vincent ISOZ 13/145
14/145
Vincent ISOZ
Puis entrez un nom pour le diagramme (par exemple VisualisationDonnees) ensuite un nom et un chemin pour le fichier Tanagra (*.tdm: Tanagra Diagram) et enfin allez cherchez la source de donnes dans le champ Dataset comme visible sur la capture ci-dessus.
Depuis la catgorie des composants Components se trouvant dans la partie infrieure du logiciel, glissez l'oprateur nomm View dataset de la catgorie Data visualization:
15/145
Vincent ISOZ
et cliquez sur Execute. Refaites la mme manipulation ensuite puis cliquez sur View. Vous aurez alors un visuel des donnes du fichier:
16/145
Vincent ISOZ
Ouvrons Tanagra:
17/145
Vincent ISOZ
18/145
Vincent ISOZ
Puis entrez un nom pour le diagramme (par exemple VisualisationDonnees) ensuite un nom et un chemin pour le fichier Tanagra (*.tdm: Tanagra Diagram) et enfin allez cherchez la source de donnes dans le champ Dataset comme visible sur la capture ci-dessus.
Depuis la catgorie des composants Components se trouvant dans la partie infrieure du logiciel, glissez l'oprateur nomm View dataset de la catgorie Data visualization:
et cliquez sur Execute. Refaites la mme manipulation ensuite puis cliquez sur View. Vous aurez alors un visuel des donnes du fichier:
19/145
Vincent ISOZ
20/145
Vincent ISOZ
Dans la bote de dialogue qui apparat, nous cliquons sur la partie gauche sur Complments et sur la partie droite sur Atteindre:
21/145
Vincent ISOZ
Viens alors la bote de dialogue des Macros complmentaires. Il faut cliquer sur le bouton Parcourir et allez chercher Tanagra.xla sur le chemin C:\Programmes\Tangra. Il faut ensuite valider trois fois par OK pour voir l'add-in Tanagra apparatre dans le ruban Complments:
22/145
Vincent ISOZ
et nous slectionnons la plage du tableau. Nous validons par OK ce qui va faire ouvrir Tanagra avec le datamart charg:
23/145
Vincent ISOZ
Nous faisons un clic droit sur cet slecteur pour aller dans les paramtres:
24/145
Vincent ISOZ
o nous avons slectionn la variable continue (d'o le C en bleu l'oppos des variables discrtes) et nous validons par OK. Ensuite nous rajoutons un oprateur Univariate continuous stat de l'onglet Statistics:
25/145
Vincent ISOZ
26/145
Vincent ISOZ
et nous allons dans ses paramtres pour choisir la variable discrte Facture Paye:
Nous validons par OK. Ensuite nous rajoutons un oprateur Univariate discrete stat de l'onglet Statistics:
27/145
Vincent ISOZ
Pour avoir:
28/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Concernant l'indice de Gini, nous avons dj tudi comme calculer ce dernier dans le cours de statistiques thorique sur plusieurs pages (que je ne souhaite pas reproduire ici).
29/145
Vincent ISOZ
Pour y ajouter un autre slecteur Define status et nous ajoutons l'oprateur More Univariate cont stat de l'onglet Statistics:
30/145
Vincent ISOZ
31/145
Vincent ISOZ
32/145
Vincent ISOZ
Nous souhaitons donc comparer si ces donnes suivent une loi Normale d'esprance et carttype estim sur l'chantillon. Pour cela, nous chargeons bien videmment le fichier *.xls comme dj vu plusieurs fois plus haut et nous avons alors:
33/145
Vincent ISOZ
et donc outre le test d'Agostino et de Lilliefors que nous n'avons pas dmontr en cours, nous retrouvons bien les valeurs pour les tests de Shapiro-Wilk ou d'Anderson-Darling.
34/145
Vincent ISOZ
et nous allons mettre des variables Input en entre qui nous sembleraient tre subjectivement facteurs d'influence des factures payes ou non:
35/145
Vincent ISOZ
Nous validons par OK. Nous y ajoutons un oprateur du type Group characterization depuis l'onglet Statistics:
36/145
Vincent ISOZ
pour avoir:
Dataset (Ventes.txt) View dataset 1 Define status 1 Univariate continuous stat 1 Define status 2 Univariate discrete stat 1 Define status 3 Group characterization 1
et enfin nous excutons cet oprteur et affichons les rsultats comme prcdemment:
Nous observons donc qu'en moyenne, le prix total avec rabais est moins lv (16'546.60) pour ceux qui payent les factures que pour ceux qui ne les paient pas. Il en est de mme pour les quantits. Le rsultat est peu surprenant
37/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Concernant la Test value (TV), il s'agit d'un indicateur permettant de comparer pour une variable continue la moyenne et pour une variable discrte la proportion. Dans le cas d'une variable continue cette valeur provient simplement d'un test Z de la moyenne:
overall overall
n
Mais avec le facteur de correctiond la population dmontr en cours, ce qui fait que la dernire relation devient:
Dans le cas d'un variable discrte, le test se fait sur la base des proportions vues aussi dans le cours thorique:
p p 1 p p n
p p N n N 1 1 p p n
Si au lieu de travailler avec les proportions, nous voulons travailler avec le comptage, un simple transformation nous amne :
p p N n N 1 1 p p n
38/145
Vincent ISOZ
contenant:
Nous l'importons dans Tanagra en utilisant la mme procdure que les exercices prcdents:
Nous y ajoutons un slecteur de type Define status comme pour les exemples prcdents:
39/145
Vincent ISOZ
40/145
Vincent ISOZ
Pour obtenir:
41/145
Vincent ISOZ
Nous obtenons donc toutes les valeurs vues dans le cours thorique.
42/145
Vincent ISOZ
43/145
Vincent ISOZ
Et dans les paramtres, nous allons mettre en tant que Input la variable cre par le composant Multiple linear regression et qui est Err_Pred_Imreg_1:
44/145
Vincent ISOZ
Nous ne rejettons donc pas l'hypothse nulle comme quoi les rsidus sont normalement distribus.
pour effectuer une rgression linaire ascendante (Forward Entry Selection) et comparer les rsultats par rapport ceux obtenus la mains dans MS Excel et ceux obtenus aussi dans Minitab 15 dans le cours thorique. Nous y ajoutons un slecteur de type Define status comme pour les exemples prcdents:
45/145
Vincent ISOZ
46/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Nous pouvons dans les paramtres de cet oprateur (comme pour Minitab) donner le niveau de seuil de rejet des coefficients que nous allons laisser 5%:
En excutant cet oprateur nous voyons que nous retrouvons bien que les coefficient C et B comme pour les calculs faits dans MS Excel et avec Minitab mais la diffrence que nous avons certaines informations en plus qui sont fort sympathiques d'abord dans le premier onglet Report:
47/145
Vincent ISOZ
et dans le deuxime onglet nous avons la matrice d'information (pourquoi pas...): Vincent ISOZ 48/145
pour effectuer une rgression linaire descendante (Backward Entry Selection) et comparer les rsultats par rapport ceux obtenus la mains dans MS Excel et ceux obtenus aussi dans Minitab 15 dans le cours thorique. Nous y ajoutons un slecteur de type Define status comme pour les exemples prcdents:
49/145
Vincent ISOZ
50/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Nous pouvons dans les paramtres de cet oprateur (comme pour Minitab) donner le niveau de seuil de rejet des coefficients que nous allons laisser 5%:
En excutant cet oprateur nous voyons que nous retrouvons bien que les coefficient C et B comme pour les calculs faits dans MS Excel et avec Minitab mais la diffrence que nous avons certaines informations en plus qui sont fort sympathiques d'abord dans le premier onglet Report:
51/145
Vincent ISOZ
et dans le deuxime onglet nous avons encore une fois la matrice d'information: Vincent ISOZ 52/145
avec en Input le champ X (en ralit peut importe lequel comme nous l'avons vu dans le cours thorique):
53/145
Vincent ISOZ
54/145
Vincent ISOZ
Ce qui outre le test t que nous n'avons pas dmontr dans le cours thorique, est parfaitement conforme aux calculs faits la main.
55/145
Vincent ISOZ
Nous l'importons dans Tanagra comme l'habitude et y mettons un slecteur Define status:
Dans les paramtres de celui-ci nous mettons le champ Status en Target (qui doit absolument tre une variable discrte binaire textuelle): Vincent ISOZ 56/145
et le Montant en Input:
N'oubliez pas d'excuter ce composant! Ensuite nous rajoutons l'oprateur Binary logistic regression du groupe Spv:
57/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) sans y changer les paramtres du composant nous l'excutons de suite:
Il vient alors aprs avoir fait un View aprs l'excution (les informations sont plus pertinentes que celles renvoyes par Minitab):
Avant d'aller plus loin nous voyons dans la matrice de confusion que sur les 91 bon dbiteurs (correspondant ici au statut: Non) qu'il y avait dans la liste d'origine, le modle en prdit 19 comme tant mauvais dbiteurs et 72 comme tant bons. La mme lecture est valable pour les 45 mauvais dbiteurs. Si videmment le modle tait parfait, la matrice de confusion serait diagonale. Continuons avec les captures d'cran de l'onglet Report:
58/145
Vincent ISOZ
Ici il n'y a pas grand chose dire puisque nous n'avons pas encore tudi ces indicateurs dans le cours thorique mais celui du khi-2 est cependant un classique dont l'interprtation ne souffre d'aucun doute sur la conclusion du modle. Enfin, toujours dans le mme onglet Report et pour finir:
59/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Nous voyons que contrairement Minitab et Excel les signes des coefficients sont inverss mais c'est juste une convention dans le choix de distribuer les signe "-" prsent dans l'exponentielle du modle logistique l'intrieur de la parenthse. Et nous avons dans le deuxime onglet la Covariance matrix:
60/145
Vincent ISOZ
Exercice 15.: Lift Curve et ROC Curve (sur rgression logistique binaire)
Tanagra V1.4.44 Le but va tre ici de vrifier que nous retrouvons la mme forme de Lift Curve et ROC Curve (Receiver Operating Characteristic) que celles obtenues la main avec MS Excel dans le cours thorique pour la rgression logistique (mais le principe est toujours le mme). Pour cela nous ajoutons d'abord le composant Scoring du groupe Scoring:
Afin d'avoir:
nous disons que nous allons nous intresser aux dbiteurs risque:
61/145
Vincent ISOZ
Une fois ceci fait, il ne sert rien dans l'tat prsent. Il faut lui ajouter un slecteur Define satut:
nous prenons:
Pour obtenir un rapport en deux onglets dont le premier contient: Vincent ISOZ 64/145
et le deuxime onglet contient simplement un trac de la colonne TP-Rate (TP=True Positive) en fonction de la Target-Size: Vincent ISOZ 65/145
Nous pouvons observer qu'aussi bien le TP-Rate que la courbe Lift sont errones par rapport au calcul la main et Minitab+SPSS! Aprs tude du code source de Tanagra de ma part il semblait qu'il y ait une erreur de codage car ce que fait ci-dessus Tanagra c'est qu'il ne nous montre que des multiples du ratio 1/45. Je pense que cette erreur vient du fait qu' la base le dveloppeur n'a peut-tre pas pens que l'on pourrait avoir des trs nombreux doublons dans la population d'origine. Donc pour l'instant utilisez Minitab/SPSS ou autre... Enfin, nous rajoutons le composant Roc curve du groupe Scoring:
66/145
Vincent ISOZ
67/145
Vincent ISOZ
et le deuxime onglet:
68/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Nous pouvons observer qu'aussi bien le TP-Rate que le FP-Rate que la courbe ROC sont errones par rapport au calcul la main et Minitab+SPSS! Aprs tude du code source de Tanagra de ma part il semblait qu'il y ait une erreur de codage car ce que fait cidessus Tanagra c'est qu'il ne nous montre encore une fois que des multiples du ratio 1/45. Je pense que cette erreur vient du fait qu' la base le dveloppeur n'a peut-tre pas pens que l'on pourrait avoir des trs nombreux doublons dans la population d'origine. Donc pour l'instant utilisez Minitab/SPSS ou autre...
69/145
Vincent ISOZ
que nous allons devoir redisposer de la manire suivant pour Tanagra (ce qui est la structure conforme du Data Mining):
70/145
Vincent ISOZ
71/145
Vincent ISOZ
72/145
Nous voyons que les sorties correspondent ce que nous avons calcul dans le cours thorique. Il manque cependant l'intervalle de confiance qui est important dans la pratique. C'est dommage...
73/145
Vincent ISOZ
L encore il manque l'intervalle de confiance mais ce qui est sympathique que les d.f. ne sont pas arrondis et que nous tombons exactement sur les degrs de liberts obtenus avec l'quation de WelchSatterthwaite dmontre en cours.
74/145
Vincent ISOZ
qui contient les mmes donnes que celles vues dans le cours thorique:
75/145
Vincent ISOZ
Nous l'importons dans Tanagra en utilisant la mme procdure que les exercices prcdents:
Nous y ajoutons un slecteur de type Define status comme pour les exemples prcdents:
76/145
Vincent ISOZ
77/145
Vincent ISOZ
ce qui donnera:
78/145
Vincent ISOZ
79/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Nous voyons que nous obtenons la mme chose que dans le cours thorique la diffrence que l'arbre s'arrte plus tt.
80/145
Vincent ISOZ
81/145
Vincent ISOZ
avec en Target:
et en Input:
82/145
Vincent ISOZ
Ensuite nous rajoutons le slecteur Select first examples du groupe Instance selection:
Nous prenons les 60 premires lignes du fichier comme donnes d'entranement (choix un peu arbitraire):
83/145
Vincent ISOZ
Nous voyons que le classificateur est trs bon. Pour avoir le dtail, nous ajoutons l'oprateur View Data Set du groupe Data visualization:
84/145
Vincent ISOZ
et nous l'excutons pour avoir les dtails des prdictions (nous avons mis en vidence l'un deux ceux qui est mal prdit):
Maintenant injectons pour y mettre un jeu de test, nous remettons un oprateur de slection Define Status:
avec en Target:
85/145
Vincent ISOZ
et en Input:
Ensuite, nous rajoutons l'oprateur Test du groupe Spv learning assessment (nous aurions pu faire la mme chose pour la rgression logistique mais ayant l'quation explicite c'tait moins utile alors que l c'est trs utile!):
86/145
Vincent ISOZ
Nous prenons Unselected ce qui prendra les 150-60=90 donnes restantes. Et nous excutons pour obtenir:
Et nous rajoutons un composant View Dataset pour voir comment les donnes de test (ou donnes nouvelles) sont classes:
Nous pouvons aussi rajouter un oprateur Train Test du groupe Spv learning assessment:
87/145
Vincent ISOZ
88/145
Vincent ISOZ
89/145
Vincent ISOZ
pour vrifier qu'il contient bien les donnes utilises lors du cours thorique:
Ensuite, nous ouvrons Tanagra et cration un nouveau projet bas sur ce fichier MS Excel: Vincent ISOZ 90/145
Ce qui donnera:
Nous voulons faire un K-Means sur les revenus et la Surface donc nous prenons le slecteur Define status o nous mettons en Input les deux variables clusteriser:
91/145
Vincent ISOZ
92/145
Vincent ISOZ
93/145
Vincent ISOZ
94/145
Vincent ISOZ
Et nous retrouvons bien les rsultats obtenus avec MS Excel et Minitab. Cependant nous souhaiterions un peu plus de dtails avec Minitab. Pour cela, nous rajoutons un composant View dataset que nous excutons et visualisons:
95/145
Vincent ISOZ
Nous avons alors sur la droite exactement le mme tableau que celui obtenu avec MS Excel ou Minitab pour montrer quels individus appartiennent quel Cluster. Maintenant regardons les caractristiques de groupes (c'est partir de Maintenant que le logiciel est bien plus efficace que les autres). Nous ajoutons un composant Define status avec en Target les clusters:
96/145
Vincent ISOZ
97/145
Vincent ISOZ
98/145
Vincent ISOZ
Au vu des rsultats, nous nous rendons compte qu'il aurait t peut-tre plus malin de laisser la colonne Propritaire dans le fichier d'origine afin d'avoir une caractrisation utilisant ce group pouvant peut-tre aider la conclusion... Pour finir, ajoutons un oprateur Scatterplot:
99/145
Vincent ISOZ
et nous voyons bien comment sont composs les 3 clusters. Si jamais pour grossir les points il faut aller dans le menu Component:
100/145
Vincent ISOZ
Nous importons cette liste comme l'habitude dans Tanagra (la mthode tant toujours la mme). Nous mettons le slecteur Define status:
avec comme Target la colonne Formes (car c'est ce que nous voulons deviner):
101/145
Vincent ISOZ
et comme Input les trois autres champs (peut importe l'ordre d'insertion):
102/145
Vincent ISOZ
pour mettre:
et en faisons un View:
Pour obtenir exactement les rsultats correspondant ceux calculs la main: 103/145
Vincent ISOZ
Dommage qu'il n'y ait pas de diagramme cependant... cela aiderait la comprhension.
104/145
Vincent ISOZ
Nous l'importons dans Tanagra comme l'habitude et lui ajoutons le slecteur Define status:
105/145
Vincent ISOZ
Nous cliquons sur l'onglet Dendrogram et apparat alors le mme diagramme que celui obtenu avec les calculs manuels l'exception des valeurs de l'axe vertical (la diffrence venant juste d'une convention):
106/145
Vincent ISOZ
Si l'on reste appuy avec le bouton gauche de la souris sur chaque point, nous retrouvons les nom des lignes de la liste d'origine.
107/145
Vincent ISOZ
Exceptionnellement nous allons faire l'analyse avec RapidMiner car la sortie de Tanagra n'est pas agrable du tout et l'interprtation pour l'usage pratique peu adapte. Donc nous ouvrons RapidMiner:
108/145
Vincent ISOZ
contenant:
Nous l'importons dans Tanagra en utilisant la mme procdure que les exercices prcdents:
Nous y ajoutons un slecteur de type Define status comme pour les exemples prcdents: 109/145
Vincent ISOZ
110/145
Vincent ISOZ
111/145
Vincent ISOZ
afin d'avoir:
Dataset (ANOVA.xls) Define status 1 One-way ANOVA 1
et on excute et affichons le rsultats comme dans les exemples prcdents pour avoir au final:
112/145
Vincent ISOZ
Nous retrouvons exactement les mmes chiffres que dans les autres cours donc il nous avons les mmes conclusions.
Nous importons comme l'habitude dans Tanagra et mettons le slecteur Define Status:
et dans les paramtres nous mettons uniquement tous les champs en Input:
Ensuite, nous ajoutons le composant Friedman's ANOVA by rank sans rien changer ni paramtrer: 113/145
Vincent ISOZ
Soit les mmes valeurs que dans le cours thorique et dans Minitab15.
114/145
Vincent ISOZ
contenant:
Nous l'importons dans Tanagra en utilisant la mme procdure que les exercices prcdents:
Nous y ajoutons un slecteur de type Define status comme pour les exemples prcdents:
Dataset (ANOVA.xls) Define status 1
115/145
Vincent ISOZ
116/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Ensuite, nous ajoutons l'oprateur Levene's test du groupe Statistics et la visualisons:
pour obtenir:
Nous obtenons la mme chose que les calculs faits la main! Et pour Brown-Forsythe nous effectuons pareil en ajoutant l'oprateur Brown-Forsythe's test:
117/145
Vincent ISOZ
Soit le mmes rsultats que ceux faits la main et dans Minitab (mais avec moins de dtails: sans les IC).
118/145
Vincent ISOZ
119/145
Vincent ISOZ
120/145
Vincent ISOZ
Ensuite, nous ajoutons l'oprateur Principal Component Analysis du groupe Factorial Analysis:
121/145
Vincent ISOZ
Donc nous retrouvons bien la trace de valeur 3.00 et la moyenne de 1.00. Ensuite pour la suite Tanagra donne:
122/145
Vincent ISOZ
La aussi nous retrouvons les donnes calcules la main. La suite donne par Tanagra:
n'a pas t tudie en cours (excepte la valeur numrique des trois valeurs propres bien videmment!). Ensuite Tanagra donne les saturations et les score de ce qui est normalement sujet de l'Analyse Factorielle sans rotation. Nous reviendrons l-dessus avec l'exemple que nous avions tudi dans le cours thorique pour l'Analyse Factorielle:
123/145
Vincent ISOZ
Ensuite Tanagra donne la matrice des corrlations que nous avions calcule (bien videmment obligatoirement) dans le cours thorique avec les mmes valeurs:
Ensuite Tanagra donne les corrlations partielles (mais cela n'est normalement pas directement lie l'A.C.P.). donc nous ne l'avions pas calcul dans le cours thorique, nous le mettrons donc de ct:
et il vient automatiquement les deux tracs triviaux suivants qui sont donns par Tanagra:
124/145
Vincent ISOZ
Il est possible d'accder directement aux donnes calcules, c'est--dire les projections dans le nouvel espace (calcul laborieux que nous n'avons pas fait dans le cours thorique). En effet, le composant ACP rajoute automatiquement une srie de variables l'ensemble de donnes. Il s'agit, pour chaque individu et pour chaque axe demand, des projections sur les axes, des contributions et des cos. Pour visualiser le tableau de donnes associ, nous plaons dans le diagramme le composant View Dataset du groupe Data visualization
125/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) La popularit de l'ACP repose en grande partie sur les reprsentations graphiques qu'elle propose. Elles nous permettent d'apprcier visuellement les proximits entre les observations. Dans notre cas, nous projetons les observations dans le premier plan factoriel. Nous voulons associer les identifiants aux points. Nous utilisons pour cela le composant SCATTERPLOT WITH LABEL (onglet DATA VISUALIZATION) que nous plaons en dessous de l'ACP. Nous le paramtrons de manire avoir en abscisse le premier facteur, en ordonne le second facteur.
Notons qu'il est trs ais avec Tanagra de passer d'un plan factoriel un autre:
Il est possible de modifier la taille des tiquettes avec les raccourcis CTRL+Q et CTRL+W. Nous voyons que nous retrouvons la mme forme de graphique au niveau visuel que celle obtenue dans le cours thorique mais les donnes ne sont pas centres rduites (du moins a priori). Le graphique a cependant exactement les mmes valeurs que celui sorti par le logiciel Minitab.
126/145
Vincent ISOZ
dans Tanagra:
Nous ajoutons le composant de slection Define Status et mettons en Input les trois variables: Vincent ISOZ 127/145
et c'est maintenant qu'intervient une petite subtilit de Tanagra: Si nous voulons retrouver les valeurs calcules en cours la main et conformes au modle mathmatique sans rotation, nous devons utiliser le composant Principal Component Analysis:
et pour tre conforme l'exemple particulier que nous avons vu dans le cours thorique, mettre les paramtres suivants:
128/145
Vincent ISOZ
valeurs des valeurs propres identiques celles calcules en cours. Ensuite, nous avons tout en bas les deux tableaux qui nous intressent:
129/145
Vincent ISOZ
o nous retrouvons bien les saturations calcules la main dans le cours thorique au signe prs (mises en vidence en rouge et nommes pour rappel en anglais "loadings"). Et le dernier tableau:
n'est pas contre pour les deux dernires colonnes pas conforme ce que nous avons calcul manuellement dans le cours thorique ni conforme ce que nous renvoie le logiciel Minitab.
130/145
Vincent ISOZ
pour obtenir:
131/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Tanagra donne en-dessous le tableau des saturations sans rotation (tableau obtenu lors de l'exercice prcdent!):
132/145
Vincent ISOZ
Exercice 30.: Rgression (linaire) des moindres carrs partiels (rgression linaire PLS univarie: PLS1)
Tanagra V1.4.48 Le but va tre ici de vrifier si nous obtenons ou pas les rsultats des calculs vu dans le cours thorique lors de la lecture du l'ouvrage de M. Tenenhaus1 sur la rgression PLS univarie (PLS1), c'est--dire la rgression sur des variables explicatives corrles avec une unique variable expliquer. Nous utiliserons donc les donnes suivantes:
Michel Tenenhaus, Rgression PLS, dition Technip, ISBN 2-7108-0735-1, Pages 75-83
133/145
Vincent ISOZ
et allons dans les paramtres pour prendre que deux variables intermdiaire:
134/145
Vincent ISOZ
On retrouve bien les mmes coefficients non normaliss que dans Minitab ou que ceux calculs la main.
135/145
Vincent ISOZ
Nous allons dans le menu Component et nous cliquons sur Copy results:
136/145
Vincent ISOZ
nous retrouvons donc bien les donnes textes mais par contre nous perdons les donnes visuelles comme les barre de donnes de l'histogramme. Heureusement cela peut tre vite reproduit. Maintenant, reprenons l'Exercice 19.: K-NN (K nearest neighbors) Tanagra V1.4.48 Nous avons vu en cours l'approche des k plus proches voisins. Nous allons appliquer ici ce qui a t prsent en cours avec le fichier Excel des fleurs d'Iris
137/145
Vincent ISOZ
avec en Target:
138/145
et en Input:
Ensuite nous rajoutons le slecteur Select first examples du groupe Instance selection:
139/145
Vincent ISOZ
Nous prenons les 60 premires lignes du fichier comme donnes d'entranement (choix un peu arbitraire):
140/145
Vincent ISOZ
Nous voyons que le classificateur est trs bon. Pour avoir le dtail, nous ajoutons l'oprateur View Data Set du groupe Data visualization:
et nous l'excutons pour avoir les dtails des prdictions (nous avons mis en vidence l'un deux ceux qui est mal prdit):
141/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Maintenant injectons pour y mettre un jeu de test, nous remettons un oprateur de slection Define Status:
avec en Target:
et en Input:
142/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Ensuite, nous rajoutons l'oprateur Test du groupe Spv learning assessment (nous aurions pu faire la mme chose pour la rgression logistique mais ayant l'quation explicite c'tait moins utile alors que l c'est trs utile!):
Nous prenons Unselected ce qui prendra les 150-60=90 donnes restantes. Et nous excutons pour obtenir:
Et nous rajoutons un composant View Dataset pour voir comment les donnes de test (ou donnes nouvelles) sont classes:
143/145
Vincent ISOZ
Nous pouvons aussi rajouter un oprateur Train Test du groupe Spv learning assessment:
144/145
Vincent ISOZ
145/145
Vincent ISOZ
TANAGRA (Ricco RAKOTOMALALA) Nous mettons le composant Export Datasetdu groupe Data visulaziation en prenant bien soir de la mette aprs un slecteur Define status:
Dataset (KM eans.xls) Define status 1 K-M eans 1 View dataset 1 Define status 2 Group characterization 1 Export dataset 1 Scatterplot 1
Une fois que nous l'excutons en faisant un double clic dessus, nous obtenons un fichier *.txt dans le dossier du fichier Tanagra:
146/145
Vincent ISOZ