Conférencier | Transcription |
| Mia Stephens | cela ne prendra probablement pas 45 minutes. |
| Très bien, nous sommes bons. |
| putain, pourquoi ce texte vient-il d'apparaître. |
| Jason Wiggins, JMP | Tu as vu, j'allais juste demander que j'avais commencé à enregistrer mais que quelqu'un va entrer et couper les débuts à la fin du so. |
| Mia Stephens | Je dirais que vous enregistrez. |
| Jason Wiggins, JMP | Ouais. |
| Je peux arrêter si tu veux. |
| euh. |
| Jason Wiggins, JMP | Bon l'enregistrement a commencé. |
| Mia Stephens | Bonjour, je m'appelle MIA Stevens et je suis chef de produit JMP. |
| Et aujourd'hui, nous allons parler d'une nouvelle fonctionnalité apparue pour la première fois dans le dépistage d'écran des modèles JMPed 16 ou JMP pro 16. |
| En fait, laissez-moi recommencer. |
| Jason Wiggins, JMP | L'enregistrement a recommencé. |
| Mia Stephens | Bonjour, je suis Mia Stephens. |
| Et je suis chef de produit JMP. Et aujourd'hui, nous allons parler de sélection de modèles. Le filtrage de modèles est une nouvelle plate-forme de JMP Pro 16, et il vous permet d'ajuster plusieurs modèles en même temps, ce qui vous permet de rationaliser votre flux de travail de modélisation prédictive. |
| Nous allons donc commencer par parler un peu de ce que nous entendons par modélisation prédictive, et cela contraste avec la modélisation plus classique ou la modélisation explicative. |
| Nous verrons les types de modèles que vous pouvez créer dans JMP Pro, et nous parlerons un peu du workflow de modélisation prédictive. Et nous verrons ensuite comment utiliser le filtrage de modèles pour rationaliser ce flux de travail. |
| Nous verrons plusieurs métriques différentes pour comparer des modèles concurrents et nous utiliserons deux exemples différents dans JMP Pro, et j'utiliserai JMP Pro 16.1. |
| Alors d'abord, qu'entend-on par modélisation prédictive ? |
| La plupart d'entre nous ont suivi des cours de statistique à l'université ou au collège ou par l'intermédiaire de votre entreprise, et généralement, lorsque nous... lorsque nous apprenons la modélisation statistique, c'est la modélisation explicative. |
| Et ce que nous entendons par là, c'est que vous êtes intéressé à étudier une variable Y, une réponse d'intérêt, en fonction de plusieurs X ou variables d'entrée. |
| Nous pourrions donc être intéressés par l'identification de variables importantes, peut-être sommes-nous dans une sorte de situation de résolution de problèmes où nous voulons essayer d'identifier les X les plus importants, les causes potentielles les plus importantes. |
| Ainsi, à la suite d'une modélisation explicative, nous pourrions être en mesure d'identifier, par exemple, que X1, X3 et X6 sont des causes potentielles de variation de Y, et cela pourrait vous amener à étudier ces variables plus en détail à l'aide d'une expérience conçue. |
| Nous pourrions également être intéressés à quantifier la nature de la relation, par exemple, nous pourrions être intéressés à comprendre comment Y, notre réponse, change en moyenne, en fonction des X. |
| un changement d'une unité de X est associé à un changement de cinq unités de Y. |
| C'est donc à cela que nous pensons généralement lorsque nous parlons de modélisation ou de modélisation statistique ou d'analyse de régression. |
| Aujourd'hui, en revanche, la modélisation prédictive consiste à prédire ou à classer avec précision les résultats futurs. |
| Ainsi, dans la modélisation classique, nous faisons généralement des déclarations sur la moyenne, la moyenne globale. Dans la modélisation prédictive, nous voulons savoir ce qui va se passer ensuite. Ainsi, par exemple, ce client va-t-il se désabonner ? Est-ce que ce client |
| accepter l'offre de carte de crédit ? La machine tombera-t-elle en panne ? Nous sommes donc intéressés à prédire ce qui va se passer ensuite. Nous sommes donc intéressés par l'exactitude, l'exactitude de nos prédictions. |
| Dans la modélisation prédictive, nous avons tendance à ajuster et à comparer de nombreux modèles différents possibles, ce qui implique ou peut impliquer des techniques très avancées. |
| Et certaines de ces techniques peuvent ne pas être très faciles à interpréter. Donc, si vous pensez aux réseaux de neurones, les réseaux de neurones sont généralement considérés comme une sorte de boîte noire. |
| Et avec ces modèles plus complexes, le surajustement peut être un problème, et ce que je veux dire par surajustement, c'est que nous avons tendance... nous pouvons ajuster un modèle qui est beaucoup plus complexe que ce dont nous avons besoin. |
| Ainsi, dans la modélisation prédictive, nous avons tendance à utiliser la validation du modèle. Nous utilisons la validation de modèle pour nous protéger contre le sur-ajustement et également contre le sous-ajustement. Et ce que la validation du modèle implique, c'est de diviser nos données, et une façon typique de diviser nos données consiste à conserver certaines de nos données... |
| eh bien, certaines de nos données sont utilisées pour former notre modèle, certaines de nos données sont conservées, et nous pourrions avoir un troisième ensemble qui est également conservé. Et la façon dont nous utilisons ces données est que nous ajustons nos modèles en utilisant les données de formation |
| puis nous voyons à quel point le modèle a fonctionné sur les données de validation. Et la troisième étape pourrait être utilisée, et cela s'appelle souvent l'ensemble de test, |
| parce que la validation... les données de validation dans JMP sont souvent utilisées pour contrôler la taille du modèle. Nous verrons donc cela en action dans quelques minutes. |
| Je n'entrerai pas dans les détails concernant la validation, mais s'il s'agit d'un sujet relativement nouveau pour vous, il y a quelques diapositives à la fin de ce jeu que j'ai empruntées à notre cours en ligne gratuit, STIPS, et cela illustre pourquoi la validation est important. |
| Dans JMP Pro, vous pouvez adapter de nombreux types de modèles prédictifs. |
| Certains d'entre eux sont disponibles à partir du modèle d'ajustement, donc si vous avez une réponse continue, vous pouvez ajuster un modèle de régression linéaire. Si vous avez une réponse catégorique, vous pouvez adapter |
| un modèle de régression logistique. Il peut s'agir d'un modèle de régression ordinal, multinomial ou binomial. Vous pouvez ajuster des modèles linéaires généralisés ou des modèles de régression pénalisés comme le filet élastique et la régression Lasso et ridge. |
| Il existe un menu de modélisation prédictive avec de nombreux éléments, par exemple, les réseaux de neurones. Et vous pouvez intégrer des réseaux de neurones dans JMP Pro avec |
| deux couches, avec plusieurs nœuds, plusieurs fonctions d'activation, avec boosting. Et généralement dans JMP, |
| vous pouvez ajuster des modèles pour des réponses catégorielles ou des réponses continues en utilisant la même plate-forme. Vous pouvez adapter une variété de différents types d'arbres, des arbres de classification si vous avez un |
| réponse catégorique, arbres de régression si vous avez une réponse continue. Vous pouvez également installer des types d'arbres plus compliqués, comme la forêt bootstrap et les arbres boostés. Et vous pouvez voir qu'il existe également d'autres méthodes disponibles. |
| Et il existe quelques plates-formes de modélisation prédictive sous des méthodes multivariées, donc une analyse discriminante et des moindres carrés partiels. Il ne s'agit donc en aucun cas d'une liste exhaustive, et je soulignerai que les moindres carrés partiels sont également disponibles à partir du modèle d'ajustement. |
| La question est, pourquoi avons-nous besoin de tant de modèles ? Dans la modélisation explicative classique, nous apprenons généralement l'analyse de régression, mais il existe clairement de nombreux autres types de modèles que nous pouvons adapter. |
| Eh bien, la raison en est qu'aucun type de modèle n'est toujours le meilleur. Le meilleur modèle dépend souvent de la structure de vos données. |
| Combien de variables vous avez, si vous avez des X purement continus ou si vous avez un mélange de variables continues et catégorielles, si vous avez un comportement non linéaire. |
| Donc, aucun type de modèle n'est toujours le meilleur modèle pour prédire avec précision. Donc, nous essayons généralement plusieurs modèles différents et nous choisissons le modèle ou les modèles combinés qui font le meilleur travail. |
| Et nous pensons à la modélisation prédictive dans le contexte du flux de travail analytique plus large. |
| Bien sûr, il y a un certain type de problème que nous essayons de résoudre, un problème commercial ou un problème d'ingénierie. |
| Mais nous compilons des données, et il peut s'agir de données provenant de diverses sources différentes, et nous devons associer ces données, nous devons organiser les données. |
| Nous explorons et visualisons les données pour en savoir plus sur ce dont nous disposons et sur les besoins en données supplémentaires. Et l'aspect de la modélisation prédictive consiste à analyser les données et à construire des modèles et, dans mon esprit, c'est là que le plaisir commence vraiment. |
| Ainsi, le flux de travail classique dans JMP consiste à ajuster un modèle avec validation. |
| Et puis vous enregistrez la formule de prédiction dans la table de données, ou vous la publiez dans le dépôt de formules et nous verrons cela dans quelques instants. |
| Et puis vous adaptez un autre modèle. Vous pouvez donc commencer avec un modèle de régression, puis ajuster un modèle arborescent. Et puis vous répétez cela et vous adaptez plusieurs types de modèles différents. |
| Et utilisez ensuite la comparaison de modèles pour évaluer les performances de chaque modèle sur les données de validation. N'oubliez donc pas que nous utilisons les données d'apprentissage pour ajuster le modèle, mais pour comparer les modèles afin de déterminer la prédiction la plus précise, nous utilisons les données de validation ou de test. |
| Et nous choisissons le meilleur modèle ou la meilleure combinaison de modèles. |
| Et puis nous déployons le modèle, donc c'est une sorte de flux de travail typique. |
| Maintenant, avec le filtrage de modèles, ce que fait le filtrage de modèles, c'est qu'il rationalise cela. Ainsi, vous pouvez intégrer tous les modèles souhaités dans la plate-forme de sélection de modèles, |
| comparer ces modèles à l'aide de données de validation, sélectionner le meilleur modèle. Vous pouvez explorer les modèles, vous pouvez même adapter de nouveaux modèles à partir de la sélection de modèles, puis vous pouvez facilement déployer le meilleur modèle. |
| Donc, pour regarder cela de plus près, nous allons utiliser quelques exemples, et le premier exemple est celui que vous connaissez peut-être, |
| les données sur le diabète, et celles-ci se trouvent dans le répertoire des données d'échantillon. Le scénario est donc que les chercheurs veulent pouvoir prédire le taux de progression de la maladie |
| un an après la prise des mesures de base. Il y a donc 10 variables de base et 442 patients, et il y a deux types de réponses que nous allons examiner ici. La réponse Y est une mesure quantitative qui mesure à quel point la maladie a progressé en un an. |
| Et il y a aussi une réponse binaire, haut/bas, donc haut signifie qu'il y a un taux élevé de progression de la maladie et faible signifie qu'il y a eu un faible taux de progression. |
| Et l'objectif de la modélisation ici est de prédire les patients les plus susceptibles d'avoir un taux élevé de progression de la maladie afin que des mesures correctives puissent être prises. |
| Donc, finalement, ce qu'on aimerait pouvoir faire, c'est construire un modèle qui nous permette de classer les futurs patients, en fonction de leurs variables démographiques et des informations de base que nous avons ici. Nous voulons donc pouvoir |
| prédire avec précision s'ils vont avoir un taux élevé de progression de la maladie ou non afin que nous puissions ensuite prendre des mesures. D'accord, c'est donc le scénario. |
| Et avant d'aborder JMP, je veux parler un peu de la façon dont nous décidons quel modèle prédit le mieux. |
| Et j'ai mentionné que nous utilisons l'ensemble de validation ou de test pour cela, et il existe plusieurs types de mesures que nous pouvons utiliser. |
| Pour les réponses continues, nous utilisons RMSE, qui est l'erreur quadratique principale racine, ou RASE, qui est une mesure connexe, l'erreur quadratique moyenne racine, et c'est l'erreur de prédiction, et ici la plus faible est la meilleure. |
| Nous pouvons également utiliser AAE (erreur absolue moyenne), MAD (écart absolu moyen) ou MAE et pour ceux-ci également, moins c'est mieux. Ce sont donc... ce sont... ce sont en quelque sorte des mesures d'erreur moyennes. |
| Et puis, R au carré, et pour R au carré, qui est vraiment une mesure de la qualité de l'ajustement, plus c'est haut, mieux c'est. |
| Nous avons donc tendance à les utiliser pour des réponses continues ; il existe de nombreux autres types de mesures disponibles. |
| Étant donné que les réponses catégorielles étaient souvent intéressées par les erreurs de classification ou le taux d'erreur ou les taux d'exactitude, nous pourrions être intéressés par la précision. |
| Il y a d'autres mesures, l'aire sous la courbe, que nous voyons dans une courbe ROC, la sensibilité et la spécificité, et celles-ci portent plusieurs types de noms différents. |
| Et il y a quelques autres mesures que nous avons ajoutées dans le filtrage du modèle qui sont bonnes lorsque nous avons des données déséquilibrées. Il y a un score F1 et un MCC, qui est le coefficient de corrélation de Matthews, et c'est une valeur qui prend... |
| ou une métrique qui prend des valeurs entre moins un et plus un, et c'est bon pour mesurer quand vous avez des données catégorielles, à quel point les données sont classées dans les quatre catégories possibles, le vrai positif, le vrai négatif, les faux positifs et les faux négatifs. |
| Alors passons... passons à JMP. |
| Et je vais juste ouvrir les données. |
| Ce sont donc... et je vais grossir un peu, ce sont encore les données sur le diabète. |
| Et si vous voulez jouer avec ces données, il y a un blog qui utilise ces données, et vous pouvez également les trouver sous aide puis exemples de données. |
| Et encore une fois, nous avons une réponse Y, permettez-moi de l'agrandir un peu, qui est notre mesure continue de la progression de la maladie. Et puis nous avons un Y binaire avec des résultats faibles ou élevés, et nous le prendrons... nous examinerons chacun d'eux. |
| Donc, pour commencer, examinons si vous... si vous aviez JMP 15 ou si vous n'utilisez pas le filtrage de modèles, comment ajusteriez-vous les modèles prédictifs pour prédire Y, la réponse continue, si vous avez JMP Pro ? |
| Notez que nous avons plusieurs variables démographiques. |
| Il y en a donc 10, et il y a une colonne de validation, et la colonne de validation partitionne nos données en données de formation et de validation. |
| Nous allons donc ajuster notre modèle à l'aide des données d'apprentissage, puis nous verrons dans quelle mesure le modèle fonctionne lorsque nous l'appliquons aux données de validation. |
| Pour créer cette colonne, il y a un utilitaire sous analyse, modélisation prédictive, création de colonne de validation, et cela nous permet de créer une colonne de validation. |
| Vous pouvez avoir des variables que vous souhaitez utiliser comme colonnes de stratification, par exemple, vous voulez vous assurer que les données sont équilibrées sur l'ensemble du |
| ensembles de validation. Je vais juste cliquer sur OK ici. |
| Et cela nous permet d'affecter un certain pourcentage de nos données dans les différents ensembles. |
| Et il y a quelques options supplémentaires ici qui sont utiles, donc la graine aléatoire est vraiment bien si vous enseignez et que vous voulez que tous vos étudiants aient le même partitionnement. |
| Cela a donc été utilisé avant |
| analyse, alors commençons par jeter un coup d'œil à cette colonne Y, la réponse continue. Donc, si j'ajustais des modèles prédictifs, un point de départ naturel consiste à ajuster un modèle de régression, et la régression dans JMP est sous le modèle d'ajustement. |
| Ma réponse est Y, et je vais juste ajuster... commencer par ajuster un modèle d'effets principaux uniquement. |
| Je vais entrer la validation ici dans ce champ de validation et, par défaut, la personnalité est la méthode des moindres carrés standard. Mais si vous connaissez JMP et JMP Pro, vous savez qu'il existe de nombreuses options différentes disponibles sous la personnalité. |
| Quand je clique sur Exécuter, |
| un changement dans JMP 16 est que si nous regardons le tracé réel par prédit ou l'un des autres tracés, notez qu'il y a un point... il y a des points ici avec un V, au lieu d'un point. |
| C'est pour indiquer que ces points ont été effectivement attribués à l'ensemble de validation, donc nous examinons essentiellement, |
| vous savez, à quel point le modèle prédit le bruit aléatoire autour de cela, et vous pouvez voir qu'il y a un certain degré de dispersion. Et |
| rappelez-vous, nous ajustons notre modèle aux données de formation et nous voyons à quel point il fonctionne sur les données de validation. Il y a donc quelques statistiques ci-dessous. Ainsi, chaque fois que nous aurons une validation, vous verrez des statistiques supplémentaires pour les ensembles d'entraînement et de validation. |
| Et nous pouvons voir qu'il y a quelques mesures ici. Il y a R Square et il y a aussi RASE. |
| Et généralement, lorsque vous adaptez le modèle à un ensemble de données, puis que vous appliquez ce modèle à de nouvelles données, il ne fonctionnera pas aussi bien sur les nouvelles données. Nous pouvons donc voir que R au carré est plus faible pour l'ensemble de validation et que le RASE, l'erreur, est un peu plus élevé. |
| Une fois... la seule chose que nous voyons ici sous le profileur de prédiction |
| est-ce que l'avis... remarquez que le cholestérol total et le LDL se dispersent vraiment aux extrémités. |
| Et pendant que je traîne |
| la valeur du cholestérol, notez la largeur de cet intervalle de confiance pour la moyenne. Alors que je le fais glisser vers le bas, |
| il devient super large et la même chose que je le fais glisser vers le haut de gamme. En fait, tous ces intervalles pour chacun des prédicteurs deviennent super larges. |
| Et c'est un peu au-delà de la portée de cet exposé, mais c'est parce que nous n'avons pas réellement de données ou beaucoup de données dans cette région. Si je prenais... jetez un coup d'oeil et je vais juste |
| saisir ces deux variables, le cholestérol total et le LDL comme c'est un exemple... pour le cholestérol et le LDL. |
| Remarquez qu'il y a une corrélation assez forte entre ceux-ci. Je n'ai pas de données dans cette région et je n'ai pas de données dans cette région. |
| Donc, si jamais vous adaptez un modèle prédictif ou n'importe quel type de modèle où vous voyez ces bandes se déployer vraiment, |
| c'est une indication que vos prédictions ne seront pas très précises dans cette région. Et il y a une nouvelle fonctionnalité dans JMP Pro, |
| appelé contrôle d'extrapolation, qui peut vous avertir si c'est un problème. Donc, si je traîne ça, |
| remarquez qu'il me dit hé, il y a une extrapolation possible ; vos prédictions pourraient être problématiques ici. Et si j'active le contrôle d'extrapolation, |
| notez qu'il tronque ces bandes, et cela signifie essentiellement que vous ne pouvez pas faire de prédictions au-delà de ces limites. Ce n'est tout simplement pas valable. |
| Donc, c'est un peu au-delà de la portée de cela, mais si jamais vous voyez des bandes dans votre profileur de prédiction qui se déploient, |
| c'est souvent parce que vos prédicteurs sont corrélés les uns aux autres, et c'est... il se peut que vous n'ayez tout simplement pas beaucoup de données pour faire des prédictions dans ces régions. Il est donc bon d'en être conscient. |
| Bon, revenons à la tâche à accomplir, alors voyons voir, j'ai ajusté ce modèle et réduit le modèle et confortable qu'il soit, c'est mon modèle final. |
| Je vais enregistrer ce modèle dans ma table de données en enregistrant la formule de prédiction. Et vous verrez qu'il ajoute une nouvelle colonne à la table de données. Et je viens de construire un modèle linéaire, donc il a enregistré cette formule dans la table de données. |
| Et une alternative est de publier ceci, et je vais le publier dans le dépôt de formules. |
| Donc, en fin de compte, ce que je vais faire, c'est que je vais adapter plusieurs types de modèles différents (et je vais continuer et fermer ceci) et je veux comparer ces modèles afin que je puisse l'utiliser... |
| Je peux le faire soit en enregistrant la formule et en allant à l'analyse, à la modélisation prédictive, à la comparaison de modèles, et je le ferai dans un instant, soit en l'enregistrant dans le dépôt de formules. |
| Et l'avantage de l'enregistrer dans le dépôt de formules est que maintenant j'ai le code de notation. Ainsi, par exemple, s'il s'agissait de mon modèle final que je voulais appliquer à de nouvelles données, |
| Je pourrais copier ce script et je peux l'appliquer pour marquer de nouvelles données |
| (et je ne le ferai pas ici), ou je peux créer du code dans une variété de langages différents, si je veux pouvoir utiliser ce modèle dans un environnement de production. |
| C'était donc un modèle linéaire simple. Et si je veux adapter un autre type de modèle ? |
| Je pourrais adapter un modèle plus complexe ici dans le modèle d'ajustement. |
| Donc, je peux ajuster un modèle de régression généralisé et peut-être que je veux ajuster un modèle Lasso, donc je vais cliquer ici. |
| Et il y a une comparaison de modèles ici dans la régression généralisée, mais disons que je veux sauver ce modèle, d'accord. |
| Et je ne fais pas trop attention aux détails ici, mais je vais garder celui-ci. Je vais enregistrer la formule de prédiction. Je vais peut-être aller de l'avant et publier celui-là aussi. |
| Allez ici, publiez celui-ci. |
| Et je pourrais répéter ceci, je pourrais adapter un modèle qui a des interactions. Je pourrais ensuite procéder à l'ajustement d'un modèle de réseau neuronal ou d'un modèle de partition, un modèle arborescent et, si j'ai une réponse catégorique, cela conviendra |
| un arbre de classement. Si j'ai une réponse continue, cela conviendra à un arbre de régression. Je pourrais adapter une forêt bootstrap, qui est une collection d'arbres plus petits ou d'arbres boostés, il existe donc plusieurs types de modèles différents que je peux adapter. |
| Et une fois que j'ai obtenu mes modèles et que j'ai enregistré les formules ou les ai publiées dans le dépôt de formules, je veux trouver le modèle qui prédit le plus précisément. |
| Je vais donc utiliser la comparaison de modèles. |
| Et je vais simplement ajouter la validation en tant que my by variable, |
| parce que je veux pouvoir voir à quel point le modèle a fonctionné sur les données de validation. Et juste en utilisant ces deux modèles et en regardant les données de validation (je vais ranger les données de formation), |
| Je peux voir que j'ai une erreur moyenne inférieure pour le modèle des moindres carrés et mon RASE est un peu plus élevé pour le modèle des moindres carrés. |
| Et mon carré R est un peu meilleur pour le Lasso généralisé. |
| C'est donc la manière typique dont nous pourrions faire une modélisation prédictive si nous avons JMP 15 Pro ou JMP Pro 15, ou si nous n'utilisons pas le filtrage de modèle. Et ce que fait le dépistage du modèle, c'est nous permettre de faire tout cela en une seule étape. Je vais donc passer à la modélisation prédictive et à la sélection du modèle de lancement. |
| Et la sélection de modèles, si vous regardez dans le coin ici, nous permet de lancer essentiellement chacune des plates-formes qui a du sens pour le type de données dont nous disposons |
| et exécuter automatiquement ces modèles. Nous n'avons donc pas besoin d'entrer et de sélectionner le modèle dans le menu, nous pouvons l'exécuter automatiquement à partir d'ici. Je vais donc adapter le même type de modèle, donc c'est un modèle d'effets principaux uniquement ici. |
| Ce sont mes X. Je vais utiliser la même validation. |
| Et il y a un tas d'options ici dont nous parlerons dans un instant, et je vais cliquer sur OK. Et remarquez que j'ai un arbre de décision, une forêt d'amorçage, un arbre boosté, K voisins les plus proches. |
| Par défaut, Naive Bayes est désactivé, je peux adapter un modèle neuronal. |
| Il y en a d'autres en bas ici. Notez que j'ai obtenu XGBoost, donc XGBoost est disponible car j'ai installé un complément, le complément XGBoost. |
| Il s'agit donc d'un complément gratuit qui accède aux bibliothèques open source. Si vous l'avez installé dans JMP Pro, vous pouvez le lancer à partir de la plate-forme de sélection de modèles. Je vais donc laisser cela de côté et cliquer sur OK. |
| Donc, il exécute les modèles et voilà. Donc, il est sorti et il a en fait sauté une étape, n'est-ce pas. Il exécute automatiquement chacun de ces modèles pour moi. |
| Et, et il y a des simulations que vous utilisez pour déterminer les meilleures valeurs de départ pour les paramètres de réglage, nous adaptons donc tous ces modèles. |
| Et il rapporte la formation à la validation et les statistiques de validation pour chacun des modèles. Et maintenant, pour savoir lequel de ces modèles est le meilleur, |
| Sélectionnez dominant. Et ce que fait la sélection dominante, c'est créer une frontière entre les métriques disponibles, donc j'appuie ici sur la sélection dominante. |
| Et constate que pour ces données, le meilleur modèle est le modèle boosté par les neurones, puis les détails de ce modèle sont ici sous neural. |
| Donc, tous les détails, c'est vraiment juste le lancement de la plate-forme et la capture de toutes les informations, ici même dans cette plate-forme. |
| Donc, tous les détails sont ici pour les neurones, donc il s'agit essentiellement d'exécuter un TanH, avec trois nœuds qui sont boostés. Et je peux voir les statistiques de formation et les statistiques de validation et si je veux pouvoir voir le modèle qui était réellement adapté, |
| voici le modèle sous-jacent. |
| Bon, c'est donc... c'est donc mon modèle le plus performant. Si je veux pouvoir regarder de plus près ces modèles, je peux les explorer à partir d'ici et il y a quelques options ici, je peux regarder le tracé réel par prédiction. |
| Et je peux comparer ces modèles, donc comme prévu, il y a un peu moins de variation dans nos... dans nos données d'entraînement qu'il n'y en a dans les données de validation et le tracé réel par prédiction. Je peux désactiver certains modèles si je veux pouvoir explorer cela. |
| Et je peux aussi lancer le profileur et si vous avez 16.1, le profileur est une option. C'est en fait une option cachée si vous avez 16.0, et encore une fois je suis en Pro pour ça. Le profileur est sympa car il nous permet d'explorer les modèles qui nous correspondent, j'ai donc sélectionné trois modèles. |
| Et permettez-moi de rendre cela un peu plus grand. |
| Peut-être pas si gros. |
| J'ai donc une forêt bootstrap, qui est un modèle basé sur des arbres, où elle additionne essentiellement les résultats d'un tas d'arbres différents. |
| J'ai un modèle boosté, et les modèles neuronaux captent très bien les comportements non linéaires. Et j'ai le modèle Lasso, qui est essentiellement un modèle linéaire. |
| Et vous pouvez voir ces modèles assez clairement. Remarquez avec le Lasso généralisé, à droite, j'ai cette relation linéaire entre l'IMC |
| et la réponse. Avec neuro boosté, je peux voir qu'il y a une certaine courbure. Je peux le voir ici avec LTG, et avec la forêt bootstrap, je peux voir que j'ai cette petite fonction pas à pas, donc c'est en fait une approximation de cette relation non linéaire que nous avons ici. |
| Donc, si nous décidons que le modèle boosté par les neurones est le meilleur, |
| ensuite, nous pouvons essentiellement lancer le modèle, le lancer à partir d'ici, et nous pouvons soit enregistrer les formules dans la table de données, soit les publier dans le dépôt de formules pour le déploiement. |
| Cela nous fait donc gagner beaucoup de temps et nous donne toujours la possibilité d'explorer nos modèles. |
| Et si nous avions une réponse catégorique ? Alors rappelez-vous, nous avons le binaire Y. Nous pouvons utiliser le binaire Y de la même manière, donc je vais aller analyser, et appeler à nouveau le filtrage du modèle, et je vais simplement appuyer sur rappel et au lieu de Y, je vais utiliser le binaire Y. |
| Nous pouvons y exécuter les mêmes types de modèles. Si un certain type de modèle n'a pas de sens, il ne l'exécutera pas. Ainsi, par exemple, la régression des moindres carrés n'a pas de sens ici, donc elle ne l'exécutera pas réellement. |
| Il y a quelques options ici. Si je sélectionne définir une graine aléatoire, comme 1, 2, 3, 4, 5, cela me donnera une répétabilité et si je lance un modèle à partir des détails, |
| ça va... ça va avoir les mêmes résultats. J'ai quelques options supplémentaires ici pour la validation. |
| Il s'avère donc que dans de nombreux cas, en utilisant le partitionnement classique de la formation, de la validation et du test |
| n'est pas réellement le meilleur, en particulier dans les petits ensembles de données. Je pourrais donc vouloir utiliser la validation croisée K fold à la place et nous avons également une validation croisée imbriquée. |
| Et vous pouvez effectuer une validation répétée du pli K. C'est donc une bonne option, surtout si vous avez un petit ensemble de données. |
| Et il y a quelques options supplémentaires en bas. Vous pouvez donc ajouter des interactions bidirectionnelles ou quadratiques. |
| Si vous savez qu'il vous manque des valeurs, vous voudrez peut-être utiliser des informations manquantes. Et les méthodes supplémentaires s'appliquent aux méthodes de régression généralisées supplémentaires. Et si vous faites partie du programme d'adoption rapide de JMP 17, vous remarquerez que cette partie de la boîte de dialogue du menu |
| ou le dialogue de lancement du modèle a été un peu réorganisé pour le rendre un peu mieux fluide. Bon, alors je vais simplement utiliser les paramètres par défaut ici avec une graine aléatoire et cliquer sur OK. |
| Donc, il exécute tous ces modèles. Encore une fois, c'est très, très rapide. Eh bien et maintenant, parce que j'ai une réponse binaire, j'ai quelques métriques supplémentaires. j'en ai deux |
| R mesures au carré, j'ai le taux de mauvaise classification, cette zone sous la courbe, RASE. N'oubliez pas que cela est lié à l'erreur quadratique moyenne. Encore une fois, je clique sur sélectionner dominant et encore une fois, il a trouvé une stimulation neuronale, et ce n'est pas toujours le cas. |
| Si je sélectionne ce que je pense être les meilleurs modèles, les options sous le triangle rouge, vous pouvez regarder les courbes ROC pour ceux-ci et, encore une fois, il y a des coches que je peux activer et désactiver les modèles. Laissez-moi |
| sélectionnez ceci. Et l'une de mes nouvelles fonctionnalités préférées, qui est également disponible sur la plate-forme de comparaison de modèles et dans JMP 17 est ajoutée à toute plate-forme de modélisation qui fait de la modélisation de classification, c'est ce qu'on appelle un seuil de décision. |
| Je pense que c'est l'une des... l'une des... l'une des choses les plus puissantes que nous ayons ajoutées dans JMP 16. |
| Donc, avec ces trois modèles sélectionnés, il m'a donné un résumé des classifications pour ces trois modèles. |
| Et je vais l'agrandir un peu, pour que nous puissions voir un peu mieux. |
| Donc, la façon dont nous lisons ceci est que, si nous jetons un coup d'œil à l'amplification neurale, cela nous montre que deux catégories pour l'amplification neurale... l'amplification neurale et nous prédisons la probabilité d'être élevée. Ce sont donc des probabilités ajustées pour haute. |
| Et le seuil est de 0,5, donc tout ce qui est en dessous de 0,5 est classé comme faible ; tout ce qui dépasse 0,5 est classé comme élevé. |
| Donc, si nous regardons ce bloc rouge ici, ce sont tous les points qui ont été classés comme bas, mais qui étaient en fait élevés, et nous pouvons voir ce nombre ici. Il y en avait 29, donc ce sont les faux négatifs. |
| La case rouge inférieure, celles-ci ont été classées comme hautes, |
| mais c'étaient en fait des bas. Ce sont donc les faux positifs, ces gars-là. |
| Et en bas, il y a des mesures, des graphiques pour nous aider à comprendre cela, et à faire... et nous aider à prendre des décisions. Et il y a aussi des mesures, donc nous pouvons voir ces mêmes valeurs ici, les 29 faux négatifs, 17 faux positifs. |
| Et nous pouvons aussi voir les vrais positifs et les négatifs. Et ce que j'aime vraiment à ce sujet, c'est que cela me permet d'explorer différentes coupures. |
| Ainsi, selon vos objectifs de modélisation, par exemple, nous pourrions être intéressés par un taux de sensibilité élevé, mais nous ne voulons vraiment pas avoir un taux de spécificité faible. |
| Taux de sensibilité, et cette clé ici est vraiment utile, la sensibilité est le vrai taux positif ; la spécificité est le vrai taux négatif. |
| Vous savez, pouvons-nous trouver une coupure qui fait un peu mieux dans les deux cas? Et en cliquant et en faisant glisser, vous pouvez modifier le seuil de classification |
| et essayez de trouver une coupure qui fait un meilleur travail. Ainsi, par exemple, à 0,26, et je vais juste mettre un joli chiffre arrondi ici, à un seuil de 0,25, la sensibilité est plus élevée, tout en conservant une spécificité élevée. |
| Les graphiques que j'ai cachés sont également très utiles pour interpréter ces chiffres, ils nous donnent donc une image globale de la fausse classification |
| par seuil, par portion, puis véritable classement. Donc, si j'essaie de trouver un point qui équilibre la spécificité et la sensibilité, je peux regarder ce graphique. |
| Donc, ces lignes supérieures sont la sensibilité, les lignes pointillées sont la spécificité et y a-t-il un point où je suis toujours au-dessus d'une certaine valeur de sensibilité où... |
| sensibilité, où ma spécificité reste élevée ? Et nous pouvons... nous pouvons les équilibrer. Donc, si je regarde ici, je peux voir que c'est le point où ces deux lignes se croisent. |
| Et cela devient vraiment important si nous avons un cas où nous avons des données déséquilibrées. Prenons donc un autre exemple. Donc je vais fermer ça et |
| pas enregistrer cela. Et permettez-moi de fermer le dépôt de formules, et en passant, le dépôt de formules est autonome, donc fondamentalement, il n'est pas lié à l'ensemble de données que nous utilisions. Il est donc très facile de prendre un modèle et de l'appliquer ensuite à de nouvelles données. Je vais juste continuer et clore ça. |
| Donc, le scénario ici pour ce prochain ensemble de données, les données appelées marketing par carte de crédit, et le scénario est que |
| que nous effectuons des études de marché sur l'acceptation des offres de carte de crédit. Et la réponse est offre acceptée. Et une mise en garde est que seulement 5,5 % des offres, |
| utilisant des données historiques, ont été acceptées. Il s'agit en fait d'une expérience conçue où nous examinons différentes récompenses, différents types d'expéditeurs, |
| informations financières différentes, mais l'expérience conçue est de type récompense et courrier. Nous allons nous concentrer sur cet objectif de modélisation particulier. Nous voulons identifier les clients les plus susceptibles d'accepter l'offre de carte de crédit. |
| Et en faisant cela, nous allons essayer de |
| appliquer le modèle aux nouveaux clients et, en fonction de la classification de ces nouveaux clients, nous allons décider de leur envoyer ou non l'offre. |
| Donc, si les clients ne sont pas très susceptibles d'accepter l'offre, nous n'allons pas la leur envoyer. Si c'est très probable, nous allons le leur envoyer. |
| Voilà donc le scénario, et pour en revenir à JMP, nous avons accepté l'offre. Et je vais juste aller de l'avant et exécuter un script enregistré ici pendant que je parle des données. |
| Nous avons 10 000 observations, donc cela va prendre un peu plus de temps, et pour le moment, il exécute ces modèles, et j'utilise simplement les paramètres par défaut ici. J'ai donc accepté l'offre, |
| le type de récompense est des miles aériens, des remises en argent ou des points. Le type d'expéditeur est une lettre ou une carte postale. Et puis le reste de ceux-ci sont des informations bancaires ... des informations bancaires historiques et des informations démographiques. |
| Vous voyez qu'il exécute des machines à vecteurs de support. Les machines à vecteurs de support peuvent être un peu lentes, en particulier dans les grands ensembles de données, et en fait, elles ne fonctionneront pas, par défaut, si nous avons plus de 10 000 observations. |
| Nous pouvons voir que nous avons un solde moyen. Et les données sont demandées dans la formation et la validation, et JMP reconnaîtra automatiquement les zéros comme formation et les un comme validation. Bon, il exécute tous les modèles. |
| Et si je sélectionne dominant, nous pouvons voir qu'il a sélectionné un ajustement pas à pas et un arbre de décision. |
| Mais je tiens à souligner ce taux de mauvaise classification. |
| Donc c'est... c'est vraiment quelque chose que nous voyons très souvent quand nous essayons de chercher l'aiguille dans la botte de foin, n'est-ce pas. Si je regarde ces données, et je vais juste faire une distribution de ces données... |
| Permettez-moi de l'agrandir un peu, afin que nous puissions le voir un peu mieux, d'accord. Donc, je regarde juste les données de validation, remarquez que |
| 6,25, 6,2, 6,3 % |
| des valeurs étaient oui, ils ont répondu à l'offre, et c'est exactement ce que nous obtenons ici pour le taux de mauvaise classification. |
| Et pour mieux comprendre cela, je vais activer le seuil de décision. |
| Et faites-le un peu plus grand. |
| Notez que le oui prédit est entièrement égal à zéro, et cela est dû au fait que les probabilités prédites étaient toutes relativement faibles. |
| N'oubliez pas que dans une matrice de confusion classique, le seuil est de 0,5, et si vous avez des données déséquilibrées, il est très peu probable que vous classiez un grand nombre d'observations comme oui, dans ce cas. |
| Lorsque je clique et fais glisser, |
| et j'arrive à ce premier ensemble de points, puis je commence à voir des oui prédits. En fait, je vais activer les métriques. |
| Lorsque vous avez des données très déséquilibrées, les probabilités prédites peuvent être très faibles. |
| Ainsi, avoir ce curseur vous permet d'explorer les coupures |
| qui peuvent avoir un impact à la fois sur votre sensibilité et votre spécificité. Donc, dans un cas comme celui-ci, nous pourrions dire quelque chose comme, eh bien, si nous devions envoyer... |
| Je vais juste mettre 0,05 ici... si nous devions envoyer une offre de carte de crédit aux probabilités prédites, les 5 % supérieurs des probabilités prédites de oui, d'accord, notre sensibilité |
| entre les deux modèles est d'environ 0,72, 0,75 et notre spécificité est encore assez élevée. Donc, avoir ceci... cette coupure, ce curseur, vous permet d'obtenir des informations plus utiles de votre modèle. |
| Donc, si... à 0,5, je peux voir que j'obtiens de vrais points positifs. Je reçois aussi beaucoup de faux positifs, c'est vrai, donc il y a un compromis ici. |
| Maintenant, dans un cas comme celui-ci, vous pouvez également avoir des impacts financiers. droite. Il est donc logique d'y penser... |
| matrice de profit. Et il y a un bouton. |
| Je clique dessus. |
| La matrice de profit est une propriété de colonne pour une colonne particulière, et nous pouvons définir |
| cette valeur, qui est coupée du seuil de probabilité, en tant que propriété de colonne, ou nous pouvons également ajouter des valeurs. Vous savez, dans le scénario classique, cela coûte peut-être 5 $ |
| si nous choisissons d'envoyer une offre à quelqu'un. |
| Et s'ils répondent à l'offre, |
| ça vaut peut-être 100 $. Donc, si nous choisissons d'envoyer une offre à quelqu'un et qu'il ne répond pas, nous perdons 5 $. |
| Si nous choisissons d'envoyer une offre à quelqu'un et qu'il réponde, nous gagnerons peut-être en moyenne 100 $. Et peut-être qu'il y a une opportunité perdue, peut-être que nous disons que nous perdons 100 $ |
| s'ils ne répondent pas. Et souvent, le coût de ceci est, ceci est juste laissé vide, nous venons juste de brancher des valeurs pour les oui. Si j'applique ceci et clique sur OK, |
| puis quelques nouvelles valeurs sont ajoutées, à droite. Donc, maintenant nous avons une matrice de profit et si je regarde nos mesures, alors nous pouvons voir les bénéfices prévus. Donc |
| en moyenne, à droite, pour chaque client dans cet ensemble de données, cela signifie que cela rapportera 1,50 $ si nous appliquons le modèle d'arbre de décision et un peu moins si nous appliquons le modèle par étapes. |
| Ainsi, dans une situation comme celle-ci avec des données déséquilibrées lorsqu'il y a des coûts sous-jacents, il est logique d'utiliser la matrice de profit. Si nous n'avons pas de coûts sous-jacents, |
| alors ce curseur nous aide à choisir une coupure qui nous permettra d'atteindre notre objectif de modélisation, d'accord. Il peut s'agir de maximiser la sensibilité, de maximiser la spécificité ou autre chose. |
| C'est donc essentiellement une sélection de modèles. |
| Permettez-moi de fermer ceci et de revenir au jeu de diapositives. |
| Nous avons donc parlé un peu de la modélisation prédictive et de ce que nous entendons par modélisation prédictive. |
| Et nous avons vu que vous pouvez facilement adapter et comparer de nombreux modèles à l'aide de la validation, et la sélection de modèles consiste à rationaliser ce flux de travail. |
| Vous pouvez toujours sortir et adapter des modèles individuels, si vous le souhaitez, mais la sélection de modèles vous permet d'adapter tous les modèles en même temps sur une seule plate-forme, puis de comparer ces modèles. |
| Pour plus d'informations, il existe de nombreux types de métriques disponibles et de très nombreuses métriques pour les données de classification. Il y a un très beau |
| page de Wikipedia sur la sensibilité et la spécificité et toutes les... toutes les différentes métriques, et j'ai trouvé cela très utile car j'essayais de creuser et de comprendre comment interpréter les métriques fournies. |
| Il existe de nombreuses ressources sur la modélisation prédictive en général, ainsi que sur le filtrage de modèles dans JMP Pro. |
| dans notre... dans notre communauté d'utilisateurs. Encore une fois, je ferai référence à STIPS. STIPS est notre cours de réflexion statistique pour la résolution de problèmes industriels. |
| Et le septième module est une introduction à la modélisation prédictive, donc si vous êtes nouveau dans la modélisation prédictive, je vous recommande de vérifier ceci. Et il y a aussi un blog qui utilise les données sur le diabète publiées sur notre communauté. Et enfin, vous savez, toute nouvelle fonctionnalité |
| aura tendance à passer par des améliorations itératives. Le filtrage de modèle a été introduit dans JMP Pro 16. Nous travaillons déjà sur JMP Pro 17 et de nombreuses améliorations sont déjà en cours. |
| Donc, si vous souhaitez jeter un coup d'œil à ce qui s'en vient, cela vous donne l'occasion de donner votre avis, |
| vous savez, contactez-nous pour rejoindre le programme d'adoption précoce et nous vous aiderons à vous installer. Merci pour votre temps et espérons que vous apprécierez le reste de la conférence. |