{"id":15909,"date":"2022-04-24T13:02:09","date_gmt":"2022-04-24T12:02:09","guid":{"rendered":"https:\/\/complex-systems-ai.com\/?page_id=15909"},"modified":"2022-04-24T13:58:07","modified_gmt":"2022-04-24T12:58:07","slug":"apprentissage-densembles","status":"publish","type":"page","link":"https:\/\/complex-systems-ai.com\/en\/data-analysis\/learning-sets\/","title":{"rendered":"Set learning"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"15909\" class=\"elementor elementor-15909\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e3cd27f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e3cd27f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-adac9ed\" data-id=\"adac9ed\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6f5e740 elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"6f5e740\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/complex-systems-ai.com\/analyse-des-donnees\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Analyse des donn\u00e9es<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-130fb0b\" data-id=\"130fb0b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-553080c elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"553080c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/complex-systems-ai.com\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Page d'accueil<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-302d7b1\" data-id=\"302d7b1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-50c761d elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"50c761d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/en.wikipedia.org\/wiki\/Data_analysis\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Wiki<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ed7601d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ed7601d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fbf05a6\" data-id=\"fbf05a6\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9fce4f1 elementor-widget elementor-widget-text-editor\" data-id=\"9fce4f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Maintenant, supposons que vous ayez choisi le meilleur mod\u00e8le possible pour un probl\u00e8me particulier et que vous vous efforciez d&rsquo;am\u00e9liorer encore sa pr\u00e9cision. Dans ce cas, vous devrez appliquer des techniques d&rsquo;apprentissage automatique plus avanc\u00e9es qui sont collectivement appel\u00e9es apprentissage d&rsquo;ensembles.<\/p><p>Un ensemble est un ensemble d&rsquo;\u00e9l\u00e9ments qui contribuent collectivement \u00e0 un tout. Un exemple familier est un ensemble musical, qui m\u00e9lange les sons de plusieurs instruments de musique pour cr\u00e9er une belle harmonie, ou des ensembles architecturaux, qui sont un ensemble de b\u00e2timents con\u00e7us comme une unit\u00e9. Dans les ensembles, le (tout) r\u00e9sultat harmonieux est plus important que l&rsquo;ex\u00e9cution de n&rsquo;importe quelle partie individuelle.<\/p><p><img decoding=\"async\" class=\"aligncenter wp-image-11096 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2020\/09\/cropped-Capture.png\" alt=\"apprentissage d&#039;ensembles\" width=\"97\" height=\"97\" title=\"\"><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d77a966 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d77a966\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-dfe0d86\" data-id=\"dfe0d86\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6c61a8c elementor-widget elementor-widget-heading\" data-id=\"6c61a8c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenus<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/complex-systems-ai.com\/en\/data-analysis\/learning-sets\/#Principes-des-apprentissage-densembles\" >Principes des apprentissage d'ensembles<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/complex-systems-ai.com\/en\/data-analysis\/learning-sets\/#Amorcage-bagging-et-bootstraping\" >Amor\u00e7age (bagging et bootstraping)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/complex-systems-ai.com\/en\/data-analysis\/learning-sets\/#Bagging\" >Bagging<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/complex-systems-ai.com\/en\/data-analysis\/learning-sets\/#Erreur-hors-sac-out-of-bag-error\" >Erreur hors sac (out-of-bag error)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/complex-systems-ai.com\/en\/data-analysis\/learning-sets\/#Foret-aleatoire-Random-forest\" >For\u00eat al\u00e9atoire (Random forest)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/complex-systems-ai.com\/en\/data-analysis\/learning-sets\/#Comparaison\" >Comparaison<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/complex-systems-ai.com\/en\/data-analysis\/learning-sets\/#Parametres-pour-augmenter-la-precision\" >Param\u00e8tres pour augmenter la pr\u00e9cision<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/complex-systems-ai.com\/en\/data-analysis\/learning-sets\/#Conclusion-sur-le-random-forest\" >Conclusion sur le random forest<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Principes-des-apprentissage-densembles\"><\/span>Principes des apprentissage d'ensembles<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-088facb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"088facb\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-cddfe1f\" data-id=\"cddfe1f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-28899bd elementor-widget elementor-widget-text-editor\" data-id=\"28899bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Le th\u00e9or\u00e8me du jury de Condorcet (1784) concerne un ensemble dans un certain sens. Il stipule que, si chaque membre du jury rend un jugement ind\u00e9pendant et que la probabilit\u00e9 de la d\u00e9cision correcte de chaque jur\u00e9 est sup\u00e9rieure \u00e0 0,5, alors la probabilit\u00e9 de la d\u00e9cision correcte de l&rsquo;ensemble du jury augmente avec le nombre total de jur\u00e9s et tend \u00e0 une.\u00a0<span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); font-size: 1.125rem;\">En revanche, si la probabilit\u00e9 d&rsquo;avoir raison est inf\u00e9rieure \u00e0 0,5 pour chaque jur\u00e9, alors la probabilit\u00e9 d&rsquo;une d\u00e9cision correcte par l&rsquo;ensemble du jury d\u00e9cro\u00eet avec le nombre de jur\u00e9s et tend vers z\u00e9ro.<\/span><\/p><p>Prenons un autre exemple d&rsquo;ensembles : une observation connue sous le nom de Sagesse de la foule. En 1906, Francis Galton a visit\u00e9 une foire rurale \u00e0 Plymouth o\u00f9 il a vu un concours organis\u00e9 pour les agriculteurs. 800 participants ont tent\u00e9 d&rsquo;estimer le poids d&rsquo;un taureau abattu. Le poids r\u00e9el du taureau \u00e9tait de 1198 livres. Bien qu&rsquo;aucun des agriculteurs ne puisse deviner le poids exact de l&rsquo;animal, la moyenne de leurs pr\u00e9visions \u00e9tait de 1197 livres.<\/p><p>Une id\u00e9e similaire pour la r\u00e9duction des erreurs a \u00e9t\u00e9 adopt\u00e9e dans le domaine de l&rsquo;apprentissage automatique.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4e25878 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4e25878\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1e373de\" data-id=\"1e373de\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-62e2f86 elementor-widget elementor-widget-heading\" data-id=\"62e2f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Amorcage-bagging-et-bootstraping\"><\/span>Amor\u00e7age (bagging et bootstraping)<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d0b2036 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d0b2036\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bd59b0d\" data-id=\"bd59b0d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-beeb7ba elementor-widget elementor-widget-text-editor\" data-id=\"beeb7ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Le bagging (\u00e9galement connu sous le nom d&rsquo;agr\u00e9gation Bootstrap) est l&rsquo;une des premi\u00e8res et des plus basiques techniques d&rsquo;ensemble. Il a \u00e9t\u00e9 propos\u00e9 par Leo Breiman en 1994. Le bagging est bas\u00e9 sur la m\u00e9thode statistique du bootstrap, qui rend possible l&rsquo;\u00e9valuation de nombreuses statistiques de mod\u00e8les complexes.<\/p><p>La m\u00e9thode bootstrap se d\u00e9roule comme suit. Soit un \u00e9chantillon X de taille N. On peut faire un nouvel \u00e9chantillon \u00e0 partir de l&rsquo;\u00e9chantillon original en tirant N \u00e9l\u00e9ments de ce dernier de fa\u00e7on al\u00e9atoire et uniforme, avec remise. En d&rsquo;autres termes, nous s\u00e9lectionnons un \u00e9l\u00e9ment al\u00e9atoire dans l&rsquo;\u00e9chantillon original de taille N et le faisons N fois. Tous les \u00e9l\u00e9ments sont \u00e9galement susceptibles d&rsquo;\u00eatre s\u00e9lectionn\u00e9s, ainsi chaque \u00e9l\u00e9ment est tir\u00e9 avec la probabilit\u00e9 \u00e9gale 1\/N.<\/p><p>Disons que nous tirons des boules d&rsquo;un sac une \u00e0 la fois. A chaque \u00e9tape, la bille s\u00e9lectionn\u00e9e est remise dans le sac pour que la s\u00e9lection suivante se fasse de mani\u00e8re \u00e9quiprobable c&rsquo;est-\u00e0-dire \u00e0 partir du m\u00eame nombre de billes N. A noter que, du fait qu&rsquo;on remet les billes, il peut y avoir des doublons dans le nouvel \u00e9chantillon. Appelons ce nouvel \u00e9chantillon X1.<\/p><p>En r\u00e9p\u00e9tant cette proc\u00e9dure M fois, on cr\u00e9e M \u00e9chantillons bootstrap X1, \u2026, XM. En fin de compte, nous avons un nombre suffisant d&rsquo;\u00e9chantillons et pouvons calculer diverses statistiques de la distribution d&rsquo;origine.<\/p><p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-15915 size-large\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ei3eNxEKrPm7qpcDXsW_MA-1024x565.png\" alt=\"\" width=\"1024\" height=\"565\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ei3eNxEKrPm7qpcDXsW_MA-1024x565.png 1024w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ei3eNxEKrPm7qpcDXsW_MA-300x165.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ei3eNxEKrPm7qpcDXsW_MA-768x423.png 768w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ei3eNxEKrPm7qpcDXsW_MA-18x10.png 18w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ei3eNxEKrPm7qpcDXsW_MA-600x331.png 600w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ei3eNxEKrPm7qpcDXsW_MA.png 1400w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p><p>Pour notre exemple, nous utiliserons le jeu de donn\u00e9es familier telecom_churn. Auparavant, lorsque nous avons discut\u00e9 de l&rsquo;importance des fonctionnalit\u00e9s, nous avons vu que l&rsquo;une des fonctionnalit\u00e9s les plus importantes de cet ensemble de donn\u00e9es est le nombre d&rsquo;appels au service client. Visualisons les donn\u00e9es et regardons la distribution de cette fonctionnalit\u00e9.<\/p><div class=\"gist-data\"><div class=\"js-gist-file-update-container js-task-list-container file-box\"><div id=\"file-topic5_snippet1-py\" class=\"file my-2\"><div class=\"Box-body p-0 blob-wrapper data type-python  \"><div class=\"js-check-bidi js-blob-code-container blob-code-content\"><table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"Python\" data-tagsearch-path=\"topic5_snippet1.py\"><tbody><tr><td id=\"file-topic5_snippet1-py-LC1\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">import<\/span> <span class=\"pl-s1\">pandas<\/span> <span class=\"pl-k\">as<\/span> <span class=\"pl-s1\">pd<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L2\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"2\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC2\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">from<\/span> <span class=\"pl-s1\">matplotlib<\/span> <span class=\"pl-k\">import<\/span> <span class=\"pl-s1\">pyplot<\/span> <span class=\"pl-k\">as<\/span> <span class=\"pl-s1\">plt<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L3\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"3\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC3\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">plt<\/span>.<span class=\"pl-s1\">style<\/span>.<span class=\"pl-en\">use<\/span>(<span class=\"pl-s\">&lsquo;ggplot&rsquo;<\/span>)<\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L4\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"4\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC4\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">plt<\/span>.<span class=\"pl-s1\">rcParams<\/span>[<span class=\"pl-s\">&lsquo;figure.figsize&rsquo;<\/span>] <span class=\"pl-c1\">=<\/span> <span class=\"pl-c1\">10<\/span>, <span class=\"pl-c1\">6<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L5\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"5\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC5\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">import<\/span> <span class=\"pl-s1\">seaborn<\/span> <span class=\"pl-k\">as<\/span> <span class=\"pl-s1\">sns<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L6\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"6\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC6\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">%<\/span><span class=\"pl-s1\">matplotlib<\/span> <span class=\"pl-s1\">inline<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L7\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"7\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC7\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">telecom_data<\/span> <span class=\"pl-c1\">=<\/span> <span class=\"pl-s1\">pd<\/span>.<span class=\"pl-en\">read_csv<\/span>(<span class=\"pl-s\">&lsquo;..\/..\/data\/telecom_churn.csv&rsquo;<\/span>)<\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L8\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"8\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC8\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">fig<\/span> <span class=\"pl-c1\">=<\/span> <span class=\"pl-s1\">sns<\/span>.<span class=\"pl-en\">kdeplot<\/span>(<span class=\"pl-s1\">telecom_data<\/span>[<span class=\"pl-s1\">telecom_data<\/span>[<span class=\"pl-s\">&lsquo;Churn&rsquo;<\/span>] <span class=\"pl-c1\">==<\/span> <span class=\"pl-c1\">False<\/span>][<span class=\"pl-s\">&lsquo;Customer service calls&rsquo;<\/span>],<\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L9\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"9\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC9\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">label<\/span> <span class=\"pl-c1\">=<\/span> <span class=\"pl-s\">&lsquo;Loyal&rsquo;<\/span>)<\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L10\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"10\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC10\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">fig<\/span> <span class=\"pl-c1\">=<\/span> <span class=\"pl-s1\">sns<\/span>.<span class=\"pl-en\">kdeplot<\/span>(<span class=\"pl-s1\">telecom_data<\/span>[<span class=\"pl-s1\">telecom_data<\/span>[<span class=\"pl-s\">&lsquo;Churn&rsquo;<\/span>] <span class=\"pl-c1\">==<\/span> <span class=\"pl-c1\">True<\/span>][<span class=\"pl-s\">&lsquo;Customer service calls&rsquo;<\/span>],<\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L11\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"11\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC11\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">label<\/span> <span class=\"pl-c1\">=<\/span> <span class=\"pl-s\">&lsquo;Churn&rsquo;<\/span>)<\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L12\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"12\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC12\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">fig<\/span>.<span class=\"pl-en\">set<\/span>(<span class=\"pl-s1\">xlabel<\/span><span class=\"pl-c1\">=<\/span><span class=\"pl-s\">&lsquo;Number of calls&rsquo;<\/span>, <span class=\"pl-s1\">ylabel<\/span><span class=\"pl-c1\">=<\/span><span class=\"pl-s\">&lsquo;Density&rsquo;<\/span>)<\/td><\/tr><tr><td id=\"file-topic5_snippet1-py-L13\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"13\">\u00a0<\/td><td id=\"file-topic5_snippet1-py-LC13\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">plt<\/span>.<span class=\"pl-en\">show<\/span>()<\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><\/div><\/div><div class=\"gist-meta\"><img decoding=\"async\" class=\"aligncenter wp-image-15916 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1__6OveFIQSEDwEUYB6puLYA.png\" alt=\"\" width=\"392\" height=\"269\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1__6OveFIQSEDwEUYB6puLYA.png 392w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1__6OveFIQSEDwEUYB6puLYA-300x206.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1__6OveFIQSEDwEUYB6puLYA-18x12.png 18w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/><\/div><div>Comme vous pouvez le constater, les clients fid\u00e8les appellent moins le service client que ceux qui sont finalement partis. Maintenant, il peut \u00eatre judicieux d&rsquo;estimer le nombre moyen d&rsquo;appels au service client dans chaque groupe. \u00c9tant donn\u00e9 que notre ensemble de donn\u00e9es est petit, nous n&rsquo;obtiendrions pas une bonne estimation en calculant simplement la moyenne de l&rsquo;\u00e9chantillon d&rsquo;origine. Nous ferons mieux d&rsquo;appliquer la m\u00e9thode bootstrap. G\u00e9n\u00e9rons 1000 nouveaux \u00e9chantillons bootstrap \u00e0 partir de notre population d&rsquo;origine et produisons une estimation par intervalle de la moyenne.<\/div><div><div class=\"gist-data\"><div class=\"js-gist-file-update-container js-task-list-container file-box\"><div id=\"file-topic5_snippet2-py\" class=\"file my-2\"><div class=\"Box-body p-0 blob-wrapper data type-python  \"><div class=\"js-check-bidi js-blob-code-container blob-code-content\"><table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"Python\" data-tagsearch-path=\"topic5_snippet2.py\"><tbody><tr><td id=\"file-topic5_snippet2-py-LC1\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">import<\/span> <span class=\"pl-s1\">numpy<\/span> <span class=\"pl-k\">as<\/span> <span class=\"pl-s1\">np<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L2\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"2\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC2\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">def<\/span> <span class=\"pl-en\">get_bootstrap_samples<\/span>(<span class=\"pl-s1\">data<\/span>, <span class=\"pl-s1\">n_samples<\/span>):<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L3\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"3\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC3\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s\">\u00ab\u00a0\u00a0\u00bb\u00a0\u00bbGenerate bootstrap samples using the bootstrap method.\u00a0\u00bb\u00a0\u00bb\u00a0\u00bb<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L4\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"4\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC4\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">indices<\/span> <span class=\"pl-c1\">=<\/span> <span class=\"pl-s1\">np<\/span>.<span class=\"pl-s1\">random<\/span>.<span class=\"pl-en\">randint<\/span>(<span class=\"pl-c1\">0<\/span>, <span class=\"pl-en\">len<\/span>(<span class=\"pl-s1\">data<\/span>), (<span class=\"pl-s1\">n_samples<\/span>, <span class=\"pl-en\">len<\/span>(<span class=\"pl-s1\">data<\/span>)))<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L5\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"5\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC5\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">samples<\/span> <span class=\"pl-c1\">=<\/span> <span class=\"pl-s1\">data<\/span>[<span class=\"pl-s1\">indices<\/span>]<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L6\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"6\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC6\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">return<\/span> <span class=\"pl-s1\">samples<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L7\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"7\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC7\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">def<\/span> <span class=\"pl-en\">stat_intervals<\/span>(<span class=\"pl-s1\">stat<\/span>, <span class=\"pl-s1\">alpha<\/span>):<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L8\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"8\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC8\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s\">\u00ab\u00a0\u00a0\u00bb\u00a0\u00bbProduce an interval estimate.\u00a0\u00bb\u00a0\u00bb\u00a0\u00bb<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L9\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"9\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC9\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">boundaries<\/span> <span class=\"pl-c1\">=<\/span> <span class=\"pl-s1\">np<\/span>.<span class=\"pl-en\">percentile<\/span>(<span class=\"pl-s1\">stat<\/span>, [<span class=\"pl-c1\">100<\/span> <span class=\"pl-c1\">*<\/span> <span class=\"pl-s1\">alpha<\/span> <span class=\"pl-c1\">\/<\/span> <span class=\"pl-c1\">2.<\/span>, <span class=\"pl-c1\">100<\/span> <span class=\"pl-c1\">*<\/span> (<span class=\"pl-c1\">1<\/span> <span class=\"pl-c1\">&#8211;<\/span> <span class=\"pl-s1\">alpha<\/span> <span class=\"pl-c1\">\/<\/span> <span class=\"pl-c1\">2.<\/span>)])<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L10\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"10\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC10\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">return<\/span> <span class=\"pl-s1\">boundaries<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L11\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"11\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC11\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c\"># Save the data about the loyal and former customers to split the dataset<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L12\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"12\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC12\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">loyal_calls<\/span> <span class=\"pl-c1\">=<\/span> <span class=\"pl-s1\">telecom_data<\/span>[<span class=\"pl-s1\">telecom_data<\/span>[<span class=\"pl-s\">&lsquo;Churn&rsquo;<\/span>]<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L13\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"13\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC13\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">==<\/span> <span class=\"pl-c1\">False<\/span>][<span class=\"pl-s\">&lsquo;Customer service calls&rsquo;<\/span>].<span class=\"pl-s1\">values<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L14\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"14\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC14\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">churn_calls<\/span><span class=\"pl-c1\">=<\/span> <span class=\"pl-s1\">telecom_data<\/span>[<span class=\"pl-s1\">telecom_data<\/span>[<span class=\"pl-s\">&lsquo;Churn&rsquo;<\/span>]<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L15\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"15\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC15\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">==<\/span> <span class=\"pl-c1\">True<\/span>][<span class=\"pl-s\">&lsquo;Customer service calls&rsquo;<\/span>].<span class=\"pl-s1\">values<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L16\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"16\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC16\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c\"># Set the seed for reproducibility of the results<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L17\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"17\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC17\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">np<\/span>.<span class=\"pl-s1\">random<\/span>.<span class=\"pl-en\">seed<\/span>(<span class=\"pl-c1\">0<\/span>)<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L18\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"18\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC18\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c\"># Generate the samples using bootstrapping and calculate the mean for each of them<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L19\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"19\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC19\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">loyal_mean_scores<\/span> <span class=\"pl-c1\">=<\/span> [<span class=\"pl-s1\">np<\/span>.<span class=\"pl-en\">mean<\/span>(<span class=\"pl-s1\">sample<\/span>)<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L20\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"20\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC20\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">for<\/span> <span class=\"pl-s1\">sample<\/span> <span class=\"pl-c1\">in<\/span> <span class=\"pl-en\">get_bootstrap_samples<\/span>(<span class=\"pl-s1\">loyal_calls<\/span>, <span class=\"pl-c1\">1000<\/span>)]<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L21\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"21\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC21\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-s1\">churn_mean_scores<\/span> <span class=\"pl-c1\">=<\/span> [<span class=\"pl-s1\">np<\/span>.<span class=\"pl-en\">mean<\/span>(<span class=\"pl-s1\">sample<\/span>)<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L22\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"22\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC22\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">for<\/span> <span class=\"pl-s1\">sample<\/span> <span class=\"pl-c1\">in<\/span> <span class=\"pl-en\">get_bootstrap_samples<\/span>(<span class=\"pl-s1\">churn_calls<\/span>, <span class=\"pl-c1\">1000<\/span>)]<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L23\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"23\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC23\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c\"># Print the resulting interval estimates<\/span><\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L24\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"24\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC24\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-en\">print<\/span>(<span class=\"pl-s\">\u00ab\u00a0Service calls from loyal: mean interval\u00a0\u00bb<\/span>,<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L25\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"25\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC25\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-en\">stat_intervals<\/span>(<span class=\"pl-s1\">loyal_mean_scores<\/span>, <span class=\"pl-c1\">0.05<\/span>))<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L26\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"26\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC26\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-en\">print<\/span>(<span class=\"pl-s\">\u00ab\u00a0Service calls from churn: mean interval\u00a0\u00bb<\/span>,<\/td><\/tr><tr><td id=\"file-topic5_snippet2-py-L27\" class=\"blob-num js-line-number js-code-nav-line-number js-blob-rnum\" data-line-number=\"27\">\u00a0<\/td><td id=\"file-topic5_snippet2-py-LC27\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-en\">stat_intervals<\/span>(<span class=\"pl-s1\">churn_mean_scores<\/span>, <span class=\"pl-c1\">0.05<\/span>))<\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><\/div><\/div><div class=\"gist-meta\"><pre class=\"mz na nb nc gv nl bt nm\"><span id=\"5c0f\" class=\"fy nn li iw nh b do no np l nq\" data-selectable-paragraph=\"\">Service calls from loyal: mean interval [1.4077193 1.49473684] # Service calls from churn: mean interval [2.0621118 2.39761905]<\/span><\/pre><p id=\"843e\" class=\"pw-post-body-paragraph ki kj iw kk b kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf ip fy\" data-selectable-paragraph=\"\">Au final, nous constatons que, avec une probabilit\u00e9 de 95\u00a0%, le nombre moyen d&rsquo;appels au service client provenant de clients fid\u00e8les se situe entre 1,4 et 1,49, tandis que les clients r\u00e9voqu\u00e9s ont appel\u00e9 en moyenne de 2,06 \u00e0 2,40\u00a0fois. Notez \u00e9galement que l&rsquo;intervalle pour les clients fid\u00e8les est plus \u00e9troit, ce qui est raisonnable puisqu&rsquo;ils passent moins d&rsquo;appels (0, 1 ou 2) par rapport aux clients d\u00e9sabus\u00e9s qui ont appel\u00e9 jusqu&rsquo;\u00e0 en avoir marre et ont chang\u00e9 de fournisseur.<\/p><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-612e4b6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"612e4b6\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1372820\" data-id=\"1372820\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cf13297 elementor-widget elementor-widget-heading\" data-id=\"cf13297\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Bagging\"><\/span>Bagging<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f34427f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f34427f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e49429a\" data-id=\"e49429a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f0247fc elementor-widget elementor-widget-text-editor\" data-id=\"f0247fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Maintenant que vous avez saisi l&rsquo;id\u00e9e du bootstrap, nous pouvons passer au bagging. Dans un probl\u00e8me de <a href=\"https:\/\/complex-systems-ai.com\/en\/correlation-and-regressions\/data-transformation-and-regression\/\">r\u00e9gression<\/a>, en faisant la moyenne des r\u00e9ponses individuelles, le bagging r\u00e9duit l&rsquo;erreur quadratique moyenne d&rsquo;un facteur M, le nombre de r\u00e9gresseurs.<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15917 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_0ttjb_fFpZ8YhYu5P0Mj2w.png\" alt=\"\" width=\"719\" height=\"389\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_0ttjb_fFpZ8YhYu5P0Mj2w.png 719w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_0ttjb_fFpZ8YhYu5P0Mj2w-300x162.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_0ttjb_fFpZ8YhYu5P0Mj2w-18x10.png 18w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_0ttjb_fFpZ8YhYu5P0Mj2w-600x325.png 600w\" sizes=\"(max-width: 719px) 100vw, 719px\" \/><\/p><p>De notre le\u00e7on pr\u00e9c\u00e9dente, rappelons les composants qui composent l&rsquo;erreur totale hors \u00e9chantillon\u00a0:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15945 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ej9U_mk6ESXWZnjKrSMrqg.png\" alt=\"\" width=\"690\" height=\"263\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ej9U_mk6ESXWZnjKrSMrqg.png 690w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ej9U_mk6ESXWZnjKrSMrqg-300x114.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ej9U_mk6ESXWZnjKrSMrqg-18x7.png 18w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_Ej9U_mk6ESXWZnjKrSMrqg-600x229.png 600w\" sizes=\"(max-width: 690px) 100vw, 690px\" \/><\/p><p>Le bagging r\u00e9duit la variance d&rsquo;un classificateur en diminuant la diff\u00e9rence d&rsquo;erreur lorsque nous entra\u00eenons le mod\u00e8le sur diff\u00e9rents ensembles de donn\u00e9es. En d&rsquo;autres termes, le bagging emp\u00eache le surajustement. L&rsquo;efficacit\u00e9 du bagging vient du fait que les mod\u00e8les individuels sont assez diff\u00e9rents en raison des diff\u00e9rentes donn\u00e9es d&rsquo;entra\u00eenement et que leurs erreurs s&rsquo;annulent lors du vote. De plus, les valeurs aberrantes sont probablement omises dans certains des \u00e9chantillons de d\u00e9marrage de formation.<\/p><p>La biblioth\u00e8que scikit-learn prend en charge le bagging avec les m\u00e9ta-estimateurs BaggingRegressor et BaggingClassifier. Vous pouvez utiliser la plupart des algorithmes comme base.<\/p><p>Examinons comment fonctionne le bagging dans la pratique et comparons-le avec l&rsquo;arbre de d\u00e9cision. Pour cela, nous utiliserons un exemple de la documentation de sklearn.<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15946 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_8MtnGc9qkuGzE6-pSRokFQ.png\" alt=\"\" width=\"987\" height=\"682\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_8MtnGc9qkuGzE6-pSRokFQ.png 987w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_8MtnGc9qkuGzE6-pSRokFQ-300x207.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_8MtnGc9qkuGzE6-pSRokFQ-768x531.png 768w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_8MtnGc9qkuGzE6-pSRokFQ-18x12.png 18w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_8MtnGc9qkuGzE6-pSRokFQ-600x415.png 600w\" sizes=\"(max-width: 987px) 100vw, 987px\" \/><\/p><p>L&rsquo;erreur pour l&rsquo;arbre de d\u00e9cision\u00a0:<br \/>0,0255 = 0,0003 (biais\u00b2)+ 0,0152 (variance) + 0,0098 (\u03c3\u00b2)<\/p><p>L&rsquo;erreur lors de l&rsquo;utilisation de l&rsquo;ensachage\u00a0:<br \/>0,0196 = 0,0004 (biais\u00b2) + 0,0092 (variance) + 0,0098 (\u03c3\u00b2)<\/p><p>Comme vous pouvez le voir sur le graphique ci-dessus, la variance de l&rsquo;erreur est beaucoup plus faible pour l&rsquo;ensachage. Rappelez-vous que nous avons d\u00e9j\u00e0 prouv\u00e9 cela th\u00e9oriquement.<\/p><p>Le bagging est efficace sur les petits ensembles de donn\u00e9es. La suppression m\u00eame d&rsquo;une petite partie des donn\u00e9es d&rsquo;apprentissage conduit \u00e0 la construction de classificateurs de base sensiblement diff\u00e9rents. Si vous disposez d&rsquo;un grand ensemble de donn\u00e9es, vous g\u00e9n\u00e9rerez des \u00e9chantillons bootstrap d&rsquo;une taille beaucoup plus petite.<\/p><p>Il est peu probable que l&rsquo;exemple ci-dessus s&rsquo;applique \u00e0 un travail r\u00e9el. C&rsquo;est parce que nous avons fait l&rsquo;hypoth\u00e8se forte que nos erreurs individuelles ne sont pas corr\u00e9l\u00e9es. Le plus souvent, c&rsquo;est beaucoup trop optimiste pour les applications du monde r\u00e9el. Lorsque cette hypoth\u00e8se est fausse, la r\u00e9duction de l&rsquo;erreur ne sera pas aussi importante. Dans les conf\u00e9rences suivantes, nous discuterons de certaines m\u00e9thodes d&rsquo;ensemble plus sophistiqu\u00e9es, qui permettent des pr\u00e9dictions plus pr\u00e9cises dans des probl\u00e8mes du monde r\u00e9el.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f9774b5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f9774b5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-dcfacfb\" data-id=\"dcfacfb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2076420 elementor-widget elementor-widget-heading\" data-id=\"2076420\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Erreur-hors-sac-out-of-bag-error\"><\/span>Erreur hors sac (out-of-bag error)<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-af76f38 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"af76f38\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0297a1c\" data-id=\"0297a1c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-69a2798 elementor-widget elementor-widget-text-editor\" data-id=\"69a2798\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u00c0 l&rsquo;avenir, dans le cas d&rsquo;une for\u00eat al\u00e9atoire, il n&rsquo;est pas n\u00e9cessaire d&rsquo;utiliser des \u00e9chantillons de validation crois\u00e9e ou d&rsquo;exclusion pour obtenir une estimation d&rsquo;erreur impartiale. Pourquoi? Parce que, dans les techniques d&rsquo;ensemble, l&rsquo;estimation de l&rsquo;erreur a lieu en interne.<\/p><p>Des arbres al\u00e9atoires sont construits \u00e0 l&rsquo;aide de diff\u00e9rents \u00e9chantillons bootstrap de l&rsquo;ensemble de donn\u00e9es d&rsquo;origine. Environ 37\u00a0% des entr\u00e9es sont exclues d&rsquo;un \u00e9chantillon bootstrap particulier et ne sont pas utilis\u00e9es dans la construction du K-i\u00e8me <a href=\"https:\/\/complex-systems-ai.com\/en\/graph-theory-2\/trees-and-trees\/\">arbre<\/a>.<\/p><p>Voyons comment fonctionne l&rsquo;estimation de l&rsquo;erreur Out-of-Bag (ou OOBE)\u00a0:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15947 size-large\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_HojoYXBU_DTnMuCatCnQaQ-1024x758.png\" alt=\"\" width=\"1024\" height=\"758\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_HojoYXBU_DTnMuCatCnQaQ-1024x758.png 1024w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_HojoYXBU_DTnMuCatCnQaQ-300x222.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_HojoYXBU_DTnMuCatCnQaQ-768x569.png 768w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_HojoYXBU_DTnMuCatCnQaQ-16x12.png 16w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_HojoYXBU_DTnMuCatCnQaQ-600x444.png 600w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_HojoYXBU_DTnMuCatCnQaQ.png 1400w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p><p>La partie sup\u00e9rieure de la figure ci-dessus repr\u00e9sente notre ensemble de donn\u00e9es d&rsquo;origine. Nous l&rsquo;avons divis\u00e9 en ensembles d&rsquo;entra\u00eenement (\u00e0 gauche) et de test (\u00e0 droite). Dans l&rsquo;image de gauche, nous dessinons une grille qui divise parfaitement notre jeu de donn\u00e9es selon les classes. Maintenant, nous utilisons la m\u00eame grille pour estimer la part des bonnes r\u00e9ponses sur notre ensemble de test. Nous pouvons voir que notre classificateur a donn\u00e9 des r\u00e9ponses incorrectes dans ces 4 cas qui n&rsquo;ont pas \u00e9t\u00e9 utilis\u00e9s pendant la formation (\u00e0 gauche). Par cons\u00e9quent, la pr\u00e9cision de notre classificateur est de 11\/15*100\u00a0% = 73,33\u00a0%.<\/p><p>Pour r\u00e9sumer, chaque <a href=\"https:\/\/complex-systems-ai.com\/en\/algorithmic\/\">algorithme<\/a> de base est entra\u00een\u00e9 sur ~ 63\u00a0% des exemples originaux. Il peut \u00eatre valid\u00e9 sur les ~37% restants. L&rsquo;estimation Out-of-Bag n&rsquo;est rien de plus que l&rsquo;estimation moyenne des algorithmes de base sur les ~37\u00a0% d&rsquo;entr\u00e9es qui n&rsquo;ont pas \u00e9t\u00e9 entra\u00een\u00e9es.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f42e21a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f42e21a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-abcafdd\" data-id=\"abcafdd\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0687a6b elementor-widget elementor-widget-heading\" data-id=\"0687a6b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Foret-aleatoire-Random-forest\"><\/span>For\u00eat al\u00e9atoire (Random forest)<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-12d17b4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"12d17b4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-878e324\" data-id=\"878e324\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-847e782 elementor-widget elementor-widget-text-editor\" data-id=\"847e782\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Leo Breiman a r\u00e9ussi \u00e0 appliquer le bootstrap non seulement dans les statistiques mais aussi dans l&rsquo;apprentissage automatique. Avec Adel Cutler, il a \u00e9tendu et am\u00e9lior\u00e9 l&rsquo;algorithme Random Forest propos\u00e9 par Tin Kam Ho. Ils ont combin\u00e9 la construction d&rsquo;arbres non corr\u00e9l\u00e9s \u00e0 l&rsquo;aide de CART, de bagging et de la m\u00e9thode du sous-espace al\u00e9atoire.<\/p><p>Les arbres de d\u00e9cision sont un bon choix pour le classificateur de base dans l&rsquo;ensachage car ils sont assez sophistiqu\u00e9s et peuvent atteindre z\u00e9ro erreur de classification sur n&rsquo;importe quel \u00e9chantillon. La m\u00e9thode du sous-espace al\u00e9atoire r\u00e9duit la <a href=\"https:\/\/complex-systems-ai.com\/en\/correlation-and-regressions\/\">corr\u00e9lation<\/a> entre les arbres et \u00e9vite ainsi le surajustement. Avec le bagging, les algorithmes de base sont form\u00e9s sur diff\u00e9rents sous-ensembles al\u00e9atoires de l&rsquo;ensemble de fonctionnalit\u00e9s d&rsquo;origine.<\/p><p>L&rsquo;algorithme suivant construit un ensemble de mod\u00e8les en utilisant la m\u00e9thode du sous-espace al\u00e9atoire\u00a0:<\/p><ol><li>Supposons que le nombre d&rsquo;instances soit \u00e9gal \u00e0 n et que le nombre de dimensions de l&rsquo;entit\u00e9 soit \u00e9gal \u00e0 d.<\/li><li>Choisissez M comme nombre de mod\u00e8les individuels dans l&rsquo;ensemble.<\/li><li>Pour chaque mod\u00e8le m, choisissez le nombre de caract\u00e9ristiques dm &lt; d. En r\u00e8gle g\u00e9n\u00e9rale, la m\u00eame valeur de dm est utilis\u00e9e pour tous les mod\u00e8les.<\/li><li>Pour chaque mod\u00e8le m, cr\u00e9ez un ensemble d&rsquo;apprentissage en s\u00e9lectionnant dm caract\u00e9ristiques au hasard parmi l&rsquo;ensemble des caract\u00e9ristiques d.<\/li><li>Entra\u00eenez chaque mod\u00e8le.<\/li><li>Appliquez le mod\u00e8le d&rsquo;ensemble r\u00e9sultant \u00e0 une nouvelle entr\u00e9e en combinant les r\u00e9sultats de tous les mod\u00e8les de M. Vous pouvez utiliser soit le vote \u00e0 la majorit\u00e9, soit l&rsquo;agr\u00e9gation des probabilit\u00e9s post\u00e9rieures.<\/li><\/ol><p>L&rsquo;algorithme est le suivant :<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15948 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_aPIZTydKDpRZB1ZYlAIrGA.png\" alt=\"\" width=\"936\" height=\"282\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_aPIZTydKDpRZB1ZYlAIrGA.png 936w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_aPIZTydKDpRZB1ZYlAIrGA-300x90.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_aPIZTydKDpRZB1ZYlAIrGA-768x231.png 768w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_aPIZTydKDpRZB1ZYlAIrGA-18x5.png 18w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_aPIZTydKDpRZB1ZYlAIrGA-600x181.png 600w\" sizes=\"(max-width: 936px) 100vw, 936px\" \/><\/p><p>Le classifieur final est la moyenne des arbres.<\/p><p>Pour les probl\u00e8mes de classification, il est conseill\u00e9 de fixer m \u00e9gal \u00e0 la racine carr\u00e9e de d. Pour les probl\u00e8mes de r\u00e9gression, nous prenons g\u00e9n\u00e9ralement m = d\/3, o\u00f9 d est le nombre de caract\u00e9ristiques. Il est recommand\u00e9 de construire chaque arbre jusqu&rsquo;\u00e0 ce que toutes ses feuilles contiennent seulement 1 instance pour la classification et 5 instances pour la r\u00e9gression.<\/p><p>Vous pouvez voir Random Forest comme un regroupement d&rsquo;arbres de d\u00e9cision avec la modification de la s\u00e9lection d&rsquo;un sous-ensemble al\u00e9atoire de fonctionnalit\u00e9s \u00e0 chaque fractionnement.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-848b993 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"848b993\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-aa37a82\" data-id=\"aa37a82\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f900e7a elementor-widget elementor-widget-heading\" data-id=\"f900e7a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Comparaison\"><\/span>Comparaison<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-793aab4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"793aab4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8f3619a\" data-id=\"8f3619a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b65fc68 elementor-widget elementor-widget-text-editor\" data-id=\"b65fc68\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Voici les r\u00e9sultats pour les trois algorithmes :<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15949 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_N_ZjnoM0NAOc-fCOZoG81A.png\" alt=\"\" width=\"613\" height=\"374\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_N_ZjnoM0NAOc-fCOZoG81A.png 613w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_N_ZjnoM0NAOc-fCOZoG81A-300x183.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_N_ZjnoM0NAOc-fCOZoG81A-18x12.png 18w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_N_ZjnoM0NAOc-fCOZoG81A-600x366.png 600w\" sizes=\"(max-width: 613px) 100vw, 613px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15950 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_-dDKRTpnO8vhpsF9YXBZBA.png\" alt=\"\" width=\"613\" height=\"374\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_-dDKRTpnO8vhpsF9YXBZBA.png 613w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_-dDKRTpnO8vhpsF9YXBZBA-300x183.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_-dDKRTpnO8vhpsF9YXBZBA-18x12.png 18w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_-dDKRTpnO8vhpsF9YXBZBA-600x366.png 600w\" sizes=\"(max-width: 613px) 100vw, 613px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15951 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_otfwdhIVioeaORbqtAT8cw.png\" alt=\"\" width=\"613\" height=\"374\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_otfwdhIVioeaORbqtAT8cw.png 613w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_otfwdhIVioeaORbqtAT8cw-300x183.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_otfwdhIVioeaORbqtAT8cw-18x12.png 18w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_otfwdhIVioeaORbqtAT8cw-600x366.png 600w\" sizes=\"(max-width: 613px) 100vw, 613px\" \/><\/p><p>As we can see from our graphs and the MSE values above, a Random Forest of 10 trees achieves a better result than a single decision tree and is comparable to bagging with 10 trees. The main difference between Random Forests and bagging is that, in a Random Forest, the best feature for a split is selected from a random subset of the available features while, in bagging, all features are considered for the next best split.<\/p><p>Nous pouvons \u00e9galement examiner les avantages des for\u00eats al\u00e9atoires et des probl\u00e8mes de classification.<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15954 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_sHjCvQZlGp6n3VZoEzYN6g.png\" alt=\"\" width=\"384\" height=\"265\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_sHjCvQZlGp6n3VZoEzYN6g.png 384w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_sHjCvQZlGp6n3VZoEzYN6g-300x207.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_sHjCvQZlGp6n3VZoEzYN6g-18x12.png 18w\" sizes=\"(max-width: 384px) 100vw, 384px\" \/><\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15953 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_6H3JNu52L-gX19BJ-MaAlw.png\" alt=\"\" width=\"384\" height=\"265\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_6H3JNu52L-gX19BJ-MaAlw.png 384w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_6H3JNu52L-gX19BJ-MaAlw-300x207.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_6H3JNu52L-gX19BJ-MaAlw-18x12.png 18w\" sizes=\"(max-width: 384px) 100vw, 384px\" \/><\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15952 size-full\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_2pBSIwt_5bLpmaCGKCZRvQ.png\" alt=\"\" width=\"384\" height=\"265\" title=\"\" srcset=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_2pBSIwt_5bLpmaCGKCZRvQ.png 384w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_2pBSIwt_5bLpmaCGKCZRvQ-300x207.png 300w, https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2022\/04\/1_2pBSIwt_5bLpmaCGKCZRvQ-18x12.png 18w\" sizes=\"(max-width: 384px) 100vw, 384px\" \/><\/p><p>Les figures ci-dessus montrent que la fronti\u00e8re de d\u00e9cision de l&rsquo;arbre de d\u00e9cision est assez irr\u00e9guli\u00e8re et pr\u00e9sente de nombreux angles aigus qui sugg\u00e8rent un surajustement et une faible capacit\u00e9 \u00e0 g\u00e9n\u00e9raliser. Nous aurions du mal \u00e0 faire des pr\u00e9dictions fiables sur de nouvelles donn\u00e9es de test. En revanche, l&rsquo;algorithme de bagging a une fronti\u00e8re plut\u00f4t lisse et ne pr\u00e9sente aucun signe \u00e9vident de surajustement.<\/p><p>Examinons maintenant certains param\u00e8tres qui peuvent nous aider \u00e0 augmenter la pr\u00e9cision du mod\u00e8le.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a65c700 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a65c700\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-03892ac\" data-id=\"03892ac\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8a39ec5 elementor-widget elementor-widget-heading\" data-id=\"8a39ec5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Parametres-pour-augmenter-la-precision\"><\/span>Param\u00e8tres pour augmenter la pr\u00e9cision<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cad2d33 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cad2d33\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f555185\" data-id=\"f555185\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-23f6e63 elementor-widget elementor-widget-text-editor\" data-id=\"23f6e63\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La biblioth\u00e8que scikit-learn impl\u00e9mente des for\u00eats al\u00e9atoires en fournissant deux estimateurs\u00a0: RandomForestClassifier et RandomForestRegressor.<\/p><p>Vous trouverez ci-dessous les param\u00e8tres auxquels nous devons pr\u00eater attention lorsque nous construisons un nouveau mod\u00e8le\u00a0:<\/p><ul><li>n_estimators est le nombre d&rsquo;arbres dans la for\u00eat ;<\/li><li>crit\u00e8re est la fonction utilis\u00e9e pour mesurer la qualit\u00e9 d&rsquo;un fractionnement ;<\/li><li>max_features est le nombre de fonctionnalit\u00e9s \u00e0 prendre en compte lors de la recherche de la meilleure r\u00e9partition ;<\/li><li>min_samples_leaf est le nombre minimum d&rsquo;\u00e9chantillons requis pour \u00eatre \u00e0 un n\u0153ud feuille ;<\/li><li>max_depth est la profondeur maximale de l&rsquo;arbre.<\/li><\/ul><p>Le fait le plus important \u00e0 propos des for\u00eats al\u00e9atoires est que sa pr\u00e9cision ne diminue pas lorsque nous ajoutons des arbres, de sorte que le nombre d&rsquo;arbres n&rsquo;est pas un hyperparam\u00e8tre de <a href=\"https:\/\/complex-systems-ai.com\/en\/algorithmic\/complexity-in-time\/\">complexit\u00e9<\/a> contrairement \u00e0 max_depth et min_samples_leaf. Cela signifie que vous pouvez ajuster les hyperparam\u00e8tres avec, disons, 10 arbres, puis augmenter le nombre d&rsquo;arbres jusqu&rsquo;\u00e0 500 et \u00eatre s\u00fbr que la pr\u00e9cision ne fera que s&rsquo;am\u00e9liorer.<\/p><p>Les arbres extr\u00eamement al\u00e9atoires utilisent un plus grand degr\u00e9 de randomisation au choix du point de coupure lors de la division d&rsquo;un n\u0153ud d&rsquo;arbre. Comme dans Random Forests, un sous-ensemble al\u00e9atoire d&rsquo;entit\u00e9s est utilis\u00e9. Mais, au lieu de rechercher des seuils optimaux, leurs valeurs sont s\u00e9lectionn\u00e9es au hasard pour chaque caract\u00e9ristique possible, et le meilleur parmi ces seuils g\u00e9n\u00e9r\u00e9s al\u00e9atoirement est utilis\u00e9 comme meilleure r\u00e8gle pour diviser le n\u0153ud. Cela compense g\u00e9n\u00e9ralement une l\u00e9g\u00e8re r\u00e9duction de la variance du mod\u00e8le par une l\u00e9g\u00e8re augmentation du biais.<\/p><p>Dans la biblioth\u00e8que scikit-learn, il existe 2 impl\u00e9mentations d&rsquo;arbres extr\u00eamement al\u00e9atoires\u00a0: ExtraTreesClassifier et ExtraTreesRegressor.<\/p><p>Cette m\u00e9thode doit \u00eatre utilis\u00e9e si vous avez largement surfait avec les for\u00eats al\u00e9atoires ou l&rsquo;amplification de gradient.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-130c576 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"130c576\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe9b1cd\" data-id=\"fe9b1cd\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-044fafd elementor-widget elementor-widget-heading\" data-id=\"044fafd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Conclusion-sur-le-random-forest\"><\/span>Conclusion sur le random forest<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-92911bb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"92911bb\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-65035d7\" data-id=\"65035d7\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0c252bf elementor-widget elementor-widget-text-editor\" data-id=\"0c252bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Avantages:<\/p><ul><li>Haute pr\u00e9cision de pr\u00e9diction ; fonctionnera mieux que les algorithmes lin\u00e9aires dans la plupart des probl\u00e8mes ; la pr\u00e9cision est comparable \u00e0 celle du boosting ;<\/li><li>Robuste aux valeurs aberrantes, gr\u00e2ce \u00e0 un \u00e9chantillonnage al\u00e9atoire ;<\/li><li>Insensible \u00e0 la mise \u00e0 l&rsquo;\u00e9chelle des caract\u00e9ristiques ainsi qu&rsquo;\u00e0 toute autre transformation monotone en raison de la s\u00e9lection al\u00e9atoire du sous-espace ;<\/li><li>Ne n\u00e9cessite pas de r\u00e9glage fin des param\u00e8tres, fonctionne assez bien pr\u00eat \u00e0 l&#8217;emploi. Avec le r\u00e9glage, il est possible d&rsquo;obtenir un gain de pr\u00e9cision de 0,5 \u00e0 3 %, en fonction du r\u00e9glage du probl\u00e8me et des donn\u00e9es ;<\/li><li>Efficace pour les jeux de donn\u00e9es avec un grand nombre d&rsquo;entit\u00e9s et de classes ;<\/li><li>G\u00e8re aussi bien les variables continues que discr\u00e8tes ;<\/li><li>Rarement surdimensionn\u00e9. En pratique, une augmentation du nombre d&rsquo;arbres am\u00e9liore presque toujours la composition. Mais, apr\u00e8s avoir atteint un certain nombre d&rsquo;arbres, la courbe d&rsquo;apprentissage est tr\u00e8s proche de l&rsquo;asymptote ;<\/li><li>Il existe des m\u00e9thodes d\u00e9velopp\u00e9es pour estimer l&rsquo;importance des caract\u00e9ristiques;<\/li><li>Fonctionne bien avec les donn\u00e9es manquantes et maintient de bons niveaux de pr\u00e9cision m\u00eame lorsqu&rsquo;une grande partie des donn\u00e9es est manquante ;<\/li><li>Fournit des moyens de pond\u00e9rer les classes sur l&rsquo;ensemble de donn\u00e9es ainsi que pour chaque \u00e9chantillon d&rsquo;arbre ;<\/li><li>Sous le capot, calcule les proximit\u00e9s entre les paires d&rsquo;instances qui peuvent ensuite \u00eatre utilis\u00e9es dans le regroupement, la d\u00e9tection des valeurs aberrantes ou des repr\u00e9sentations de donn\u00e9es int\u00e9ressantes ;<\/li><li>La fonctionnalit\u00e9 et les propri\u00e9t\u00e9s ci-dessus peuvent \u00eatre \u00e9tendues aux donn\u00e9es non \u00e9tiquet\u00e9es pour permettre un regroupement non supervis\u00e9, la <a href=\"https:\/\/complex-systems-ai.com\/en\/dataviz\/\">visualisation des donn\u00e9es<\/a> et la d\u00e9tection des valeurs aberrantes ;<\/li><li>Facilement parall\u00e9lis\u00e9 et hautement \u00e9volutif.<\/li><\/ul><p>Les inconv\u00e9nients:<\/p><ul><li>En comparaison avec un arbre de d\u00e9cision unique, la sortie de Random Forest est plus difficile \u00e0 interpr\u00e9ter.<\/li><li>Il n&rsquo;y a pas de valeurs de p formelles pour l&rsquo;estimation de l&rsquo;importance des caract\u00e9ristiques.<\/li><li>Effectue moins bien que les m\u00e9thodes lin\u00e9aires dans le cas de donn\u00e9es \u00e9parses : saisies de texte, sac de mots, etc. ;<\/li><li>Contrairement \u00e0 la r\u00e9gression lin\u00e9aire, Random Forest est incapable d&rsquo;extrapoler. Mais cela peut \u00e9galement \u00eatre consid\u00e9r\u00e9 comme un avantage car les valeurs aberrantes ne provoquent pas de valeurs extr\u00eames dans les for\u00eats al\u00e9atoires ;<\/li><li>Enclin au surajustement dans certains probl\u00e8mes, en particulier lorsqu&rsquo;il s&rsquo;agit de donn\u00e9es bruyantes ;<\/li><li>Dans le cas de variables cat\u00e9gorielles avec des nombres de niveaux variables, les for\u00eats al\u00e9atoires favorisent les variables avec un plus grand nombre de niveaux. L&rsquo;arborescence s&rsquo;adaptera davantage \u00e0 une fonctionnalit\u00e9 \u00e0 plusieurs niveaux, car cela gagne en pr\u00e9cision ;<\/li><li>Si un jeu de donn\u00e9es contient des groupes d&rsquo;entit\u00e9s corr\u00e9l\u00e9es avec une importance similaire pour les classes pr\u00e9dites, la pr\u00e9f\u00e9rence sera donn\u00e9e aux groupes plus petits ;<\/li><li>Le mod\u00e8le r\u00e9sultant est volumineux et n\u00e9cessite beaucoup de RAM.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Data Analysis Wiki Home Page Now let&#039;s say you&#039;ve chosen the best possible model for a particular problem and are trying... <\/p>","protected":false},"author":1,"featured_media":0,"parent":15503,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-15909","page","type-page","status-publish","hentry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/pages\/15909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/comments?post=15909"}],"version-history":[{"count":3,"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/pages\/15909\/revisions"}],"predecessor-version":[{"id":15957,"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/pages\/15909\/revisions\/15957"}],"up":[{"embeddable":true,"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/pages\/15503"}],"wp:attachment":[{"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/media?parent=15909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}