| Conférencier |
Transcription |
| Russ Wolfinger |
Ok. Eh bien, bonjour à tous. |
| |
Bienvenue chez moi ici à Holly Springs, en Caroline du Nord. |
| |
Avec la folie du Covid, c'est une sorte de nouvelle expérience de faire une conférence virtuelle en ligne, mais je suis vraiment ravi de parler avec vous aujourd'hui et de vous proposer un tutoriel sur un tout nouveau module complémentaire que nous avons pour JMP Pro |
| |
qui implémente la fonctionnalité populaire XGBoost. |
| |
Aujourd'hui, dans ce tutoriel, je vais vous présenter un aperçu de ce que nous avons. J'ai ici un journal JMP. |
| |
qui seront disponibles dans les supports de la conférence. Et ce que je vous encourage à faire, si vous souhaitez suivre la conférence vous-même, |
| |
Vous pouvez mettre la vidéo en pause et accéder aux documents de la conférence, ou récupérer ce journal. Vous pouvez l'ouvrir dans votre version de JMP Pro. |
| |
Il y a aussi un lien pour l'installer. Vous devez installer un module complémentaire. Si vous le faites, vous pourrez reproduire exactement ce que je fais ici chez vous, et même faire vos propres essais. Je vous encourage donc à le faire si possible. |
| |
J'ai mon chien Charlie, il est en arrière-plan. J'espère qu'il ne fera rien d'embarrassant. Il n'a pas l'air trop excité pour le moment, mais il adore XGBoost autant que moi, alors allons-y. |
| |
XGBoost est une bibliothèque C++ open source assez incroyable qui existe depuis quelques années maintenant. |
| |
Et la théorie originale a en fait été élaborée par quelques statisticiens célèbres dans les années 90, mais l'équipe de l'Université de Washington a ensuite repris les idées et les a mises en œuvre. |
| |
Et je pense que c'est dans le contexte de certaines compétitions Kaggle que cela a vraiment pris tout son sens. |
| |
Là où tout a commencé... une fois que les gens ont commencé à l'utiliser et qu'il était disponible, il a littéralement commencé à gagner à peu près tous les concours tabulaires que Kaggle a organisés au cours des dernières années. |
| |
Et il existe désormais plusieurs centaines d'exemples en ligne, si vous voulez faire quelques recherches, vous les trouverez. |
| |
Je considère donc qu’il s’agit sans doute de la méthodologie de modélisation prédictive de données tabulaires la plus populaire et peut-être la plus puissante au monde à l’heure actuelle. |
| |
Bien sûr, il y a des concurrents et pour chaque ensemble de données particulier, vous pouvez voir certaines différences, mais dans l'ensemble, c'est très impressionnant. |
| |
En fait, il existe désormais des packages concurrents qui offrent des fonctionnalités très similaires, comme LightGBM de Microsoft et Catboost de Yandex. Nous ne les détaillerons pas aujourd'hui, mais ils sont assez similaires. |
| |
Comme nous n'avons pas beaucoup de temps aujourd'hui, je ne veux pas m'étendre sur les motivations. Mais encore une fois, vous avez ce journal si vous voulez les examiner plus en détail. |
| |
Ce que je veux faire, c'est vous donner les points forts de ce journal et en particulier vous donner quelques démonstrations en direct afin que vous ayez une idée de ce qu'il contient. |
| |
Vous serez ensuite libre d'explorer et d'essayer ces fonctionnalités par vous-même, au fil du temps. Vous aurez besoin d'une version fonctionnelle de JMP Pro 15. |
| |
au plus tôt, mais si vous pouvez mettre la main sur JMP 16 en tant qu'adopteur précoce, le JMP 16 officiel ne sera pas livré avant l'année prochaine, en 2021, |
| |
Vous pouvez obtenir votre version d'essai dès maintenant, et nous y apportons des améliorations. Je vous encourage donc à acquérir la dernière version d'essai de JMP 16 Pro. |
| |
afin d'obtenir les fonctionnalités les plus récentes de ce module complémentaire… de cette fonctionnalité. C'est une configuration de cadre inhabituelle pour JMP Pro. |
| |
Nous avons écrit beaucoup de code C++ directement dans Pro afin de l'intégrer à l'API C++ de XGBoost. C'est pourquoi nous réalisons la plupart de nos travaux en C++. |
| |
mais il y a un module complémentaire qui accompagne cela et qui installe la bibliothèque dynamique et effectue une petite mise à jour du menu pour vous, vous avez donc besoin... vous avez besoin à la fois de Pro et vous devez installer le module complémentaire, afin de l'exécuter. |
| |
Alors, procurez-vous JMP 16 Pro Early Adopter si vous le pouvez, afin d'obtenir les dernières nouveautés et c'est ce que je vais vous montrer aujourd'hui. |
| |
Prenons un exemple. Voici un tout nouveau projet qui vient d'attirer mon attention. Il a une histoire très intéressante. |
| |
Le chercheur à l'origine de ces données est le professeur Jaivime Evarito. Expert en sciences environnementales, titulaire d'un doctorat, il est également professeur et maître de conférences. |
| |
Il travaille actuellement à l'Université d'Utrecht, aux Pays-Bas. Il a aimablement fourni ces données avec son autorisation, ainsi que l'histoire qui les sous-tend, afin d'aider d'autres personnes qui ont vécu un certain drame autour de ces données. J'ai fait de lui son collègue Jeffrey McDonnell. |
| |
J'ai collecté toutes ces données. L'objectif est d'étudier le ruissellement des eaux dans les zones déboisées du monde entier. |
| |
Et vous pouvez voir, nous avons 163 endroits ici, la plupart au moins la moitié aux États-Unis et ensuite dans le monde entier, différents endroits où ils ont pu collecter |
| |
régions qui ont été déboisées et ensuite ils ont pris des mesures critiques |
| |
Concernant l'écoulement des eaux. Ce type d'étude est essentiel pour étudier les impacts environnementaux du déboisement et de la déforestation, ainsi que le changement climatique. Elle arrive donc à point nommé. |
| |
Et heureusement pour Jaivime à l'époque, ils ont pu publier un article dans la revue Nature, l'une des meilleures revues scientifiques au monde, un très bon article. |
| |
Il a fallu beaucoup d'expérience pour y parvenir. Malheureusement, la suite a été difficile : un laboratoire concurrent s'est montré très critique à l'égard de ce qu'ils avaient fait dans cet article. |
| |
Et il s'est avéré qu'après de nombreux allers-retours et débats, l'article a fini par être retiré, |
| |
Ce qui a évidemment été une expérience très difficile pour Jaivime. Il a été très généreux et a partagé son histoire et ses espoirs. |
| |
Pour éviter cela. Il s'avère que la source de la controverse est multiple, mais le principal point de désaccord des critiques est… |
| |
J'ai peut-être réalisé une analyse arborescente boostée. C'est un modèle assez simple. Nous n'avons qu'une poignée de prédicteurs, chacun étant important, et l'un de leurs principaux objectifs était de déterminer lesquels étaient les plus importants. |
| |
Il a exécuté un modèle d'arbre boosté avec un seul ensemble de validation de maintien et a publié une validation de maintien d'environ 0,7. Tout semblait correct. |
| |
mais ensuite les critiques sont arrivées, elles ont réanalysé les données avec un ensemble de valeurs de réserve différent et elles ont obtenu une valeur de réserve de validation R carré |
| |
de moins de 0,1. C'est un changement considérable. Ils passent de 0,7 à moins de 0,1, et ceci a été utilisé par les critiques qui se sont précipitées sur l'affaire et ont tenté de discréditer la situation. |
| |
Maintenant, Jaivime, à ce stade, Jaivime, cela s'est produit l'année dernière et le document a été rétracté plus tôt ici en 2020... |
| |
Jaivime a partagé les données avec moi cet été et j'ai pensé à faire une analyse de validation croisée un peu plus rigoureuse et à faire réellement des K-fold répétés, |
| |
Au lieu d'une seule tentative, nous avons tenté de comprendre cette divergence entre deux tentatives différentes. Et ce que j'ai fait, c'est que nous avons mis en place une nouvelle routine. |
| |
fourni avec le module complémentaire XGBoost, qui crée des colonnes à K plis. Si vous voyez l'ensemble de données ici, c'est moi qui les ai créées. Par souci de temps, nous n'aborderons pas la procédure. |
| |
Il existe désormais un nouveau module intitulé « Créer des colonnes pliées en K » qui vous permettra de le faire. Je l'ai fait de manière stratifiée. Et curieusement, il s'appelle JMP DOE. |
| |
L'avantage de cette méthode est qu'elle permet de créer des plis orthogonaux, ce qui n'est pas très courant. Voici une distribution rapide. |
| |
C'est l'ensemble de résistance que Jaivime avait initialement élaboré et qu'il avait stratifié, ce qui est une bonne idée, je pense, car la réponse est un peu biaisée. Et c'est cet ensemble de résistance qu'a utilisé le critique. |
| |
Et voici les plis que j'ai finalement utilisés. J'ai réalisé trois schémas différents. Ce que je voulais souligner ici, c'est que ces plis sont plutôt orthogonaux. |
| |
où nous obtenons une sorte de gain d'information maximal en effectuant K fois trois fois séparément avec trois ensembles orthogonaux. |
| |
Et puis, il s'avère que, comme il utilisait déjà des arbres boostés, la prochaine chose à essayer est le module complémentaire XGBoost. J'étais donc vraiment heureux de découvrir cet ensemble de données et d'en parler ici. |
| |
Maintenant, que s'est-il passé ? Je vais faire une autre analyse, où j'applique une méthode unidirectionnelle aux ensembles de validation. Il s'avère que j'ai raté ce que je fais ici : les réponses, ce rendement en eau corrigé. |
| |
Et je trace cela par rapport aux ensembles de validation. Il s'est avéré que Jaivime dans son ensemble d'entraînement, |
| |
les quatre ou cinq premières mesures se sont toutes retrouvées dans son ensemble d'entraînement, ce qui, je pense, est en quelque sorte à la racine du problème. |
| |
Alors que dans l'ensemble des critiques, c'était… équilibré, un peu plus, et en particulier le pire… que l'emplacement le mieux noté se trouvait dans l'ensemble de validation. C'est donc une source naturelle d'erreur, car cela va au-delà de tout ce qui a été fait lors de la formation. |
| |
Et je pense que c'est vraiment un cas où l'analyse de type K fold, K fold, est plus convaincante que de simplement faire un seul ensemble de données de référence. |
| |
Je dirais que ces deux ensembles de rétention uniques ont un certain biais et qu'il est préférable de faire plus de plis dans lesquels vous stratifiez... distribuez les choses |
| |
Chaque fois, on observe ce qui se passe après plusieurs ajustements. Vous pouvez donc voir à quoi ressemblent les plis que j'ai créés ici en termes de distribution. Exécutons maintenant XGBoost. |
| |
Donc, le module complémentaire a en fait beaucoup de fonctionnalités et je ne veux pas vous submerger aujourd'hui, mais encore une fois, je vous encourage à suivre et à mettre la vidéo en pause à certains endroits si vous essayez de suivre vous-même. |
| |
Pour être sûr. Mais ici, j'ai simplement exécuté un script. Au fait, tout dans le journal… les tables JMP sont pratiques, on peut y enregistrer des scripts. J'ai donc exécuté XGBoost à partir de ce script. |
| |
Pour illustrer, je vais relancer cette opération directement depuis le menu. C'est la méthode que vous pourriez utiliser. Ainsi, lorsque vous installerez le module complémentaire, |
| |
Vous avez sélectionné « Modélisation prédictive », puis « XGBoost ». Nous l'avons donc ajouté ici, dans le menu de modélisation prédictive. Voici comment procéder. |
| |
Il s'agit de spécifier la réponse. Voici Y. Il y a sept prédicteurs, que nous allons insérer ici sous forme de x, puis indiquer leurs colonnes de repli et de validation. |
| |
Je voulais souligner ici un point concernant ceux d'entre vous qui sont des utilisateurs expérimentés de JMP Pro : XGBoost gère les colonnes de validation un peu différemment des autres plates-formes JMP. |
| |
C'est une sorte de cadre expérimental à ce stade, mais d'après mon expérience, je trouve que le pliage K répété est une manière très convaincante de le faire et je voulais configurer le module complémentaire pour le rendre facile. |
| |
Et donc ici, je remets ces colonnes de pliage que nous avons créées avec l'utilitaire, et XGBoost effectuera automatiquement un pliage K répété simplement en le spécifiant comme nous l'avons fait ici. |
| |
Si vous souhaitez effectuer une seule analyse comme les analyses originales, vous pouvez la configurer comme d'habitude, mais vous devez créer la colonne |
| |
C'est continu. C'est un piège. Et je sais que certains de nos premiers adeptes se sont laissés piéger par cela, et c'est une convention différente des autres. |
| |
JMP Pro utilise d'autres routines de modélisation prédictive comme XGBoost, mais celle-ci me semble la plus simple. Et encore une fois, la méthode recommandée est d'exécuter |
| |
Répétez le K-fold comme ceci, ou au moins un seul K-fold, puis cliquez sur OK. Vous obtiendrez cette fenêtre de lancement initiale. |
| |
L'avantage de XGBoost, c'est qu'il propose de nombreux paramètres de réglage. Les principaux sont listés ici, dans cet encadré, et vous pouvez les utiliser. |
| |
Et puis il s'avère qu'il y en a beaucoup plus, et ils sont cachés sous ces options avancées, pour lesquelles nous n'avons pas du tout le temps aujourd'hui. |
| |
Mais nous avons essayé de… ce sont les plus importants, ceux que vous utiliserez généralement… dans la plupart des cas, vous n'aurez qu'à vous en occuper. Alors, lançons… lançons à nouveau. Cliquez ensuite sur « Go » pour lancer XGBoost. |
| |
Je travaille sur un simple ordinateur portable. Il s'agit d'un ensemble de données relativement restreint. Et donc… on vient de répéter, répéter cinq fois. |
| |
Trois choses différentes, en quelques secondes seulement. XGBoost est plutôt bien paramétré et fonctionnera bien avec des ensembles de données plus volumineux, mais pour ce petit exemple, voyons ce qui s'est passé. |
| |
Il s’avère maintenant que ce graphique initial qui en ressort soulève immédiatement un signal d’alarme. |
| |
Ce que nous regardons ici, c'est... sur le nombre d'itérations, les itérations d'ajustement, nous avons une courbe d'entraînement qui est fondamentalement la fonction de perte que vous souhaitez réduire. |
| |
Mais la courbe continue est la courbe de validation. Et vous pouvez voir ce qui s'est passé ici. Après quelques itérations, cette courbe a atteint son point bas, puis la situation a considérablement empiré. |
| |
Il s'agit donc d'un cas où il serait déconseillé d'utiliser ce modèle par défaut. XGBoost est déjà sur-ajusté. |
| |
ce qui se produit souvent pour des ensembles de données plus petits comme celui-ci et cela nécessite un réglage. |
| |
Il y a beaucoup d'autres résultats en bas, mais encore une fois, ils ne seraient pas… je ne les considérerais pas comme fiables. À ce stade, il faudrait… il faudrait faire quelques ajustements. |
| |
Aujourd'hui, nous allons simplement faire un peu de réglage manuel, mais je vous encourage à le faire. Nous avons implémenté un framework complet pour créer une conception de réglage. |
| |
où vous pouvez spécifier une plage de paramètres et effectuer une recherche dans l'espace de conception et nous utilisons à nouveau JMP DOE. |
| |
Nous utilisons déjà DOE de deux manières différentes, chacune améliorant considérablement ses fonctionnalités. Pour l'instant, effectuons un petit réglage manuel à partir de ce graphique. |
| |
Vous pouvez voir si nous pouvons… zoomer sur ce graphique et nous voyons que la courbe atteint son point bas. Je vais juste regarder après trois ou quatre itérations. Une chose très simple à faire est d'arrêter l'entraînement après quatre étapes. |
| |
Et voyez ce qui se passe. Au fait, remarquez ce qui s'est passé pour notre surapprentissage : notre R² de validation était négatif, donc plutôt mauvais. Ce n'est absolument pas un modèle recommandé. Mais si nous exécutons ce nouveau modèle, nous allons juste faire quatre… seulement quatre étapes. |
| |
regarde ce qui se passe. |
| |
Le R² de validation est bien meilleur. Nous sommes maintenant autour de 0,16 et, pour le plaisir, nous allons essayer trois fois. Voyons ce qui se passe. |
| |
C'est un peu pire. Vous voyez, c'est le genre de chose avec laquelle on peut jouer. Nous avons essayé d'établir un dialogue qui soit ouvert à cette possibilité. |
| |
Vous pouvez comparer des modèles à partir de ce tableau, présenté au début. Vous pouvez trier les résultats par colonnes pour trouver le meilleur modèle, puis, en dessous, explorer les différents détails de la modélisation. |
| |
Restons-en au modèle 2 ici, et ce que nous pouvons faire est... |
| |
Gardons seulement celui-là et vous pourrez nettoyer... vous pourrez nettoyer les modèles dont vous ne voulez pas, cela supprimera ceux qui sont cachés. |
| |
Revenons maintenant au modèle que nous souhaitons examiner plus en détail. Notez ici que notre coefficient de validation R² est d'environ 0,17. |
| |
Donc, rappelez-vous, c'est en fait un écart entre ce que Jaivime a obtenu à l'origine et ce que le critique a obtenu. |
| |
Et je considérerais cela comme une mesure beaucoup plus fiable du R carré car, encore une fois, il est calculé sur l'ensemble, nous avons en fait exécuté 15 ajustements de modélisation différents, |
| |
quintuplé à trois reprises. Il s'agit donc d'une moyenne sur ces trois périodes. Je pense donc que c'est une mesure beaucoup plus précise et fiable des performances du modèle. |
| |
Si vous faites défiler la page vers le bas pour trouver un modèle adapté, vous constaterez qu'il y a beaucoup de résultats à analyser. JMP est excellent : nous essayons toujours d'avoir des graphiques à proximité des statistiques, ce qui est facile à comprendre. |
| |
les deux voient ce qui se passe et y attachent des chiffres et ces graphiques sont en direct comme d'habitude, agréablement interactifs. |
| |
Mais vous pouvez voir ici que nous avons un entraînement réel, un entraînement prévu et une validation. Et les choses empirent presque toujours pour la validation, mais c'est la réalité. |
| |
Et vous pouvez voir à nouveau où les erreurs sont commises, et c'est ce point vraiment élevé, il devient souvent... c'est la ligne à 45 degrés. |
| |
Ainsi, ces mesures élevées ont tendance à être sous-estimées, ce qui est assez normal. Je pense que pour toute méthode de ce type, la tendance est à la contraction. |
| |
Les valeurs extrêmes sont réduites, par prudence. Ainsi, vous pouvez voir précisément où se situent les erreurs et dans quelle mesure. |
| |
Maintenant, pour ce qui est de l'intérêt principal de Jaivime, c'était... il était surtout intéressé à voir quelles variables étaient réellement à l'origine |
| |
Cet effet de correction de l'eau. Et on voit que celui qui ressort le plus est celui appelé PET. |
| |
Il existe différentes manières d'évaluer l'importance des variables dans XGBoost. Vous pouvez considérer le nombre de divisions comme une mesure de gain, ce qui me semble |
| |
C'est peut-être le meilleur point de départ. Il s'agit de savoir dans quelle mesure le modèle s'améliore à chaque fois que l'on divise une variable donnée. Il existe une autre option, appelée couverture. |
| |
Dans ce cas, pour chacun des trois, cette TEP apparaît comme la plus importante. C'est donc essentiellement cette analyse rapide qui semble être le point central de ces données. |
| |
Avec JMP, nous pouvons désormais faire encore plus. Vous pouvez voir ici, sous le triangle rouge de modélisation, que nous avons amélioré de nombreuses fonctionnalités. Vous pouvez enregistrer des valeurs prédictives et des formules. |
| |
vous pouvez publier sur Model Depot ou Formula Depot et y faire plus de choses. |
| |
Nous avons même des routines pour générer du code Python, qui ne servent pas uniquement à la notation, mais aussi à l'entraînement et à l'ajustement. C'est une nouveauté, mais cela aidera ceux d'entre vous qui souhaitent migrer de JMP Pro vers Python. Pour l'instant, intéressons-nous au profileur. |
| |
Et je dois présenter un mot d'excuse rapide à mon ami Brad Jones dans une vidéo précédente, j'avais oublié de reconnaître qu'il était l'inventeur du profileur. |
| |
C'est un cas concret, et c'est à son honneur, que nous l'utilisons désormais d'une autre manière, pour évaluer l'importance des variables et leur fonctionnement. C'est donc pour moi une approche vraiment convaincante. |
| |
Un cadre où nous pouvons… nous pouvons examiner cela. Et Charlie… Charlie s'est levé du canapé quand je l'ai mentionné. Il est là, à côté de moi. |
| |
Et donc, regardez ce qui se passe... nous pouvons voir que la chose intéressante avec cette variable PET, c'est que nous pouvons voir le moment clé, il semble que ce soit dès que PET |
| |
C'est juste au-dessus de 1 200 environ que les choses décollent vraiment. C'est donc une très bonne illustration du fonctionnement du profileur. |
| |
Et autant que je sache, c'est la première fois... c'est la première... c'est le seul logiciel qui offre |
| |
des graphiques comme celui-ci, qui vont au-delà de ces simples mesures statistiques d'importance et vous montrent exactement ce qui se passe et vous aident à interpréter |
| |
Le modèle d'arbre boosté. C'est donc une méthode d'analyse vraiment intéressante, et je vous encourage à l'essayer avec vos propres données. |
| |
Passons maintenant à un autre exemple et revenons à notre journal. |
| |
Comme vous pouvez le constater, il y a beaucoup de choses ici. Nous n'avons naturellement pas le temps de tout parcourir. |
| |
Mais pour gagner du temps, je voulais vous montrer ce qui se passe avec une cible binaire. Ce que nous venons de voir est continu. |
| |
Pour cela, nous utiliserons l'ancien ensemble de données sur le diabète, existant depuis un certain temps et disponible dans la bibliothèque d'échantillons JMP. Cet ensemble de données est identique, mais enrichi de nouveaux scripts. |
| |
Et donc si vous obtenez le journal et le téléchargez, vous obtiendrez ce genre de version améliorée qui a |
| |
un certain nombre d'exécutions XGBoost avec différentes cibles ordinales binaires et, comme vous vous en souvenez, nous avons ici des mesures basses et hautes qui sont dérivées de cette variable Y d'origine, |
| |
Nous étudions la réponse au diabète. Et nous allons aller encore plus loin. Imaginons que nous soyons dans un contexte médical où nous souhaitons utiliser une matrice de profit. Notre objectif est de prendre une décision. Nous allons prédire l'évolution de chaque personne. |
| |
qu'ils soient élevés ou faibles, mais après y avoir réfléchi, nous avons réalisé que si une personne est réellement élevée, les enjeux sont un peu plus élevés. |
| |
Nous allons donc doubler nos profits ou nos pertes, selon que l'état actuel est élevé ou non. Et bien sûr, |
| |
c'est une façon dont cela fonctionne qui est généralement correcte... les bonnes décisions sont ici et ici. |
| |
Et puis il y a les erreurs ici, et ce sont celles-là... vous devez penser aux quatre cellules lorsque vous configurez une matrice comme celle-ci. |
| |
Et voici un exemple simple : il s'agit de doubler, et je ne sais pas si on peut y attribuer une valeur monétaire réelle. C'est plutôt une bonne chose si vous êtes dans ce genre de situation. |
| |
Qui sait, peut-être que nous pouvons considérer chacun d'eux comme un BitCoic, d'une valeur d'environ 10 000 $ chacun ou quelque chose comme ça. |
| |
Peu importe. Il s'agit plutôt de prendre une décision optimale en fonction de nos besoins. |
| |
Nos prévisions. Nous allons donc prendre en compte cette matrice de profit lors de notre analyse. En fait, elle n'est effectuée qu'après l'ajustement du modèle. Elle n'est pas directement utilisée lors de l'ajustement lui-même. |
| |
Nous allons donc exécuter XGBoost ici, et nous avons une cible binaire. Si vous remarquez |
| |
la fonction objective a maintenant changé en une logistique de perte logarithmique et c'est ce qui se reflète ici, c'est la vraisemblance logarithmique logistique. |
| |
Et vous pouvez voir... nous pouvons maintenant regarder avec une cible binaire les mesures que nous utilisons pour l'évaluer sont un peu différentes. |
| |
Bien que, si vous le remarquez, nous avons des colonnes de bénéfices qui sont calculées à partir de la matrice de bénéfices que nous venons d'examiner. |
| |
Mais si vous êtes dans un scénario, peut-être où vous ne voulez pas vous soucier autant d'une matrice de profit, juste d'une sorte de régression binaire directe, vous pouvez regarder des mesures courantes comme |
| |
Il s'agit simplement de la précision, qui est l'inverse du taux d'erreur de classification. Ces corrélations F1 ou Matthews sont intéressantes à examiner, ainsi qu'une analyse ROC, qui permet d'équilibrer spécificité et sensibilité. Toutes ces données sont donc disponibles. |
| |
Et vous pouvez approfondir. Je voulais vous montrer une nouveauté sur laquelle nous travaillons encore : nous avons maintenant un moyen de jouer avec vos seuils de décision. |
| |
Et vous pouvez désormais le faire de manière interactive. Nous avons une nouvelle fonctionnalité qui permet de tracer vos bénéfices par seuil. |
| |
Il s'agit donc d'un tout nouveau graphique que nous commençons tout juste à introduire dans JMP Pro et vous devrez obtenir le tout dernier early adopter de JMP 16 pour l'obtenir, mais il prend en charge la matrice de décision... |
| |
ou la matrice de profit. Nous travaillons également à la possibilité de dériver un seuil optimal directement à partir de cette matrice. |
| |
Je crois que, dans ce cas, c'est toujours 0,5. Cela apporte donc un éclairage supplémentaire sur les actions à entreprendre si votre véritable objectif est de maximiser vos profits. |
| |
Sinon, vous souhaiterez probablement équilibrer la spécificité et la sensibilité en fonction de votre contexte, mais vous disposez des matrices de confusion typiques, qui sont présentées ici, ainsi qu'ici, ainsi que de quelques graphiques pour la formation et la validation. |
| |
Et puis les courbes ROC. |
| |
On retrouve également les mêmes résultats que précédemment concernant l'importance des variables. Reprenons le profileur, car c'est une bonne solution… |
| |
C'est également intéressant dans ce cas précis. On peut voir exactement ce qui se passe avec chaque variable. |
| |
Nous pouvons voir par exemple ici que le LTG et l'IMC sont les deux variables les plus importantes et qu'elles semblent toutes deux augmenter avec la réponse, ce qui nous permet d'observer directement cette relation. De fait, avec les arbres, on peut parfois observer des non-linéarités, comme ici avec l'IMC. |
| |
Il n'est pas clair si c'est une chose réelle ici, nous voudrions peut-être faire plus d'analyses ou examiner plus de modèles pour nous assurer, peut-être qu'il se passe quelque chose de réel ici avec ce petit |
| |
Ce sont des bosses que l'on voit. Mais ce sont des choses que l'on peut démêler, vraiment amusantes et intéressantes à observer. |
| |
Voilà donc ce qui permet de jouer avec les données sur le diabète. La revue est bien plus complète. Il y a deux autres exemples que je ne présenterai pas aujourd'hui par manque de temps, mais ils sont détaillés dans la documentation de XGBoost. |
| |
Il s'agit d'un document PDF qui détaille en détail le module complémentaire et vous guide pas à pas à travers ces deux exemples. Je vous encourage donc à les consulter. |
| |
Et puis, le journal contient également plusieurs comparaisons différentes qui ont été faites. |
| |
Vous avez vu cette matrice violette que nous avons étudiée. Il s'agit d'une étude réalisée à l'Université de Pennsylvanie. |
| |
Ils comparent une série de méthodes d'apprentissage automatique sur différents ensembles de données, puis comparent le nombre de fois où l'une surpasse l'autre. Et XGBoost |
| |
est apparu comme le modèle phare, et cette comparaison n'était pas toujours la meilleure, mais en moyenne, il a eu tendance à surpasser tous les autres modèles présentés ici. Voilà donc une preuve supplémentaire de |
| |
La puissance et les capacités de cette technique. Il y a encore quelques points que je n'aborderai pas. |
| |
Ce cas de Hill Valley est intéressant. Il s'agit d'un cas où les arbres n'ont pas bien fonctionné. C'est une situation quelque peu pathologique, mais intéressante à étudier, simplement pour vous aider à comprendre ce qui se passe. |
| |
Nous avons également effectué des tests assez approfondis en interne au sein de la R&D de JMP et bon nombre de ces résultats sont disponibles ici sur plusieurs ensembles de données différents. |
| |
Et encore une fois, pour gagner du temps, je n'entrerai pas dans les détails, mais je vous encourage à les consulter. Tous nos résultats sont fournis avec la revue et vous pouvez les exploiter dans différents domaines et tailles de données. |
| |
Alors, regardez ça. Juste pour le fun, notre conclusion en termes de vitesse est résumée ici dans ce petit mème. Nous avons deux voitures différentes. |
| |
En fait, cela fonctionne vraiment bien et il est réglé pour utiliser tous les... tous les threads que vous avez dans votre GPU... dans votre CPU. |
| |
Et si vous utilisez Windows, avec une carte NVIDIA, vous pouvez même exploiter votre GPU, ce qui multipliera souvent la vitesse par cinq. C'est vraiment amusant. |
| |
Je conclus donc ce tutoriel. Je vous encourage à le consulter. Je tenais à vous remercier chaleureusement. De nombreuses personnes ont participé. |
| |
Et je crains d'en avoir oublié quelques-uns, mais je voulais au moins les remercier. Nous avons eu un excellent groupe d'utilisateurs précoces. |
| |
Et ils ont fourni de très bons commentaires de la part de Marie, Diedrich et ces gars de Villanova ont en fait déjà commencé à utiliser XGBoost dans une salle de classe avec succès. |
| |
C'était vraiment super d'entendre ça. Et beaucoup de gens au sein de JMP ont apporté leur aide. |
| |
Bien sûr, cela s'appuie sur l'ensemble de l'infrastructure JMP. Il faudra donc répertorier la quasi-totalité de la division JMP à un moment donné, avec l'aide nécessaire. C'était vraiment amusant de travailler dessus. |
| |
Je tiens également à remercier notre équipe des Sciences de la vie qui m'a permis de rester honnête sur divers points. Elle m'a apporté son aide avec de nombreuses suggestions. |
| |
Luciano a implémenté un module complémentaire XGBoost, compatible avec JMP Genomics. Je vous encourage donc à le consulter également si vous utilisez JMP Genomics. Vous pouvez également appeler XGBoost directement dans le framework de modélisation prédictive. |
| |
Merci beaucoup pour votre attention et j'espère que vous pourrez essayer XGBoost. |