Conférencier | Transcription |
| Mia Stephens | Bienvenue au JMP Discovery Summit. Je m'appelle Mia Stephens et je suis chef de produit JMP. Et je suis accompagné de Jordan Hiller, qui est ingénieur système. Et aujourd'hui, nous allons parler d'automatisation du flux de travail de curation des données. |
| Et ceci est le résumé juste pour référence; Je ne vais pas en parler. |
| Et nous allons diviser ce discours en deux parties. Je vais le lancer et parler du flux de travail analytique |
| et parler de création de données, ce que nous entendons par curation de données. Et nous allons voir comment identifier les problèmes potentiels de qualité des données dans vos données. |
| Et puis je vais céder la parole à Jordan, et Jordan va parler du besoin de reproductibilité. |
| Il va partager avec nous une feuille de triche pour la conservation des données et montrer comment ... comment organiser vos données dans JMP. |
| l'enregistreur d'actions et le journal amélioré. |
| Parlons donc du flux de travail analytique. |
| Tout commence par un problème commercial que nous essayons de résoudre. |
| Et bien sûr, nous devons compiler des données, et vous pouvez compiler des données à partir d'un certain nombre de sources différentes et les importer dans un JMP. |
| Et à la fin, nous devons être en mesure de partager les résultats, de communiquer nos découvertes aux autres. Parfois, il s'agit peut-être d'un projet ponctuel, |
| mais souvent nous avons une analyse que nous allons répéter. Donc, une question fondamentale abordée par cet exposé est la suivante: pouvez-vous facilement reproduire vos résultats? |
| Les autres peuvent-ils reproduire vos résultats? Ou, si vous avez de nouvelles données ou, si vous avez des données mises à jour, pouvez-vous facilement répéter votre analyse, et en particulier, les étapes de curation des données sur ces nouvelles données? C'est donc ce que nous abordons dans cette conférence. |
| Mais qu'est-ce que la curation des données exactement? |
| Et pourquoi devons-nous nous en préoccuper? |
| Eh bien, la conservation des données consiste à s'assurer que nos données sont utiles pour conduire des découvertes analytiques. Fondamentalement, nous devons être en mesure de résoudre les problèmes que nous essayons de résoudre. |
| Et il s'agit en grande partie de l'organisation des données, de la structure des données et du nettoyage des données. |
| Si vous pensez aux problèmes que nous pourrions rencontrer avec les données, ils ont tendance à se classer dans quatre catégories générales |
| il se peut que vous ayez un formatage incorrect, des données incomplètes, des données manquantes ou des données sales ou désordonnées. |
| Et pour nous aider à parler de ces problèmes, nous allons emprunter du contenu à STIPS. Et si vous n'êtes pas familier avec STIPS, STIPS est notre cours gratuit, Pensée statistique pour la résolution de problèmes industriels. |
| Et c'est un cours basé sur sept modules indépendants, et le deuxième module est l'analyse exploratoire des données. |
| Et en raison de la nature itérative et interactive de l'analyse exploratoire des données et de la conservation des données, la dernière leçon de ce modèle ... dans ce module est appelée Préparation des données pour l'analyse, nous empruntons donc beaucoup à cette leçon tout au long de cette conférence. |
| Décomposons chacun de ces problèmes. Formatage incorrect. Qu'entend-on par formatage incorrect? Eh bien, c'est lorsque vos données sont sous la mauvaise forme ou le mauvais format pour l'analyse. Cela peut s'appliquer à la table de données dans son ensemble. Ainsi, par exemple, vous pourriez avoir |
| appelé ... données stockées dans des colonnes séparées, mais vous avez en fait besoin des données stockées dans une colonne. |
| Ou il se peut que vous ayez vos données dans des tables de données séparées et que vous deviez soit concaténer, soit mettre à jour, soit joindre les tables de données ensemble. |
| Il peut concerner des variables individuelles. Ainsi, par exemple, vous pourriez avoir le mauvais type de modélisation. Ou vous pouvez avoir des dates dans votre table de données, donc vous pouvez avoir des colonnes de dates et elles peuvent ne pas être formatées en jours, de sorte que l'analyse peut ne pas reconnaître qu'il s'agit de ... ce sont des données de date. |
| Le formatage peut également être cosmétique. Ainsi, par exemple, si vous avez affaire à une table de données volumineuse, vous pouvez avoir de nombreuses colonnes ... |
| vous pourriez avoir des noms ... des noms de colonnes qui ne sont pas vraiment reconnaissables que vous voudrez peut-être changer. |
| Vous pourriez avoir beaucoup de colonnes que vous voudrez peut-être regrouper pour le rendre un peu plus gérable. |
| Votre colonne de réponse peut être à la toute fin de la table de données et vous voudrez peut-être la déplacer vers le haut. Ainsi, les problèmes esthétiques n'entraveront pas nécessairement votre analyse, mais si vous pouvez résoudre certains de ces problèmes, vous pouvez rendre votre analyse un peu plus facile. |
| Les données incomplètes se produisent lorsque vous manquez de données. Cela peut être un manque de données sur des variables importantes. Ainsi, par exemple, vous n'avez peut-être pas capturé de données sur des variables fondamentales pour résoudre le problème. Cela pourrait également être un manque de données sur une combinaison de variables. |
| Ainsi, par exemple, vous ne disposez peut-être pas de suffisamment d'informations pour estimer une interaction. |
| Ou vous pouvez avoir une variable cible qui vous intéresse et qui est déséquilibrée, vous pourriez donc étudier quelque chose comme des défauts. Ce n'est peut-être que 5% de vos observations |
| sont pour des défauts et vous pourriez ne pas avoir assez de données, car vous savez, vous pourriez n'avoir qu'un très petit sous-ensemble de vos données |
| où le défaut est présent. Vous ne disposez peut-être pas de suffisamment de données pour vous permettre de comprendre les causes potentielles des défauts. Vous n'avez peut-être pas non plus une taille d'échantillon suffisamment grande, de sorte que vous n'avez tout simplement pas assez de données pour avoir de bonnes estimations. |
| Les données manquantes se produisent lorsque vous manquez des valeurs pour des variables, et cela peut prendre plusieurs formes différentes. |
| Si vous manquez des données et des données ... le manque n'est pas aléatoire, cela peut poser un problème sérieux, vous pouvez donc avoir des estimations biaisées. |
| Si vous manquez des données complètement au hasard, cela peut ne pas être un problème si vous ne manquez que quelques observations, mais si vous manquez beaucoup de données, cela peut être problématique. |
| Les données sales et désordonnées se produisent lorsque vous avez des problèmes avec des observations ou avec des variables. Donc, vous pourriez avoir des valeurs incorrectes, les valeurs sont tout simplement fausses. |
| Vous pourriez avoir des incohérences. Ainsi, par exemple, vous pourriez avoir des fautes de frappe ou des erreurs typographiques lorsque les gens saisissent les choses différemment. |
| Les valeurs peuvent être inexactes. Ainsi, par exemple, vous pourriez avoir des problèmes avec votre système de mesure. Il peut y avoir des erreurs, des fautes de frappe, les données peuvent être obsolètes. |
| Les données obsolètes sont lorsque vous avez des données sur, par exemple, une installation ou une machine qui n'est plus en service. |
| Les données peuvent être obsolètes, vous pouvez donc avoir des données remontant à une période de deux ou trois ans, mais le processus a peut-être changé quelque part au cours de cette période, |
| ce qui signifie que ces données historiques pourraient ne pas être pertinentes pour le processus actuel tel qu'il se présente aujourd'hui. Vos données peuvent être censurées ou tronquées. |
| Vous pouvez avoir des colonnes redondantes, qui sont des colonnes contenant essentiellement les mêmes informations. Ou vous pourriez avoir des observations en double. |
| Les données sales ou désordonnées peuvent prendre de nombreuses formes différentes. |
| Alors, comment identifiez-vous les problèmes potentiels? |
| Eh bien, un bon point de départ est d'explorer vos données et, en fait, l'identification des problèmes vous conduit à l'exploration puis à l'analyse des données. Et lorsque vous commencez à explorer vos données, vous commencez à identifier les éléments qui pourraient vous causer des problèmes dans votre analyse. |
| Donc, un bon point de départ est d'analyser la table de données à la recherche de problèmes évidents. |
| Nous allons donc utiliser un exemple tout au long de cette conférence appelé Composants, et ceci est un exemple du cours STIPS |
| lorsqu'une entreprise produit de petits composants et qu'elle a un problème de rendement. Donc les données ont été collectées, il y a 369 lots. Il y a 15 caractéristiques qui ont été capturées, et nous voulons utiliser ces données pour nous aider à comprendre les causes profondes potentielles d'un faible rendement. |
| Donc, si nous commençons à examiner le tableau de données lui-même, il y a des indices sur les types de problèmes de qualité des données que nous pourrions avoir. Et un très bon point de départ, (et cela a été ajouté dans JMP 15) |
| est est des graphiques d'en-tête. J'adore les graphiques d'en-tête. Ce qu'ils font, c'est que si vous avez une variable continue qui vous montre un histogramme, vous pouvez donc voir le centrage, la forme et l'étalement de la distribution. |
| Ils vous montrent également la plage des valeurs. Si vous avez des données catégorielles, il vous montrera un graphique à barres avec des valeurs pour les barres les plus peuplées. Jetons donc un coup d'œil à certains d'entre eux. Je vais commencer par le numéro de lot. Le numéro de lot montre donc un histogramme et sa forme est en fait uniforme. |
| Le lot numérote quelque chose qui est probablement un identifiant, donc dès le départ, je peux voir que ces données sont probablement mal codées. |
| Je peux voir que cette distribution est très biaisée et que je peux également voir que la valeur la plus basse est -6, ce qui peut me conduire à poser des questions sur la faisabilité d'avoir un nombre de rebut négatif. |
| Le processus en est un autre. J'ai essentiellement deux barres et cela me montre en fait un histogramme avec seulement deux valeurs. |
| Et pendant que je regarde ces graphiques en colonnes, ces graphiques d'en-tête, je peux regarder le panneau de colonnes, |
| et il est assez facile de voir que, par exemple, le numéro de lot, le numéro de pièce et le processus sont tous codés en continu. Lorsque vous importez des données dans JMP, si JMP voit des nombres, il codera automatiquement ces colonnes comme numérique continu. Ce sont donc des choses que nous pourrions vouloir changer. |
| Nous pouvons également regarder les données elles-mêmes. Ainsi, par exemple, lorsque je regarde l'humidité (et le contexte est vraiment important lorsque vous regardez vos données), l'humidité est quelque chose que nous considérons comme des données continues. |
| Mais j'ai quelques champs ici où j'ai N / A. |
| Si vous avez des données alphanumériques, si vous avez des données texte dans une colonne numérique, la colonne sera codée comme nominale lorsque vous tirerez les données dans JMP. C'est donc quelque chose d'emblée que nous voyons que nous allons devoir corriger. |
| Et je peux aussi parcourir les autres colonnes. Ainsi, par exemple, Fournisseur, je vois qu'il me manque certaines valeurs. Lorsque vous extrayez des données dans JMP, s'il y a |
| cellules vides pour les données catégorielles, nous savons qu'il nous manque des valeurs. Je peux voir qu'il y a certaines entrées, pour lesquelles nous ne sommes pas cohérents ... pas cohérents dans la manière dont les données ont été saisies. |
| Je reçois donc de sérieux indices sur certains problèmes potentiels avec mes données. |
| remarquez tous les points. La température est une variable continue et là où je vois des points, cela indique qu'il me manque des valeurs. Donc, la température est quelque chose de vraiment important pour mon analyse, cela pourrait être problématique. |
| Une extension naturelle de ceci est de commencer à explorer les données, une variable à la fois. L'un de mes outils préférés lorsque je veux commencer par regarder des données est la visionneuse de colonnes. Et le visualiseur de colonnes nous donne des résumés numériques pour les variables que nous avons sélectionnées. |
| S'il nous manque des valeurs, il y aura une colonne N manquante. Et ici, je peux voir qu'il me manque 265 des 369 valeurs de température, donc ceci, c'est un écart sérieux ici si nous pensons que la température va être importante dans l'analyse. |
| Je peux aussi voir si j'ai des valeurs étranges. Donc, quand je regarde des choses comme Mins and Maxes pour le nombre de rebuts et le taux de rebut, j'ai des valeurs négatives. Et si ce n'est pas faisable, alors j'ai un problème avec les données ou le système de collecte de données. |
| Il est également assez facile de voir une erreur de codage des variables. Ainsi, par exemple, l'établissement et le numéro de lot, qui devraient probablement être codés comme étant nominaux, indiquaient une moyenne et l'écart type. |
| Et une bonne façon d'y penser est, s'il n'est pas physiquement possible d'avoir un numéro de lot moyen ou (le numéro de pièce était l'autre variable) ou un numéro de pièce, alors ceux-ci devraient être changés en variables nominales, au lieu de continues. |
| Les distributions sont le prochain endroit où je vais lorsque je me familiarise pour la première fois avec mes données. |
| Et les distributions, si vous disposez de données continues, vous permettent de comprendre la forme, le centrage et la répartition de vos données, mais vous pouvez également voir si vous avez des valeurs inhabituelles. |
| Pour les données catégorielles, vous pouvez également voir le nombre de niveaux dont vous disposez. Ainsi, par exemple, le numéro de client. Si le numéro de client est une variable importante ou potentiellement importante, |
| J'ai beaucoup de niveaux ou de valeurs pour le numéro de client. Lorsque je prépare les données, je pourrais vouloir les combiner en quatre ou cinq seaux avec une autre catégorie pour les clients pour lesquels je n'ai pas vraiment beaucoup de données. |
| Humidité. Nous voyons le problème d'avoir N / A dans la colonne. Nous voyons un graphique à barres au lieu d'un histogramme. |
| Nous pouvons facilement voir ce que nous recherchions dans les données du fournisseur. Par exemple, Cox Inc et Cox, Anderson orthographié de trois manières différentes, Hersh s'écrit de trois manières différentes. |
| Pour la vitesse, notez pour la vitesse que nous avons une distribution en monticule qui va d'environ 60 à 140 mais, tout en bas, nous voyons qu'il y a une valeur ou deux |
| c'est assez proche de zéro, et c'est peut-être ... c'est peut-être une erreur de saisie de données, mais c'est certainement quelque chose que nous voudrions étudier. |
| Une extension de ceci est de commencer à regarder vos données deux variables à la fois. Ainsi, par exemple, à l'aide de Graph Builder ou de nuages de points. |
| Et lorsque vous regardez les variables deux à la fois, vous pouvez voir des modèles et vous pouvez plus facilement voir des modèles inhabituels qui croisent plus d'une variable. |
| Ainsi, par exemple, si je regarde le taux de rebut et le nombre de rebuts, je vois que j'ai des bandes. Et il se peut que vous ayez quelque chose dans votre table de données qui puisse expliquer ce modèle. |
| Et dans ce cas, le baguage est attribué à différentes tailles de lots, donc cette bande violette est l'endroit où j'ai une taille de lot de 5000. |
| Et j'ai beaucoup plus d'opportunités pour la ferraille avec une taille de lot plus grande que pour une taille de lot plus petite. Cela peut donc avoir un sens, mais je vois aussi quelque chose qui n'a pas de sens. Ces deux valeurs ici dans la plage négative. |
| Il est donc assez facile de les voir lorsque je regarde des données en deux dimensions. |
| Je peux ajouter une dimensionnalité supplémentaire à mes graphiques en utilisant des sélecteurs de colonne et des filtres de données. |
| Cela m'amène également à analyser le potentiel, donc je serais peut-être intéressé à comprendre quels sont les x qui pourraient être importants, qui pourraient être liés au taux de rebut. |
| Et en même temps, examinez les problèmes de qualité des données ou les problèmes potentiels. Donc, pour le taux de rebut, il semble qu'il y ait une relation positive entre la pression et le taux de rebut. |
| ne semble pas qu'il y ait trop de relation. Taux de rebut par rapport à la température, c'est assez plat, donc il ne se passe pas grand chose ici. |
| Mais remarquez la vitesse. Il y a une relation négative, mais en haut, je vois ces deux valeurs; la seule valeur que j'ai vue sur l'histogramme, mais il y a une deuxième valeur qui semble se démarquer. |
| Il se peut donc que cette valeur autour de 60 soit simplement une valeur aberrante, mais cela pourrait être un point valide. Je me demanderais probablement si ce point ici près de 0 est valide ou non. |
| Nous avons donc examiné le tableau de données. Nous avons examiné les données une variable à la fois. Nous avons examiné les données deux variables à la fois, et tout cela s'inscrit parfaitement dans l'exploration des données et nous conduit à l'analyse. |
| Il existe des outils plus avancés que nous pourrions utiliser (par exemple, explorer les valeurs aberrantes, explorer les données manquantes) qui dépassent le cadre de ce cours ou de cet exposé. |
| Et lorsque vous commencerez à analyser vos données, vous identifierez probablement des problèmes supplémentaires. Donc, par exemple, si vous avez beaucoup de catégories de variables catégorielles |
| et vous essayez d'adapter une interaction dans un modèle de régression, vous savez que JMP vous avertira que vous ne pouvez pas vraiment faire cela. Ainsi, lorsque vous commencez à analyser les données, tout ce processus est itératif et vous identifierez les problèmes potentiels tout au long du processus. |
| Une clé est que vous souhaitez prendre note des problèmes que vous rencontrez lorsque vous consultez vos données. Et certains d'entre eux peuvent être |
| corrigés au fur et à mesure, afin que vous puissiez masquer et exclure des valeurs, vous pouvez remodeler, vous pouvez nettoyer à nouveau vos données au fur et à mesure, mais vous pouvez décider que vous devez collecter de nouvelles données. Vous voudrez peut-être mener un DOE afin d'avoir plus confiance dans les données elles-mêmes. |
| Si vous savez que vous allez répéter cette analyse ou que quelqu'un d'autre voudra répéter cette analyse, |
| alors vous allez vouloir vous assurer que vous capturez vos pas que vous prenez afin que vous ayez la reproductibilité. Quelqu'un d'autre peut reproduire vos résultats, ou vous pouvez répéter votre analyse plus tard. Alors c'est là que je vais céder la parole à Jordan, et Jordan va |
| Parlez de la conservation des données reproductibles. |
| Jordan Hiller | D'accord, merci, Mia. |
| Bonjour, je suis Jordan Hiller. Je suis ingénieur système pour JMP. Examinons un peu et parlons un peu plus de la reproductibilité |
| pour la conservation de vos données. |
| Mia a très bien présenté cette idée, mais donnons quelques détails supplémentaires. L'idée ici est que nous voulons pouvoir ré-performer facilement |
| toutes nos étapes de conservation que nous utilisons pour préparer nos données pour l'analyse, et il y a trois avantages principaux que je vois à faire cela. Le premier est l'efficacité. Si vous devez ... si vos données changent et que vous devez rejouer ces étapes de conservation sur de nouvelles données à l'avenir, |
| il est beaucoup plus efficace de l'exécuter une fois avec un script en un clic que de recommencer toutes vos activités pointer-cliquer. La précision est le deuxième avantage. Le pointer-cliquer peut être sujet à des erreurs, et en en faisant un script, vous garantissez une reproduction fidèle. |
| Et enfin, la documentation, qui est peut-être sous-estimée. Si vous avez un script, il documente les étapes que vous |
| pris. C'est un fil d'Ariane que vous pourrez revisiter plus tard quand, inévitablement, vous devrez revisiter ce projet et vous rappeler, qu'est-ce que j'ai fait pour préparer ces données? |
| Avoir ce script est d'une grande aide. Alors aujourd'hui, nous allons faire une étude de cas. Je vais vous montrer comment générer l'un de ces scripts de curation de données reproductibles |
| en utilisant uniquement pointer et cliquer. Et la technologie habilitante est quelque chose de nouveau dans JMP 16. Il s'agit du journal amélioré et de l'enregistrement des actions qui se trouvent dans le journal amélioré. |
| Alors, voici ce que nous allons faire, nous allons effectuer nos activités de curation de données comme d'habitude par pointer-cliquer. En faisant cela, |
| le script dont nous avons besoin, le code informatique (il s'appelle le code JSL, JSL pour le langage de script JMP) il va être capturé pour nous automatiquement |
| dans le nouveau journal amélioré. Et puis, lorsque nous en avons terminé avec notre curation pointer-cliquer, tout ce que nous avons à faire est de récupérer ce code et de le sauvegarder. Nous pourrions vouloir faire quelques ajustements, quelques modifications, juste pour le rendre un peu plus fort, mais cette partie est facultative. |
| D'accord, c'est donc une feuille de triche que vous pouvez utiliser. Il s'agit de certaines des activités de nettoyage de données les plus courantes |
| et comment les faire dans JMP 16 de manière à vous laisser cette trace de fil d'Ariane, de manière à laisser le script JSL dans le journal amélioré. Cela couvre donc des choses comme le fonctionnement sur des lignes, le fonctionnement sur des colonnes, |
| les moyens de modifier la table de données, toutes nos opérations de nettoyage des données et comment le faire par pointer-cliquer. |
| Il ne s'agit donc pas d'une liste exhaustive de tout ce que vous pourriez avoir besoin de faire pour le nettoyage des données, et ce n'est pas non plus une liste exhaustive de tout ce qui est capturé dans le journal amélioré, mais c'est la chose la plus importante ici à portée de main. |
| Très bien, allons donc dans notre étude de cas en utilisant ce fichier de composants que Mia a introduit et créons notre script de curation de données dans JMP 16 en utilisant le journal amélioré. |
| Nous voici en JMP 16. Je noterai qu'il s'agit de la dernière version du programme d'adoption précoce pour JMP 16, donc c'est une pré-version. Cependant, je suis sûr que cela va être très, très similaire à la version actuelle de JMP 16. |
| Donc, pour accéder au journal, |
| Je vais vous le montrer ici. Cela semble différent si vous êtes habitué au journal des versions précédentes de JMP. Il est divisé en deux panneaux, |
| d'accord, un panneau de message en haut et un panneau de code en bas. Nous allons passer du temps ici. Je vais vous montrer à quoi cela ressemble, mais nous allons simplement vous donner un aperçu rapide, si je devais faire des activités rapides comme importer un fichier et peut-être supprimer cette colonne. |
| Vous pouvez voir que ces deux étapes que j'ai effectuées (l'importation des données et la suppression de la colonne), elles sont répertoriées ici dans ce panneau de message |
| et le code, le code JSL dont nous avons besoin pour un script de curation de données reproductible, se trouve ici dans ce panneau inférieur. Bon alors |
| que c'est vraiment très excitant, la possibilité d'avoir simplement ce code et de le saisir chaque fois que vous en avez besoin simplement en pointant et en cliquant est un énorme avantage dans JMP 16. |
| Donc, dans JMP 16, cette nouvelle vue améliorée du journal est activée par défaut. Si vous voulez revenir à l'ancienne version du journal, ce simple journal de texte, vous pouvez le faire ici dans la section des préférences JMP. Il y a un nouveau |
| pour le journal et vous pouvez revenir à l'ancienne vue texte du journal, si vous préférez. La valeur par défaut lorsque vous installez JMP 16 est le journal amélioré et nous parlerons de certaines de ces autres fonctionnalités un peu plus tard, plus loin dans notre étude de cas. |
| Très bien, donc je vais effacer |
| le journal pour l'instant du triangle rouge. Effacez le journal et commençons par notre étude de cas. Importons les données des composants que Mia partageait avec vous. Nous allons commencer à partir de ce fichier csv. |
| Alors |
| Je vais effectuer le type d'importation le plus simple simplement en le faisant glisser. Oh, j'avais un ... J'en avais déjà une version ouverte. Je suis désolé, laissez-moi, laissez-moi commencer par fermer l'ancienne version |
| et effacez le journal une fois de plus. |
| D'accord, importation simple |
| en le faisant glisser dans la fenêtre JMP. Et maintenant, nous avons ce fichier, Composants A, avec 369 lots, et passons maintenant à nos activités de nettoyage des données. Je vais allumer |
| les graphiques d'en-tête. Et la première chose que nous pouvons voir, c'est que la colonne Facility n'a qu'une seule entrée, une seule valeur, FabTech, donc il n'y a pas de variation, rien d'intéressant ici. Je vais simplement le supprimer d'un clic droit, supprimer la colonne. |
| Et encore une fois, cela est capturé au fur et à mesure que nous allons dans le journal amélioré. |
| OK, quoi d'autre? Imaginons que cette colonne de taux de rebut à la fin du tableau soit vraiment importante pour nous et j'aimerais en voir une plus tôt dans le tableau. Je vais le déplacer en quatrième position |
| en le saisissant dans le panneau des colonnes et en le faisant glisser juste après le numéro de client. On y va. |
| Mia a mentionné que cette colonne d'humidité est incorrectement représentée à l'importation, principalement en raison de ceux N / A |
| les caractères de l'alphabet qui le font entrer en tant que variable de caractère. Alors réparons ça. Nous allons entrer dans la colonne info avec le clic droit ici |
| et changez le type de données de caractère en numérique, changez le type de modélisation de nominal en continu. Cliquez sur OK. Et cliquons simplement sur le journal ici, et vous pouvez voir, nous avons maintenant quatre étapes qui ont été capturées et nous continuerons. |
| D'accord, quelle est la prochaine étape? Nous avons plusieurs variables qui doivent être changées de continue à nominale. Ce sont le numéro de lot, le numéro de pièce et le processus. Donc, avec les trois de ceux sélectionnés, je vais faire un clic droit et passer de continu à nominal. |
| Et ceux-ci ont tous été corrigés. |
| Et encore une fois, nous pouvons voir que ces trois étapes sont enregistrées ici dans le journal. |
| D'accord, quoi d'autre? Quelque chose d'autre un peu cosmétique, cette colonne, Pressure. Mes ingénieurs aiment voir ce nom de colonne comme PSI, donc nous le changerons simplement en sélectionnant cette colonne et en tapant PSI. Sortez de là pour aller ailleurs. Cela sera également consigné dans le journal. |
| Le fournisseur. Mia nous a montré qu'il y a, vous savez, des orthographes incohérentes. Probablement trop de valeurs ici. Nous devons corriger les valeurs des caractères. Lorsque vous avez des valeurs de caractères incorrectes et incohérentes dans une colonne, pensez à l'outil de recodage. |
| L'outil de recodage est un moyen très efficace de résoudre ce problème. Donc, avec le clic droit sur le fournisseur, nous irons recoder. |
| Et regroupons-les de manière appropriée. Je vais commencer par quelques options de triangle rouge. Convertissons toutes les valeurs en casse du titre, |
| réduisons également cet espace blanc, afin que l'espacement incohérent soit corrigé. Cela a déjà corrigé quelques problèmes. Corrigeons tout le reste manuellement. Je vais regrouper les Anderson. Je vais regrouper les Cox. |
| Regroupez les Hershes. Trutna et Worley ont déjà raison avec une seule catégorie. Et la dernière correction que je ferai concerne les choses qui sont, vous savez, juste répertoriées comme vides ou manquantes, je leur donnerai un explicite |
| étiquette manquante ici. |
| Très bien, et lorsque nous cliquons sur recoder, |
| nous avons intégré ces correctifs dans une nouvelle colonne appelée fournisseur 2. |
| Cela a juste 1, 2, 3, 4, 5, 6 catégories corrigées et réduites. |
| Bon. |
| Ok, faisons un calcul. Nous allons calculer le rendement ici, en utilisant la taille du lot et le nombre mis au rebut. |
| Droit. Et oui, je me rends compte que c'est un peu redondant. Nous avons déjà un taux de rebut et le rendement est juste un taux de rebut moins, mais juste pour des raisons d'argumentation, nous allons exécuter |
| le calcul. Donc, je veux que cette colonne de rendement soit insérée juste après le numéro mis au rebut, donc je vais mettre en évidence le numéro mis au rebut, puis je vais aller dans le menu des colonnes, choisir une nouvelle colonne. |
| Nous allons appeler cette chose céder. |
| Et nous allons insérer notre nouvelle colonne après la colonne sélectionnée, après le nombre mis au rebut, et nous allons lui donner une formule pour calculer le rendement. |
| Nous avons besoin du nombre de bonnes unités. Cela va être la taille du lot moins le nombre mis au rebut. |
| Voilà donc le nombre de bonnes unités et nous allons diviser tout cela par |
| la taille du lot. |
| Nombre de bonnes unités divisé par la taille du lot, c'est notre calcul de rendement. |
| Et cliquez sur OK. |
| Il y a notre nouveau |
| colonne de rendement. Nous pouvons voir que c'est un taux de rebut d'un moins. C'est ... c'est bien et ignorons, pour l'instant, le fait que nous ayons des rendements supérieurs à 100%. |
| D'accord, nous avons presque terminé. Encore quelques changements. J'ai remarqué que nous avons deux processus, et ils sont, pour l'instant, simplement étiquetés processus 1 et processus 2. |
| Ce n'est pas très descriptif, pas très utile. Donnons-leur des étiquettes plus descriptives. Processus 1, nous appellerons processus de production; et le processus 2, nous appellerons expérimental. Nous allons donc faire cela avec des étiquettes de valeur, plutôt qu'avec un recodage. Je vais entrer dans les informations de la colonne |
| et nous attribuerons des étiquettes de valeur à un et à deux. |
| Un dans cette colonne représentera la production. |
| Ajoutez ça. |
| Et deux représente expérimental. |
| Ajoutez ça. |
| Cliquez sur OK. Bon. Il montre un et deux dans les graphiques d'en-tête, mais production et expérimental ici dans le tableau de données. |
| Très bien, une dernière étape avant de sauvegarder notre script. Disons, pour des raisons d'argumentation, que je ne suis intéressé que par les données ... Je veux procéder à l'analyse uniquement lorsque le vide est désactivé. |
| Bien, donc je vais sous-ensemble les données et créer une nouvelle table de données qui n'a que les lignes où le vide est désactivé. Je vais le faire en cliquant avec le bouton droit sur l'une de ces cellules dont le vide est désactivé |
| et sélectionner les cellules correspondantes. |
| Cela sélectionne les 313 rangées où le vide est désactivé. Et maintenant nous allons passer au sous-ensemble de table, |
| créer une nouvelle table de données, que nous nommerons vac_off. |
| Cliquez sur OK. |
| Très bien, et c'est notre nouveau tableau de données avec 313 lignes affichant uniquement les données où le vide est désactivé. |
| C'est donc la fin. Nous avons fait toute notre curation de données et revenons maintenant en arrière et revoyons le journal et apprenons un peu plus sur ce que nous avons. |
| D'accord, donc toutes ces étapes, et quelques autres que je n'avais pas l'intention de faire, ont été capturées ici dans le journal. |
| Regardez ici, nous avons ... chaque ligne est l'une des étapes que nous effectuons. |
| Il y a aussi des choses superflues, comme à un moment donné, j'ai effacé la sélection de lignes. Je n'avais pas vraiment besoin de ... Je n'ai pas vraiment besoin de faire cette partie de mon scénario. |
| Effacer les lignes sélectionnées, supprimons donc cela. Je vais juste faire un clic droit dessus et effacer cet élément pour le supprimer. C'est bon. |
| Ok, donc les messages ici, le code JSL ici. Je voudrais attirer votre attention sur l'origine et le résultat. C'est assez chouette. |
| Chaque fois que nous faisons une étape, chaque fois que nous faisons une action par pointer-cliquer, vous savez, il y a quelque chose sur lequel nous faisons cette action et il y a quelque chose qui en résulte. Voilà donc l'origine et le résultat. Ainsi, par exemple, lorsque nous avons supprimé la colonne des installations ... |
| Eh bien, c'est peut-être un mauvais exemple ... choisissons plutôt de changer les informations de colonne pour l'humidité. L'origine, la chose sur laquelle nous l'avons fait |
| était le tableau des composants A, et nous voyons qu'il est répertorié ici comme le tableau de données. Lorsque je passe la souris dessus, il est dit Amener les composants A au premier plan, alors en cliquant dessus, oui, cela nous amène au tableau des composants A. Très beau. |
| Et le résultat est quelque chose que nous avons fait à la colonne d'humidité. Nous avons changé l'humidité. Nous l'avons changé pour le type de données numérique et le type de modélisation continu. Voyez ça ici. |
| Donc je peux cliquer ici, aller à la colonne d'humidité, et ça ... ça met en évidence, ça sélectionne pour nous. JMP sélectionne pour nous la colonne d'humidité. |
| vert pour partout, sauf ce dernier résultat en bleu. Eh bien, cela nous aide à suivre nos activités sur différents tableaux de données. Nous avons effectué toutes ces activités sur le tableau de données Composants A |
| et notre dernière activité, nous avons effectué un sous-ensemble sur la table de données Composants A, le résultat était une nouvelle table de données appelée vac_off. Et donc vac_off est en bleu. Bien, nous pouvons donc utiliser ces couleurs pour vous aider à garder une trace des choses. |
| Très bien, la dernière fonctionnalité que je veux vous montrer ici dans le journal c'est ... c'est |
| utile est que si vous avez une très longue série d'étapes et que vous avez juste besoin d'en trouver une, cette boîte de filtre vous permet de trouver. Disons que je veux trouver le sous-ensemble. Le voilà. Nous avons trouvé la table de données du sous-ensemble et je peux accéder directement au code dont j'ai besoin. |
| D'accord, alors c'est ... c'est tout ce dont nous avons besoin. Nos étapes de conservation des données ont été capturées. Tout ce que nous devons faire pour créer un script de curation de données reproductible est d'aller dans le triangle rouge et nous enregistrerons le script dans une nouvelle fenêtre de script. |
| l'étape d'importation, l'étape de suppression de colonne, l'étape de déplacement du taux de rebut. Toutes ces étapes sont ici dans le script. |
| Nous avons la coloration syntaxique pour nous aider à lire le script. Nous avons tous ces commentaires utiles qui nous disent exactement ce que nous faisions à chacune de ces étapes. |
| Bon, c'est donc tout. C'est tout ce dont nous avons besoin et je vais le sauver. Je l'enregistrerai sur mon bureau en tant qu'importation et nettoyage ... appelons-le importer et organiser des composants. |
| Oui, c'est notre script de curation de données reproductible. Donc, si je devais retourner à la fenêtre d'accueil de JMP et fermer tout sauf notre nouveau script, |
| voici ce que nous faisons si je dois rejouer ces étapes de curation de données. Je viens d'ouvrir le fichier de script et nous pouvons l'exécuter en cliquant sur le bouton exécuter le script. Ouvre les données, effectue tout le nettoyage, effectue le sous-ensemble et crée ce nouveau fichier de données avec 313 lignes. |
| Imaginons maintenant que nous devons rejouer ceci sur de nouvelles données. |
| J'ai une autre version du fichier des composants. Cela s'appelle les composants B. Il contient 50 lignes supplémentaires, donc au lieu de 369 lignes, il en a 419. Imaginez, vous savez, que nous avons exécuté le processus pour 50 autres lots et que nous avons plus de données. |
| Il s'appelle donc Composants B, et je souhaite exécuter ce script sur les composants B. Mais vous remarquerez que tout au long du script, il appelle plusieurs fois les composants A. Nous devrons donc simplement rechercher et remplacer les composants A et les changer en composants B. Nous y voilà. Éditer. |
| Chercher. |
| Nous trouverons les composants A, les remplacer par les composants B. Tout remplacer. 15 occurrences ont été remplacées. |
| Vous pouvez le voir ici et ici. |
| Et maintenant, nous réexécutons simplement le script, et le voici sur la nouvelle version des données. Vous pouvez voir qu'il y a plus de lignes, en fait, il était éteint. C'était 313 avant, c'est 358 maintenant. |
| D'accord, donc un script de curation de données reproductible qui peut s'exécuter sur de nouvelles données. |
| Ok, alors voici encore une fois cette feuille de triche. Ce sera dans le matériel que nous sauvegardons avec la conférence, afin que vous puissiez y accéder et le trouver. Et cela vous indique comment pointer et cliquer sur votre chemin à travers la curation de données et vous laisser un joli script de curation de données rejouable et reproductible. |
| Ce script que nous avons créé ne nous a pas demandé de coder du tout, mais je vais vous donner juste une poignée de conseils, quatre conseils que vous pouvez utiliser |
| pour améliorer un peu les scripts. Le premier conseil est d'insérer cette ligne au début de vos scripts. C'est une bonne chose à faire pour tous vos scripts. Insérez simplement les noms de ligne par défaut ici. |
| Cela empêche votre script d'interagir avec d'autres scripts. Cela s'appelle une collision d'espace de noms et vous n'avez pas vraiment besoin de comprendre ce que cela fait, faites-le simplement. C'est une bonne chose à faire. C'est une bonne pratique de programmation. |
| Le deuxième conseil est de s'assurer qu'il y a des points-virgules entre les expressions JSL. |
| Le journal amélioré le fait automatiquement pour vous. Il place ce point-virgule requis entre chaque étape. Cependant, si vous apportez vous-même des modifications, vous voudrez vous assurer que ces points-virgules sont placés correctement. Alors juste un mot aux sages. |
| Ajoutez des commentaires. |
| Les commentaires sont un moyen pour vous de laisser des notes dans le programme et de les laisser de manière à ne pas gâcher le programme, n'est-ce pas. C'est une façon de |
| laissez quelque chose dans le programme qui ne sera pas interprété par l'interpréteur JSL. Et il y a des notes que le journal amélioré vous a laissé ... l'enregistrement des actions dans le journal amélioré vous a laissé, mais vous pouvez les modifier et y ajouter, si vous le souhaitez. Voici donc les principaux points concernant les commentaires. |
| Le format typique est constitué de deux barres obliques et tout ce qui suit les barres obliques est un commentaire. Vous pouvez donc le faire au début d'une ligne ou aussi à la fin de la ligne. Ainsi, l'interpréteur exécutera cette expression JSL X = 9, mais il ignorera tout après les barres obliques. |
| Vous pouvez également, si vous avez un commentaire plus long, vous pouvez utiliser ce format, qui est un / * au début et un * / à la fin. Cela comprend un commentaire. Les commentaires sont donc utiles pour laisser des notes pour vous-même, mais ils sont également utiles pour déboguer votre script JSL. |
| Si vous souhaitez supprimer une ligne de code et l'empêcher de s'exécuter, vous pouvez simplement la faire précéder de ces deux barres obliques et, si vous souhaitez le faire pour une plus grande partie de code, vous pouvez utiliser ce format. Tellement bon de savoir comment utiliser les commentaires. |
| Le dernier conseil que je vais vous laisser est de généraliser les références aux tables de données. Vous rappelez-vous comment nous avons dû rechercher et remplacer pour que ce script s'exécute sur un nouveau nom de fichier, Composants B? |
| Nous avons dû changer 15 instances dans la table de données, dans le script. Ne serait-ce pas bien si nous devions le changer en une seule fois, au lieu de 15 fois? Ainsi, vous pouvez rendre vos scripts plus robustes |
| en généralisant les références des tableaux de données. Au lieu d'utiliser les noms, nous utiliserons une variable JSL pour contenir ces noms de table. Voilà de quoi je parle. Je vais vous montrer un exemple. |
| Sur la gauche se trouve un code généré par l'enregistrement d'actions dans le journal amélioré. |
| Nous ouvrons la table de données Big Class. Nous opérons sur la colonne d'âge, en la changeant en un type de modélisation continue, puis nous créons une nouvelle colonne calculée, |
| à l'ouverture, nous l'utilisons pour effectuer le changement sur la colonne d'âge, et nous l'utilisons ici. |
| Très simple, ce que vous devez faire pour rendre cela plus robuste et généralisé. |
| Vous devez effectuer trois modifications. |
| Ce premier changement ici, nous attribuons un nom. J'ai choisi la Colombie-Britannique; vous pouvez choisir ce que vous voulez. Vous verrez beaucoup DT. |
| Donc, BC est le nom par lequel nous allons faire référence à cette table de données Big Class dans le reste du script. Et donc quand on veut changer d'âge |
| âge signifie le tableau de données de la Colombie-Britannique et la colonne d'âge dans ce tableau de données. |
| Ici, nous envoyons un message à la table de données Big Class, et c'est ce que signifie la syntaxe de la double flèche. Donc, nous généralisons simplement cela, nous le généralisons afin que nous utilisions le nouveau nom pour envoyer ce message |
| à la table de données. Et maintenant, si nous devons exécuter ce script sur une nouvelle table de données nommée autre chose que Big Class, voici le seul changement que nous devons apporter. Nous devons changer un seul endroit dans le script. Nous n'avons pas à faire de recherche et de remplacement. |
| D'accord, donc après ces quatre conseils, si vous êtes prêt à faire passer votre script de curation au niveau supérieur, voici quelques étapes suivantes. Vous pouvez ajouter un sélecteur de fichiers. Cela ne prend pas beaucoup de codage |
| pour le modifier afin que lorsque quelqu'un exécute ce script, il puisse simplement accéder au fichier sur lequel il souhaite qu'il s'exécute au lieu d'avoir à modifier le script manuellement. |
| C'est donc une bonne idée. Si vous souhaitez distribuer le script à d'autres utilisateurs de votre organisation, vous pouvez l'envelopper dans un complément JMP, et ainsi les utilisateurs peuvent exécuter le script simplement en le choisissant dans un menu dans JMP. |
| Vraiment pratique. Et enfin, si vous avez besoin d'exécuter ce script de curation selon un calendrier afin de mettre à jour une table de données maître JMP que vous conservez quelque part sur le réseau, vous pouvez utiliser le planificateur de tâches dans Windows ou l'automate sous Mac OS pour que sur un calendrier. |
| Donc, en résumé, Mia a expliqué comment faire votre curation de données en explorant les données et en les itérant pour identifier les problèmes. |
| Si vous automatisez ces étapes, vous bénéficierez des avantages de la reproductibilité, à savoir l'efficacité, la précision et la documentation de votre travail. |
| Pour ce faire dans JMP 16, il vous suffit de pointer et de cliquer comme d'habitude et vos étapes de curation de données sont capturées par l'enregistrement d'action qui se produit dans le journal amélioré. |
| Enfin, vous pouvez exporter et modifier ce code JSL à partir du journal amélioré afin de créer votre script de curation de données reproductible. Cela conclut notre discours. Merci beaucoup pour votre temps et votre attention. |