{"id":1415,"date":"2026-10-14T18:00:42","date_gmt":"2026-10-14T18:00:42","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-utiliser-pandas-get-dummies\/"},"modified":"2026-10-14T18:00:42","modified_gmt":"2026-10-14T18:00:42","slug":"comment-utiliser-pandas-get-dummies","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-utiliser-pandas-get-dummies","title":{"rendered":"Comment utiliser Pandas Get Dummies &#8211; pd.get_dummies"},"content":{"rendered":"<p>Dans le paysage contemporain de l&rsquo;analyse quantitative et de la science des donn\u00e9es, la manipulation des donn\u00e9es tabulaires constitue une \u00e9tape cardinale pr\u00e9alable \u00e0 toute mod\u00e9lisation pr\u00e9dictive ou inf\u00e9rentielle. Au c\u0153ur de cette phase d&rsquo;ing\u00e9nierie des caract\u00e9ristiques se pose de mani\u00e8re r\u00e9currente la question du traitement des attributs qualitatifs. Les environnements d&rsquo;apprentissage automatique contemporains, fond\u00e9s sur des calculs d&rsquo;alg\u00e8bre lin\u00e9aire et d&rsquo;optimisation num\u00e9rique matricielle, se r\u00e9v\u00e8lent structurellement incapables d&rsquo;ing\u00e9rer directement des cha\u00eenes de caract\u00e8res ou des \u00e9tiquettes s\u00e9mantiques arbitraires. La formalisation math\u00e9matique impose une transposition num\u00e9rique rigoureuse, pr\u00e9servant la nature sous-jacente des relations entre les observations sans introduire d&rsquo;artefacts d&rsquo;\u00e9chelle ou d&rsquo;ordre infond\u00e9s.<\/p>\n<p>La biblioth\u00e8que logicielle <a rel=\"noopener noreferrer\" href=\"https:\/\/pandas.pydata.org\/\">Pandas<\/a>, standard de facto pour la manipulation de donn\u00e9es en langage Python, apporte une r\u00e9ponse canonique \u00e0 cette exigence m\u00e9thodologique \u00e0 travers sa fonction <code>pandas.get_dummies<\/code>. Souvent appr\u00e9hend\u00e9e par les praticiens novices comme un simple utilitaire de conversion syntaxique, cette fonction incarne en r\u00e9alit\u00e9 une impl\u00e9mentation sophistiqu\u00e9e du codage disjonctif complet, \u00e9galement d\u00e9sign\u00e9 sous le vocable de <em>one-hot encoding<\/em>. Elle traduit un ensemble discret de modalit\u00e9s cat\u00e9gorielles en un espace vectoriel binaire de dimensions sup\u00e9rieures, op\u00e9ration dont la simplicit\u00e9 apparente masque des implications th\u00e9oriques et computationnelles consid\u00e9rables.<\/p>\n<p>Cet article propose une exploration exhaustive et m\u00e9thodologiquement exigeante de la fonction <code>pd.get_dummies<\/code>. De ses fondements \u00e9pist\u00e9mologiques et th\u00e9oriques ancr\u00e9s dans l&rsquo;\u00e9conom\u00e9trie et l&rsquo;alg\u00e8bre matricielle jusqu&rsquo;\u00e0 ses configurations avanc\u00e9es en environnement de production, nous diss\u00e9querons les m\u00e9canismes sous-jacents qui r\u00e9gissent la transformation des donn\u00e9es cat\u00e9gorielles. Nous examinerons avec minutie les compromis inh\u00e9rents \u00e0 la gestion de la m\u00e9moire, l&rsquo;\u00e9cueil de la multicolin\u00e9arit\u00e9 stricte, la pr\u00e9servation de l&rsquo;int\u00e9grit\u00e9 distributionnelle entre phases d&rsquo;entra\u00eenement et de test, ainsi que les cas d&rsquo;usage sp\u00e9cialis\u00e9s appliqu\u00e9s \u00e0 la recherche comportementale et \u00e9pid\u00e9miologique.<\/p>\n<h2>1. Fondements th\u00e9oriques des variables cat\u00e9gorielles et du codage disjonctif complet<\/h2>\n<h3>1.1 Typologie des variables dans la recherche quantitative<\/h3>\n<p>L&rsquo;\u00e9difice de la statistique appliqu\u00e9e repose sur une typologie rigoureuse des \u00e9chelles de mesure, formul\u00e9e de mani\u00e8re pionni\u00e8re par le psychologue Stanley Smith Stevens en 1946. Au sein des plans exp\u00e9rimentaux et des protocoles observationnels, une distinction fondamentale s\u00e9pare les variables m\u00e9triques (d&rsquo;intervalle ou de rapport) des variables non m\u00e9triques. Les variables cat\u00e9gorielles se subdivisent elles-m\u00eames en variables ordinales, caract\u00e9ris\u00e9es par une relation d&rsquo;ordre univoque sans m\u00e9trique d&rsquo;espacement constante, et en variables nominales, au sein desquelles les modalit\u00e9s ne poss\u00e8dent aucune hi\u00e9rarchie intrins\u00e8que, logique ou temporelle.<\/p>\n<p>La confrontation directe de ces donn\u00e9es qualitatives textuelles avec les architectures d&rsquo;apprentissage automatique engendre une incompatibilit\u00e9 fondamentale. Un mod\u00e8le statistique traite les valeurs num\u00e9riques comme des vecteurs au sein d&rsquo;un espace euclidien, attribuant une signification g\u00e9om\u00e9trique aux op\u00e9rations \u00e9l\u00e9mentaires d&rsquo;addition, de multiplication et de calcul de distance. L&rsquo;attribution arbitraire d&rsquo;un codage num\u00e9rique scalaire s\u00e9quentiel (par exemple, assigner 1 \u00e0 \u00ab\u00a0Paris\u00a0\u00bb, 2 \u00e0 \u00ab\u00a0Londres\u00a0\u00bb et 3 \u00e0 \u00ab\u00a0Tokyo\u00a0\u00bb) introduit un biais de magnitude artificielle d\u00e9sastreux. Le mod\u00e8le imposerait implicitement que Tokyo \u00e9quivaut \u00e0 trois fois Paris, ou que la distance entre Paris et Tokyo est deux fois sup\u00e9rieure \u00e0 celle s\u00e9parant Paris et Londres.<\/p>\n<p>D\u00e8s lors, la conversion alg\u00e9brique doit imp\u00e9rativement respecter le postulat d&rsquo;\u00e9quidistance et d&rsquo;orthogonalit\u00e9 entre les cat\u00e9gories. Pr\u00e9server la structure sous-jacente des donn\u00e9es lors du pr\u00e9traitement exige d&rsquo;\u00e9liminer toute pr\u00e9somption de continuit\u00e9 ou de transitivit\u00e9 num\u00e9rique. L&rsquo;op\u00e9ration doit garantir que chaque modalit\u00e9 soit trait\u00e9e comme une dimension g\u00e9om\u00e9trique ind\u00e9pendante, garantissant l&rsquo;invariance des estimateurs face \u00e0 toute permutation arbitraire des \u00e9tiquettes qualitatives initiales.<\/p>\n<h3>1.2 Le principe du One-Hot Encoding et des variables indicatrices<\/h3>\n<p>La r\u00e9ponse math\u00e9matique canonique \u00e0 cette exigence d&rsquo;orthogonalit\u00e9 r\u00e9side dans le codage disjonctif complet, commun\u00e9ment d\u00e9sign\u00e9 sous l&rsquo;anglicisme <em>one-hot encoding<\/em>. Formellement, soit une variable qualitative nominale <span class=\"arabpsy-math-inline\" data-latex=\"X\">$X$<\/span> d\u00e9finie sur un \u00e9chantillon d&rsquo;observations et pr\u00e9sentant un ensemble fini de <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> modalit\u00e9s distinctes not\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"\\mathcal{M} = {m_1, m_2, dots, m_k}\">$\\mathcal{M} = {m_1, m_2, dots, m_k}$<\/span>. Pour chaque observation individuelle <span class=\"arabpsy-math-inline\" data-latex=\"i\">$i$<\/span>, l&rsquo;\u00e9tat de la variable est repr\u00e9sent\u00e9 par un vecteur binaire indicatif <span class=\"arabpsy-math-inline\" data-latex=\"\\mathbf{y}_i = [y_{i1}, y_{i2}, dots, y_{ik}]^T in {0, 1}^k\">$\\mathbf{y}_i = [y_{i1}, y_{i2}, dots, y_{ik}]^T in {0, 1}^k$<\/span>.<\/p>\n<p>La valeur de l&rsquo;\u00e9l\u00e9ment <span class=\"arabpsy-math-inline\" data-latex=\"y_{ij}\">$y_{ij}$<\/span> est strictement d\u00e9termin\u00e9e par la fonction indicatrice canonique de Kronecker :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"y_{ij} = \\mathbb{I}(X_i = m_j) = \\begin{\\cases} 1 &amp;a\\mp; \\text{si l&#039;observation } i \\text{ pr\u00e9sente la modalit\u00e9 } m_j  0 &amp;a\\mp; \\text{sinon} \\end{\\cases}\">$$y_{ij} = \\mathbb{I}(X_i = m_j) = \\begin{\\cases} 1 &#038;a\\mp; \\text{si l&rsquo;observation } i \\text{ pr\u00e9sente la modalit\u00e9 } m_j  0 &#038;a\\mp; \\text{sinon} \\end{\\cases}$$<\/span><\/p>\n<p>Cette projection transforme une colonne polytomique unique \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> modalit\u00e9s en <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> vecteurs indicatifs lin\u00e9airement d\u00e9pendants dont la somme vectorielle est \u00e9gale au vecteur unit\u00e9 uniforme : <span class=\"arabpsy-math-inline\" data-latex=\"\\sum_{j=1}^{k} y_{ij} = 1\">$\\sum_{j=1}^{k} y_{ij} = 1$<\/span> pour tout <span class=\"arabpsy-math-inline\" data-latex=\"i\">$i$<\/span>. La matrice r\u00e9sultante, d\u00e9sign\u00e9e sous le terme de matrice d&rsquo;incidence bool\u00e9enne, formalise l&rsquo;appartenance des individus aux diff\u00e9rentes sous-populations d\u00e9finies par les modalit\u00e9s. Historiquement, cette m\u00e9thodologie trouve ses racines dans la biom\u00e9trie des ann\u00e9es 1930, notamment sous l&rsquo;impulsion de Ronald Fisher, avant d&rsquo;\u00eatre int\u00e9gr\u00e9e de mani\u00e8re syst\u00e9matique dans l&rsquo;\u00e9conom\u00e9trie moderne par Ragnar Frisch pour formaliser les r\u00e9gresseurs qualitatifs sous la d\u00e9nomination de <em>dummy variables<\/em>.<\/p>\n<h3>1.3 Imp\u00e9ratifs math\u00e9matiques des mod\u00e8les d&rsquo;apprentissage statistique<\/h3>\n<p>La n\u00e9cessit\u00e9 de d\u00e9ployer des variables indicatrices varie profond\u00e9ment selon les fondements math\u00e9matiques des algorithmes d&rsquo;apprentissage statistique supervis\u00e9. Au sein des <a rel=\"noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Generalized_linear_model\">mod\u00e8les lin\u00e9aires g\u00e9n\u00e9ralis\u00e9s (GLM)<\/a> et des r\u00e9gressions des moindres carr\u00e9s ordinaires (OLS), le vecteur de pr\u00e9diction repose sur un produit scalaire entre les param\u00e8tres du mod\u00e8le et le vecteur des descripteurs. Une variable qualitative non binaris\u00e9e fausserait irr\u00e9m\u00e9diablement le calcul du gradient et violerait l&rsquo;hypoth\u00e8se de lin\u00e9arit\u00e9 locale, emp\u00eachant toute convergence vers un optimum global th\u00e9oriquement coh\u00e9rent.<\/p>\n<p>De m\u00eame, les m\u00e9thodes fond\u00e9es sur le calcul de distances g\u00e9om\u00e9triques au sein d&rsquo;un espace m\u00e9trique, telles que les algorithmes des <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span>-plus proches voisins (KNN), les machines \u00e0 vecteurs de support (SVM) ou les m\u00e9thodes de partitionnement de type <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span>-means, d\u00e9montrent une sensibilit\u00e9 critique \u00e0 la repr\u00e9sentation des donn\u00e9es. Dans ces paradigmes, la distance euclidienne canonique entre deux observations <span class=\"arabpsy-math-inline\" data-latex=\"a\">$a$<\/span> et <span class=\"arabpsy-math-inline\" data-latex=\"b\">$b$<\/span>, formul\u00e9e par <span class=\"arabpsy-math-inline\" data-latex=\"d(a, b) = \\sqrt{\\sum_{p} (x_{ap} - x_{bp})^2}\">$d(a, b) = \\sqrt{\\sum_{p} (x_{ap} &#8211; x_{bp})^2}$<\/span>, requiert que deux modalit\u00e9s cat\u00e9gorielles distinctes d&rsquo;un m\u00eame attribut soient s\u00e9par\u00e9es par une distance identique et constante, pr\u00e9cis\u00e9ment \u00e9gale \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"\\sqrt{(1-0)^2 + (0-1)^2} = \\sqrt{2}\">$\\sqrt{(1-0)^2 + (0-1)^2} = \\sqrt{2}$<\/span>.<\/p>\n<p>\u00c0 l&rsquo;oppos\u00e9, les familles d&rsquo;arbres de d\u00e9cision et leurs d\u00e9rivations ensemblistes (for\u00eats al\u00e9atoires, algorithmes de gradient boosting tels que XGBoost ou LightGBM) adoptent une logique de partitionnement r\u00e9cursif orthogonal de l&rsquo;espace des caract\u00e9ristiques. Si ces architectures peuvent th\u00e9oriquement partitionner des entiers arbitraires en isolant des seuils de coupure, la transformation en variables indicatrices modifie en profondeur la topologie des surfaces de d\u00e9cision. Le codage binaire permet \u00e0 l&rsquo;arbre d&rsquo;effectuer une scission univari\u00e9e isolant sp\u00e9cifiquement une modalit\u00e9 du reste de la distribution, au prix toutefois d&rsquo;une fragmentation de la structure de l&rsquo;arbre et d&rsquo;une dilution potentielle de l&rsquo;importance des variables lorsque la cardinalit\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> devient substantielle.<\/p>\n<h2>2. Anatomie et syntaxe fondamentale de pd.get_dummies<\/h2>\n<h3>2.1 Signature formelle et inventaire des param\u00e8tres cl\u00e9s<\/h3>\n<p>La fonction <code>pandas.get_dummies<\/code> est encapsul\u00e9e dans l&rsquo;espace de noms de premier niveau de la biblioth\u00e8que Pandas. Sa signature formelle pr\u00e9sente un agencement param\u00e9trique hautement modulable con\u00e7u pour piloter les nuances de l&rsquo;expansion dimensionnelle :<\/p>\n<p><code>pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)<\/code><\/p>\n<p>Chaque argument de cette signature remplit une fonction structurelle d\u00e9terminante au sein du pipeline de transformation matricielle. Le param\u00e8tre <code>data<\/code> constitue la structure de donn\u00e9es source cible. Les arguments <code>prefix<\/code> et <code>prefix_sep<\/code> orchestrent la composition textuelle des en-t\u00eates des colonnes produites, \u00e9vitant les ambigu\u00eft\u00e9s s\u00e9mantiques. L&rsquo;argument <code>dummy_na<\/code> contr\u00f4le l&rsquo;int\u00e9gration vectorielle des valeurs manquantes, tandis que <code>columns<\/code> isole les pr\u00e9dicteurs cibl\u00e9s par la transformation au sein d&rsquo;un tableau multivari\u00e9 complexe. Enfin, les param\u00e8tres <code>drop_first<\/code> et <code>dtype<\/code> pilotent respectivement la gestion de la d\u00e9pendance lin\u00e9aire et le type scalairis\u00e9 des tenseurs sous-jacents g\u00e9n\u00e9r\u00e9s.<\/p>\n<p>Il importe de souligner que les valeurs assign\u00e9es par d\u00e9faut traduisent un compromis orient\u00e9 vers l&rsquo;exploration descriptive imm\u00e9diate plut\u00f4t que vers la mod\u00e9lisation statistique formelle. Par d\u00e9faut, <code>drop_first=False<\/code> g\u00e9n\u00e8re un ensemble complet de colonnes redondantes, tandis que <code>dummy_na=False<\/code> ignore silencieusement les donn\u00e9es absentes. La compr\u00e9hension approfondie des interactions entre ces arguments constitue donc le fondement d&rsquo;une ing\u00e9nierie de donn\u00e9es exempte de biais m\u00e9thodologiques.<\/p>\n<h3>2.2 Typologie des structures de donn\u00e9es accept\u00e9es en entr\u00e9e<\/h3>\n<p>La conception polymorphique de <code>pd.get_dummies<\/code> lui permet d&rsquo;accepter une grande diversit\u00e9 de conteneurs de donn\u00e9es issus de l&rsquo;\u00e9cosyst\u00e8me Python scientifique. Lorsqu&rsquo;elle re\u00e7oit une s\u00e9rie isol\u00e9e (<code>pandas.Series<\/code>), la fonction traite l&rsquo;ensemble des \u00e9l\u00e9ments comme un attribut unique et retourne un nouveau <code>DataFrame<\/code> dont le nombre de lignes \u00e9quivaut \u00e0 la dimension de la s\u00e9rie et dont les colonnes correspondent aux modalit\u00e9s uniques recens\u00e9es. Si la s\u00e9rie est de type nominal textuel ou cat\u00e9goriel pur (<code>category<\/code>), l&rsquo;identification des modalit\u00e9s s&rsquo;op\u00e8re de mani\u00e8re d\u00e9terministe.<\/p>\n<p>Lorsque la fonction est appliqu\u00e9e \u00e0 un tableau de donn\u00e9es bidimensionnel complet (<code>pandas.DataFrame<\/code>), son comportement op\u00e9rationnel devient s\u00e9lectif. Sans param\u00e9trage restrictif explicite, la fonction balaie l&rsquo;int\u00e9gralit\u00e9 du tableau pour isoler automatiquement les colonnes dont le type de donn\u00e9es sous-jacent (<code>dtype<\/code>) est cat\u00e9goriel (<code>category<\/code>) ou textuel (<code>object<\/code>), laissant les vecteurs continus et m\u00e9triques strictement inchang\u00e9s. Les conteneurs fondamentaux tels que les listes Python natives, les dictionnaires ou les tableaux \u00e0 une dimension de la biblioth\u00e8que <a rel=\"noopener noreferrer\" href=\"https:\/\/numpy.org\/\">NumPy<\/a> sont \u00e9galement convertis implicitement en s\u00e9ries avant traitement.<\/p>\n<p>Un aspect critique r\u00e9side dans l&rsquo;alignement et la pr\u00e9servation de l&rsquo;int\u00e9grit\u00e9 r\u00e9f\u00e9rentielle des index. La fonction <code>pd.get_dummies<\/code> garantit la persistance absolue de l&rsquo;index d&rsquo;origine du conteneur en entr\u00e9e, qu&rsquo;il s&rsquo;agisse d&rsquo;un index num\u00e9rique simple, d&rsquo;un horodatage chronologique (<code>DatetimeIndex<\/code>) ou d&rsquo;un index hi\u00e9rarchique complexe (<code>MultiIndex<\/code>). Cette propri\u00e9t\u00e9 assure une r\u00e9int\u00e9gration par concat\u00e9nation horizontale (<code>pandas.concat<\/code>) totalement d\u00e9terministe, \u00e9cartant les risques de d\u00e9calage spatial des enregistrements lors de fusions ult\u00e9rieures.<\/p>\n<h3>2.3 Gestion des types de donn\u00e9es en sortie<\/h3>\n<p>L&rsquo;\u00e9volution de la base de code de Pandas au fil des versions majeures a profond\u00e9ment modifi\u00e9 le type de donn\u00e9es produit en sortie de la fonction <code>pd.get_dummies<\/code>. Historiquement, les colonnes indicatrices \u00e9taient g\u00e9n\u00e9r\u00e9es sous la forme d&rsquo;entiers non sign\u00e9s \u00e0 huit bits (<code>uint8<\/code>) ou d&rsquo;entiers sign\u00e9s (<code>int64<\/code>), attribuant formellement la valeur num\u00e9rique 0 ou 1 \u00e0 chaque coordonn\u00e9e matricielle. Toutefois, depuis l&rsquo;introduction de Pandas 2.0, la fonction adopte par d\u00e9faut le type bool\u00e9en natif (<code>bool<\/code>), o\u00f9 les valeurs sont mat\u00e9rialis\u00e9es par <code>True<\/code> ou <code>False<\/code>.<\/p>\n<p>Cette transition vers une s\u00e9mantique bool\u00e9enne pure r\u00e9pond \u00e0 des imp\u00e9ratifs d&rsquo;\u00e9conomie de m\u00e9moire vive, un bool\u00e9en n&rsquo;occupant en th\u00e9orie qu&rsquo;un unique octet par cellule dans les repr\u00e9sentations denses courantes. N\u00e9anmoins, cette modification peut engendrer des ruptures d&rsquo;incompatibilit\u00e9 avec certains sous-modules historiques de mod\u00e9lisation math\u00e9matique ou de calcul matriciel acc\u00e9l\u00e9r\u00e9 qui exigent explicitement des types en virgule flottante ou des entiers stricts. L&rsquo;invocation d&rsquo;op\u00e9rations d&rsquo;alg\u00e8bre matricielle directe, telles que la d\u00e9composition en valeurs singuli\u00e8res ou la multiplication matricielle via BLAS, requiert fr\u00e9quemment une conversion pr\u00e9alable.<\/p>\n<p>L&rsquo;utilisation judicieuse du param\u00e8tre <code>dtype<\/code> permet de neutraliser toute incertitude en imposant explicitement la nature des tenseurs g\u00e9n\u00e9r\u00e9s. Il est hautement recommand\u00e9 d&rsquo;expliciter ce param\u00e8tre au sein des scripts industriels ou de recherche acad\u00e9mique. Par exemple, l&rsquo;affectation formelle de <code>dtype=float<\/code> ou <code>dtype=np.float32<\/code> pr\u00e9pare directement la matrice \u00e0 une int\u00e9gration sans copie suppl\u00e9mentaire dans des tenseurs PyTorch ou TensorFlow, tandis que l&rsquo;attribution de <code>dtype=np.int8<\/code> garantit une compatibilit\u00e9 ascendante avec les biblioth\u00e8ques d&rsquo;\u00e9conom\u00e9trie telles que Statsmodels.<\/p>\n<h2>3. Configuration des pr\u00e9fixes et nomenclature des nouvelles colonnes<\/h2>\n<h3>3.1 Application du param\u00e8tre prefix pour la tra\u00e7abilit\u00e9 des variables<\/h3>\n<p>La lisibilit\u00e9 s\u00e9mantique et la tra\u00e7abilit\u00e9 des attributs synth\u00e9tis\u00e9s au sein d&rsquo;un espace de haute dimension d\u00e9pendent de la strat\u00e9gie de nommage adopt\u00e9e lors de l&rsquo;expansion binaire. L&rsquo;argument <code>prefix<\/code> remplit ce r\u00f4le fondamental de cartographie des m\u00e9tadonn\u00e9es. Lorsqu&rsquo;une s\u00e9rie univari\u00e9e est transmise \u00e0 la fonction, l&rsquo;absence de sp\u00e9cification de pr\u00e9fixe engendre des noms de colonnes strictement identiques aux valeurs textuelles des modalit\u00e9s, ce qui peut provoquer des ambigu\u00eft\u00e9s critiques si ces modalit\u00e9s sont des entiers ou des mots-cl\u00e9s r\u00e9serv\u00e9s du langage.<\/p>\n<p>Dans le cas d&rsquo;un tableau multivari\u00e9, le comportement par d\u00e9faut de la fonction consiste \u00e0 adopter le libell\u00e9 de la colonne parente comme pr\u00e9fixe pour chacune des indicatrices issues de cette colonne. N\u00e9anmoins, lorsque la structure d&rsquo;analyse exige une nomenclature standardis\u00e9e r\u00e9pondant \u00e0 des conventions strictes d&rsquo;ing\u00e9nierie de donn\u00e9es, le param\u00e8tre <code>prefix<\/code> peut recevoir une liste ordonn\u00e9e de cha\u00eenes de caract\u00e8res, ou plus rigoureusement, un dictionnaire associatif liant explicitement chaque nom de colonne d&rsquo;origine \u00e0 son pr\u00e9fixe de destination.<\/p>\n<p>Cette rigueur de param\u00e9trage pr\u00e9vient les risques d\u00e9vastateurs de collision d&rsquo;identifiants au sein du tableau r\u00e9sultant. Consid\u00e9rons une situation empirique fr\u00e9quente o\u00f9 deux variables distinctes, telles que \u00ab\u00a0Statut_Professionnel\u00a0\u00bb et \u00ab\u00a0Statut_Marital\u00a0\u00bb, partagent une modalit\u00e9 syntaxiquement identique telle que \u00ab\u00a0Inconnu\u00a0\u00bb. En l&rsquo;absence de pr\u00e9fixes rigoureux et diff\u00e9renci\u00e9s, le moteur de Pandas g\u00e9n\u00e9rerait deux colonnes distinctes affichant exactement la m\u00eame d\u00e9nomination \u00ab\u00a0Inconnu\u00a0\u00bb, corrompant de fait la manipulation ult\u00e9rieure des colonnes par \u00e9tiquette et entra\u00eenant des erreurs silencieuses lors de l&rsquo;indexation.<\/p>\n<h3>3.2 Personnalisation du d\u00e9limiteur via prefix_sep<\/h3>\n<p>L&rsquo;argument <code>prefix_sep<\/code> gouverne la cha\u00eene de caract\u00e8res ins\u00e9r\u00e9e entre le pr\u00e9fixe identifiant la variable d&rsquo;origine et la cha\u00eene textuelle mat\u00e9rialisant la modalit\u00e9 encod\u00e9e. Par d\u00e9faut, Pandas adopte le trait de soulignement conventionnel (<code>prefix_sep='_'<\/code>). Si ce choix convient \u00e0 la majorit\u00e9 des explorations interactives, il peut se r\u00e9v\u00e9ler sous-optimal ou probl\u00e9matique dans certains \u00e9cosyst\u00e8mes d&rsquo;analyse formelle.<\/p>\n<p>Dans le cadre de la mod\u00e9lisation statistique utilisant des formules d\u00e9claratives inspir\u00e9es du langage R via la biblioth\u00e8que <a rel=\"noopener noreferrer\" href=\"https:\/\/patsy.readthedocs.io\/\">Patsy<\/a>, ou lors de l&rsquo;exportation des m\u00e9tadonn\u00e9es vers des bases relationnelles SQL, l&rsquo;utilisation de s\u00e9parateurs non \u00e9quivoques est cruciale. Si les \u00e9tiquettes originales des cat\u00e9gories contiennent elles-m\u00eames des traits de soulignement, l&rsquo;analyse automatique inverse (qui consiste \u00e0 extraire la variable d&rsquo;origine \u00e0 partir du nom de l&rsquo;indicatrice via des expressions r\u00e9guli\u00e8res) devient math\u00e9matiquement ind\u00e9cidable.<\/p>\n<p>L&rsquo;adoption de d\u00e9limiteurs explicites et non ambigus, tels que la double barre oblique (<code>\/\/<\/code>), le double trait d&rsquo;union (<code>--<\/code>) ou le point (<code>.<\/code>), permet d&rsquo;isoler de fa\u00e7on d\u00e9terministe les composantes du nom :<\/p>\n<ul>\n<li><strong>prefix_sep=&rsquo;_&rsquo; :<\/strong> G\u00e9n\u00e8re des \u00e9tiquettes de forme <code>Pays_France<\/code>, standard mais vuln\u00e9rable aux collisions avec des modalit\u00e9s complexes.<\/li>\n<li><strong>prefix_sep=&rsquo;::&rsquo; :<\/strong> G\u00e9n\u00e8re des \u00e9tiquettes de forme <code>Pays::France<\/code>, hautement lisible et facilement dissociable par des analyseurs syntaxiques formels.<\/li>\n<li><strong>prefix_sep=&rsquo;.&rsquo; :<\/strong> G\u00e9n\u00e8re des \u00e9tiquettes de forme <code>Pays.France<\/code>, align\u00e9es sur les conventions de programmation orient\u00e9e objet et de nomenclature de champs imbriqu\u00e9s.<\/li>\n<\/ul>\n<h3>3.3 Normalisation des libell\u00e9s pour les jeux de donn\u00e9es complexes<\/h3>\n<p>Dans les enqu\u00eates quantitatives r\u00e9elles et les extractions de syst\u00e8mes d&rsquo;information non normalis\u00e9s, les libell\u00e9s des modalit\u00e9s cat\u00e9gorielles regorgent de perturbations typographiques : espaces ins\u00e9cables, tabulations, caract\u00e8res diacritiques accentu\u00e9s, signes de ponctuation ou symboles math\u00e9matiques. La transmission directe de ces cha\u00eenes non \u00e9pur\u00e9es \u00e0 <code>pd.get_dummies<\/code> engendre des noms de variables corrompus, entravant l&rsquo;acc\u00e8s direct aux colonnes par la syntaxe d&rsquo;attribut de Python (par exemple, <code>df.colonne<\/code>) et complexifiant la s\u00e9rialisation des mod\u00e8les.<\/p>\n<p>Un protocole d&rsquo;ing\u00e9nierie rigoureux impose une \u00e9tape d&rsquo;assainissement lexicographique pr\u00e9alable sur les colonnes textuelles. Cette \u00e9tape implique la conversion syst\u00e9matique des cha\u00eenes en minuscules, la substitution des espaces et de la ponctuation par des caract\u00e8res neutres via les m\u00e9thodes de vectorisation textuelle <code>Series.str.replace<\/code>, ainsi que la normalisation Unicode pour \u00e9liminer les disparit\u00e9s d&rsquo;encodage entre caract\u00e8res compos\u00e9s et d\u00e9compos\u00e9s.<\/p>\n<p>Apr\u00e8s l&rsquo;application de <code>pd.get_dummies<\/code>, une gouvernance s\u00e9mantique optimale recommande de proc\u00e9der \u00e0 une r\u00e9indexation explicite des colonnes g\u00e9n\u00e9r\u00e9es. L&rsquo;agencement alphab\u00e9tique strict ou le regroupement th\u00e9matique des indicatrices garantit une stabilit\u00e9 structurelle indispensable pour la reproductibilit\u00e9 des analyses et la lisibilit\u00e9 des tables de r\u00e9gression publi\u00e9es dans les revues acad\u00e9miques \u00e0 comit\u00e9 de lecture.<\/p>\n<figure class=\"wpt-preserved-image\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/dummy2-1.png\" alt=\"\" \/><\/figure>\n<h2>4. Traitement de la multicolin\u00e9arit\u00e9 stricte via drop_first<\/h2>\n<h3>4.1 Le pi\u00e8ge de la variable muette (Dummy Variable Trap)<\/h3>\n<p>L&rsquo;un des \u00e9cueils th\u00e9oriques les plus document\u00e9s en \u00e9conom\u00e9trie et en mod\u00e9lisation statistique lin\u00e9aire r\u00e9side dans le ph\u00e9nom\u00e8ne d\u00e9sign\u00e9 sous le terme de <em>pi\u00e8ge de la variable indicatrice<\/em> (ou <em>dummy variable trap<\/em>). Ce pi\u00e8ge d\u00e9coule directement de la relation d&rsquo;interd\u00e9pendance lin\u00e9aire parfaite qui lie structurellement l&rsquo;ensemble des colonnes produites par le codage disjonctif complet en pr\u00e9sence d&rsquo;un terme constant dans le mod\u00e8le.<\/p>\n<p>Consid\u00e9rons une variable nominale \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> modalit\u00e9s transform\u00e9e en <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> indicatrices <span class=\"arabpsy-math-inline\" data-latex=\"\\mathbf{D}_1, \\mathbf{D}_2, dots, \\mathbf{D}_k\">$\\mathbf{D}_1, \\mathbf{D}_2, dots, \\mathbf{D}_k$<\/span>. Par construction, pour chaque observation <span class=\"arabpsy-math-inline\" data-latex=\"i\">$i$<\/span>, la somme arithm\u00e9tique de ces variables indicatrices est identiquement \u00e9gale \u00e0 1 :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\sum_{j=1}^{k} D_{ij} = 1 \\quad \\forall i in {1, dots, n}\">$$\\sum_{j=1}^{k} D_{ij} = 1 \\quad \\forall i in {1, dots, n}$$<\/span><\/p>\n<p>Si un mod\u00e8le de r\u00e9gression lin\u00e9aire multiple inclut simultan\u00e9ment un vecteur constant d&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine (intercept <span class=\"arabpsy-math-inline\" data-latex=\"\\beta_0\">$\\beta_0$<\/span>) et l&rsquo;int\u00e9gralit\u00e9 des <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> variables indicatrices, la matrice d&rsquo;exp\u00e9rience <span class=\"arabpsy-math-inline\" data-latex=\"\\mathbf{X}\">$\\mathbf{X}$<\/span> de dimension <span class=\"arabpsy-math-inline\" data-latex=\"n \\times (k+1)\">$n \\times (k+1)$<\/span> contient une colonne (la colonne des 1 associ\u00e9e \u00e0 l&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine) qui est la combinaison lin\u00e9aire exacte de la somme des <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> autres colonnes. D\u00e8s lors, le rang de la matrice <span class=\"arabpsy-math-inline\" data-latex=\"\\mathbf{X}\">$\\mathbf{X}$<\/span> n&rsquo;est pas plein ; il est \u00e9gal \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> au lieu de <span class=\"arabpsy-math-inline\" data-latex=\"k+1\">$k+1$<\/span>.<\/p>\n<p>La cons\u00e9quence math\u00e9matique directe de cette colin\u00e9arit\u00e9 parfaite concerne la matrice de variance-covariance des pr\u00e9dicteurs <span class=\"arabpsy-math-inline\" data-latex=\"(\\mathbf{X}^T \\mathbf{X})\">$(\\mathbf{X}^T \\mathbf{X})$<\/span>. Cette matrice devient rigoureusement singuli\u00e8re, son d\u00e9terminant s&rsquo;annule, et elle ne peut par cons\u00e9quent pas \u00eatre invers\u00e9e. L&rsquo;\u00e9quation canonique de l&rsquo;estimateur des moindres carr\u00e9s ordinaires, formul\u00e9e par <span class=\"arabpsy-math-inline\" data-latex=\"\\hat{boldsymbol{\\beta}} = (\\mathbf{X}^T \\mathbf{X})^{-1} \\mathbf{X}^T \\mathbf{Y}\">$\\hat{boldsymbol{\\beta}} = (\\mathbf{X}^T \\mathbf{X})^{-1} \\mathbf{X}^T \\mathbf{Y}$<\/span>, n&rsquo;admet plus de solution unique. Les logiciels statistiques calculent alors des inverses g\u00e9n\u00e9ralis\u00e9s instables ou \u00e9chouent brutalement, g\u00e9n\u00e9rant une inflation infinie de la variance des coefficients estim\u00e9s.<\/p>\n<h3>4.2 M\u00e9canique du param\u00e8tre drop_first=True<\/h3>\n<p>La fonction <code>pd.get_dummies<\/code> offre une solution algorithmique d\u00e9terministe pour juguler ce risque gr\u00e2ce \u00e0 son param\u00e8tre bool\u00e9en <code>drop_first<\/code>. Lorsque ce param\u00e8tre est configur\u00e9 \u00e0 <code>drop_first=True<\/code>, la fonction supprime syst\u00e9matiquement la premi\u00e8re modalit\u00e9 rencontr\u00e9e lors du parcours ordonn\u00e9 des cat\u00e9gories uniques. L&rsquo;espace vectoriel transform\u00e9 ne comporte d\u00e8s lors que <span class=\"arabpsy-math-inline\" data-latex=\"k - 1\">$k &#8211; 1$<\/span> colonnes indicatrices pour une variable comptant <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> niveaux.<\/p>\n<p>D&rsquo;un point de vue inf\u00e9rentiel, la modalit\u00e9 ainsi \u00e9vinc\u00e9e n&rsquo;est pas supprim\u00e9e de l&rsquo;analyse ; elle acquiert formellement le statut de modalit\u00e9 de r\u00e9f\u00e9rence (ou cat\u00e9gorie de base). Dans le cadre d&rsquo;un mod\u00e8le lin\u00e9aire standard formul\u00e9 par :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"Y_i = \\beta_0 + \\sum_{j=2}^{k} \\beta_j D_{ij} + \\varepsilon_i\">$$Y_i = \\beta_0 + \\sum_{j=2}^{k} \\beta_j D_{ij} + \\varepsilon_i$$<\/span><\/p>\n<p>Le terme constant <span class=\"arabpsy-math-inline\" data-latex=\"\\beta_0\">$\\beta_0$<\/span> n&rsquo;exprime plus la moyenne globale de la variable r\u00e9ponse, mais sp\u00e9cifiquement l&rsquo;esp\u00e9rance conditionnelle de <span class=\"arabpsy-math-inline\" data-latex=\"Y\">$Y$<\/span> lorsque l&rsquo;observation appartient \u00e0 la cat\u00e9gorie de r\u00e9f\u00e9rence (c&rsquo;est-\u00e0-dire lorsque <span class=\"arabpsy-math-inline\" data-latex=\"D_{i2} = D_{i3} = dots = D_{ik} = 0\">$D_{i2} = D_{i3} = dots = D_{ik} = 0$<\/span>). Chaque coefficient partiel <span class=\"arabpsy-math-inline\" data-latex=\"\\beta_j\">$\\beta_j$<\/span> (pour <span class=\"arabpsy-math-inline\" data-latex=\"j ge 2\">$j ge 2$<\/span>) mesure alors directement le contraste statistique, c&rsquo;est-\u00e0-dire l&rsquo;\u00e9cart diff\u00e9rentiel moyen entre la modalit\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"j\">$j$<\/span> et cette cat\u00e9gorie omise.<\/p>\n<p>Il importe de noter que l&rsquo;exclusion par d\u00e9faut op\u00e9r\u00e9e par <code>drop_first=True<\/code> repose sur l&rsquo;ordonnancement lexicographique interne de Pandas. Si le chercheur souhaite d\u00e9signer une modalit\u00e9 de r\u00e9f\u00e9rence sp\u00e9cifique dict\u00e9e par une hypoth\u00e8se th\u00e9orique pr\u00e9alable (par exemple, le groupe placebo dans un essai clinique), il est imp\u00e9ratif de convertir pr\u00e9alablement la colonne au format <code>pandas.Categorical<\/code> en sp\u00e9cifiant explicitement l&rsquo;ordre des cat\u00e9gories via le param\u00e8tre <code>categories<\/code>, positionnant la cat\u00e9gorie de r\u00e9f\u00e9rence en tout premier rang.<\/p>\n<h3>4.3 Arbitrage selon l&rsquo;algorithme : Mod\u00e8les lin\u00e9aires versus mod\u00e8les arborescents<\/h3>\n<p>L&rsquo;activation du param\u00e8tre <code>drop_first=True<\/code> ne constitue pas une r\u00e8gle universelle et doit faire l&rsquo;objet d&rsquo;un arbitrage m\u00e9thodologique fond\u00e9 sur la classe d&rsquo;algorithmes mobilis\u00e9e au sein du pipeline d&rsquo;apprentissage :<\/p>\n<ul>\n<li><strong>Mod\u00e8les lin\u00e9aires sans r\u00e9gularisation (OLS, GLM, Logit) :<\/strong> L&rsquo;utilisation de <code>drop_first=True<\/code> est strictement imp\u00e9rative afin d&rsquo;\u00e9viter la singularit\u00e9 matricielle et de pr\u00e9server l&rsquo;interpr\u00e9tabilit\u00e9 des tests d&rsquo;hypoth\u00e8ses statistiques (tests <span class=\"arabpsy-math-inline\" data-latex=\"t\">$t$<\/span> de Student et de Wald).<\/li>\n<li><strong>Mod\u00e8les lin\u00e9aires p\u00e9nalis\u00e9s (Ridge, Lasso, ElasticNet) :<\/strong> L&rsquo;arbitrage s&rsquo;av\u00e8re subtil. La p\u00e9nalisation de type Ridge <span class=\"arabpsy-math-inline\" data-latex=\"(\\lambda |boldsymbol{\\beta}|_2^2)\">$(\\lambda |boldsymbol{\\beta}|_2^2)$<\/span> restaure l&rsquo;inversibilit\u00e9 matricielle de <span class=\"arabpsy-math-inline\" data-latex=\"(\\mathbf{X}^T \\mathbf{X} + \\lambda \\mathbf{I})\">$(\\mathbf{X}^T \\mathbf{X} + \\lambda \\mathbf{I})$<\/span>, neutralisant le probl\u00e8me num\u00e9rique de la multicolin\u00e9arit\u00e9. Retenir l&rsquo;int\u00e9gralit\u00e9 des <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> modalit\u00e9s permet d&rsquo;appliquer un r\u00e9tr\u00e9cissement uniforme (<em>shrinkage<\/em>) sans asym\u00e9trie envers une cat\u00e9gorie arbitrairement isol\u00e9e, bien que cela modifie l&rsquo;interpr\u00e9tation des coefficients r\u00e9gularis\u00e9s.<\/li>\n<li><strong>Algorithmes \u00e0 base d&rsquo;arbres d\u00e9cisionnels (Random Forest, Gradient Boosting) :<\/strong> La notion de multicolin\u00e9arit\u00e9 est structurellement inexistante pour ces m\u00e9thodes non param\u00e9triques. Configurer <code>drop_first=True<\/code> prive inutilement l&rsquo;algorithme d&rsquo;une partition binaire directe sur la premi\u00e8re cat\u00e9gorie. L&rsquo;arbre devrait alors effectuer une combinaison logique complexe de scissions successives sur les <span class=\"arabpsy-math-inline\" data-latex=\"k-1\">$k-1$<\/span> autres variables indicatrices pour isoler la modalit\u00e9 omise, d\u00e9gradant ainsi son efficacit\u00e9 d&rsquo;\u00e9chantillonnage spatial.<\/li>\n<li><strong>R\u00e9seaux de neurones artificiels :<\/strong> L&rsquo;omission d&rsquo;une cat\u00e9gorie est g\u00e9n\u00e9ralement d\u00e9conseill\u00e9e. La pr\u00e9sence des <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> indicatrices coupl\u00e9e aux m\u00e9canismes de r\u00e9gularisation par abandon (<em>dropout<\/em>) ou d\u00e9composition du poids (<em>weight decay<\/em>) assure une sym\u00e9trie dans la propagation du gradient et acc\u00e9l\u00e8re la convergence stochastique.<\/li>\n<\/ul>\n<h2>5. Gestion des donn\u00e9es manquantes avec le param\u00e8tre dummy_na<\/h2>\n<h3>5.1 Typologie de l&rsquo;absence de r\u00e9ponse dans les donn\u00e9es empiriques<\/h3>\n<p>L&rsquo;incompl\u00e9tude des observations constitue une pathologie quasi universelle des ensembles de donn\u00e9es empiriques. En m\u00e9thodologie statistique, la taxonomie de Donald Rubin distingue trois m\u00e9canismes fondamentaux r\u00e9gissant l&rsquo;absence de donn\u00e9es : les donn\u00e9es manquantes de mani\u00e8re totalement al\u00e9atoire (<em>Missing Completely at Random<\/em>, MCAR), les donn\u00e9es manquantes de mani\u00e8re al\u00e9atoire conditionnelle aux covariables observ\u00e9es (<em>Missing at Random<\/em>, MAR), et les donn\u00e9es manquantes non al\u00e9atoires (<em>Missing Not at Random<\/em>, MNAR).<\/p>\n<p>Par d\u00e9faut, l&rsquo;instruction <code>pandas.get_dummies<\/code> applique le postulat <code>dummy_na=False<\/code>. Sous cette configuration, toute cellule contenant une valeur nulle (<code>np.nan<\/code>, <code>None<\/code> ou <code>pd.NA<\/code>) est purement et simplement \u00e9lud\u00e9e lors de la d\u00e9composition binaire. Chaque variable indicatrice d\u00e9riv\u00e9e re\u00e7oit la valeur num\u00e9rique 0 pour cette observation. Par cons\u00e9quent, la somme vectorielle des indicatrices associ\u00e9es \u00e0 cette ligne devient nulle, violant le principe d&rsquo;exhaustivit\u00e9 de la partition cat\u00e9gorielle.<\/p>\n<p>Cette omission silencieuse pr\u00e9sente un p\u00e9ril m\u00e9thodologique majeur. Si le m\u00e9canisme d&rsquo;absence rel\u00e8ve du type MNAR (par exemple, des r\u00e9pondants aux revenus tr\u00e8s \u00e9lev\u00e9s qui refusent syst\u00e9matiquement de d\u00e9clarer leur tranche salariale dans une enqu\u00eate sociologique), l&rsquo;absence de donn\u00e9es porte en elle-m\u00eame un signal hautement pr\u00e9dictif et informatif. Traiter l&rsquo;absence comme un n\u00e9ant math\u00e9matique \u00e9quivaut \u00e0 d\u00e9truire d\u00e9lib\u00e9r\u00e9ment de l&rsquo;information substantielle tout en cr\u00e9ant une cat\u00e9gorie fant\u00f4me sous-jacente non document\u00e9e.<\/p>\n<h3>5.2 Activation et interpr\u00e9tation de dummy_na=True<\/h3>\n<p>Le param\u00e9trage explicite de <code>dummy_na=True<\/code> modifie le paradigme de traitement des donn\u00e9es manquantes en conf\u00e9rant formellement \u00e0 la valeur nulle le statut d&rsquo;une modalit\u00e9 cat\u00e9gorielle \u00e0 part enti\u00e8re. Lors de l&rsquo;ex\u00e9cution de la binarisation, Pandas instancie une colonne suppl\u00e9mentaire distincte, dont l&rsquo;\u00e9tiquette adopte par d\u00e9faut le format <code>nomvariable_nan<\/code>.<\/p>\n<p>Cette colonne d\u00e9di\u00e9e re\u00e7oit la valeur 1 d\u00e8s lors que la donn\u00e9e originale est manquante, et 0 dans tous les autres cas. D\u00e8s lors, la propri\u00e9t\u00e9 fondamentale de disjonction compl\u00e8te est rigoureusement restaur\u00e9e : la somme horizontale de toutes les indicatrices, incluant la colonne d&rsquo;absence, est strictement \u00e9gale \u00e0 1 pour la totalit\u00e9 des observations de l&rsquo;\u00e9chantillon, sans exception.<\/p>\n<p>L&rsquo;exploitation de <code>dummy_na=True<\/code> se r\u00e9v\u00e8le particuli\u00e8rement f\u00e9conde en \u00e9pid\u00e9miologie clinique et en recherche comportementale. Elle autorise le mod\u00e8le pr\u00e9dictif \u00e0 capturer directement les patrons d&rsquo;attrition, les biais de censure ou le refus d\u00e9lib\u00e9r\u00e9 de r\u00e9ponse, sans n\u00e9cessiter d&rsquo;\u00e9chafauder des hypoth\u00e8ses complexes quant \u00e0 la distribution sous-jacente des donn\u00e9es absentes. L&rsquo;observabilit\u00e9 de la non-r\u00e9ponse devient une caract\u00e9ristique quantifiable int\u00e9gr\u00e9e au vecteur de d\u00e9cision.<\/p>\n<h3>5.3 Comparaison entre binarisation des valeurs nulles et imputation pr\u00e9alable<\/h3>\n<p>Bien que l&rsquo;activation de <code>dummy_na=True<\/code> offre une commodit\u00e9 op\u00e9rationnelle ind\u00e9niable, le statisticien rigoureux doit \u00e9valuer cette pratique \u00e0 l&rsquo;aune des th\u00e9ories formelles de l&rsquo;imputation de donn\u00e9es. Binariser directement l&rsquo;incompl\u00e9tude revient \u00e0 cr\u00e9er une classe h\u00e9t\u00e9rog\u00e8ne regroupant potentiellement des r\u00e9alit\u00e9s latentes fortement disparates, ce qui peut distordre l&rsquo;estimation des effets propres des autres modalit\u00e9s.<\/p>\n<p>Dans de nombreuses configurations exp\u00e9rimentales, il demeure pr\u00e9f\u00e9rable d&rsquo;intercaler une phase d&rsquo;imputation formelle en amont de l&rsquo;appel \u00e0 <code>pd.get_dummies<\/code>. Les strat\u00e9gies traditionnelles d&rsquo;imputation simple par le mode (modalit\u00e9 la plus fr\u00e9quente) conviennent pour des taux d&rsquo;attrition minimes (g\u00e9n\u00e9ralement inf\u00e9rieurs \u00e0 3%). Toutefois, face \u00e0 des volumes substantiels de valeurs manquantes relevant du m\u00e9canisme MAR, l&rsquo;application d&rsquo;algorithmes d&rsquo;imputation multivari\u00e9e par \u00e9quations encha\u00een\u00e9es (MICE) ou d&rsquo;imputation par for\u00eats al\u00e9atoires (MissForest) pr\u00e9serve avec une bien plus grande fid\u00e9lit\u00e9 la covariance inter-attributs.<\/p>\n<p>Le tableau suivant synth\u00e9tise les crit\u00e8res de d\u00e9cision m\u00e9thodologiques r\u00e9gissant l&rsquo;arbitrage entre l&#8217;emploi direct de <code>dummy_na=True<\/code> et les strat\u00e9gies d&rsquo;imputation avanc\u00e9es pr\u00e9alables :<\/p>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\" style=\"width:100%;border-collapse:collapse\">\n<thead>\n<tr style=\"background-color:#f2f2f2\">\n<th>Crit\u00e8re M\u00e9thodologique<\/th>\n<th>Binarisation directe (dummy_na=True)<\/th>\n<th>Imputation Pr\u00e9alable (MICE \/ MissForest)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>M\u00e9canisme sous-jacent suppos\u00e9<\/strong><\/td>\n<td>MNAR (l&rsquo;absence est informative par nature)<\/td>\n<td>MCAR ou MAR (l&rsquo;absence est conditionnelle)<\/td>\n<\/tr>\n<tr>\n<td><strong>Impact dimensionnel<\/strong><\/td>\n<td>Incr\u00e9mente l&rsquo;espace vectoriel de <span class=\"arabpsy-math-inline\" data-latex=\"+1\">$+1$<\/span> colonne<\/td>\n<td>Pr\u00e9serve la dimensionnalit\u00e9 stricte (<span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> colonnes)<\/td>\n<\/tr>\n<tr>\n<td><strong>Int\u00e9grit\u00e9 s\u00e9mantique<\/strong><\/td>\n<td>Agr\u00e8ge des causes d&rsquo;absence potentiellement distinctes<\/td>\n<td>Estime la modalit\u00e9 latente la plus plausible<\/td>\n<\/tr>\n<tr>\n<td><strong>Complexit\u00e9 computationnelle<\/strong><\/td>\n<td>N\u00e9gligeable, transformation algorithmique instantan\u00e9e<\/td>\n<td>\u00c9lev\u00e9e, requiert des it\u00e9rations stochastiques lourdes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>6. Ciblage s\u00e9lectif des variables par le param\u00e8tre columns<\/h2>\n<h3>6.1 S\u00e9lection explicite de sous-ensembles de pr\u00e9dicteurs<\/h3>\n<p>Dans un contexte d&rsquo;ing\u00e9nierie de donn\u00e9es appliqu\u00e9e, les tableaux bruts comportent fr\u00e9quemment plusieurs dizaines, voire plusieurs centaines de variables h\u00e9t\u00e9rog\u00e8nes. L&rsquo;argument <code>columns<\/code> de la fonction <code>pd.get_dummies<\/code> procure un m\u00e9canisme de contr\u00f4le granulaire permettant d&rsquo;isoler explicitement un sous-ensemble de variables \u00e0 vectoriser, tout en sanctuarisant l&rsquo;int\u00e9grit\u00e9 des autres composantes du jeu de donn\u00e9es.<\/p>\n<p>Lorsque le param\u00e8tre <code>columns<\/code> re\u00e7oit une liste de descripteurs (par exemple, <code>columns=['Sexe', 'Groupe_Sanguin']<\/code>), le moteur d&rsquo;ex\u00e9cution restreint strictement la d\u00e9composition disjonctive \u00e0 ces deux attributs. Les autres colonnes, qu&rsquo;il s&rsquo;agisse de m\u00e9triques continues, d&rsquo;identifiants uniques ou de descripteurs textuels destin\u00e9s \u00e0 un traitement ult\u00e9rieur par traitement du langage naturel (NLP), sont int\u00e9gralement pr\u00e9serv\u00e9es dans leur format d&rsquo;origine et r\u00e9assembl\u00e9es horizontalement avec les nouveaux blocs binaires g\u00e9n\u00e9r\u00e9s.<\/p>\n<p>Ce ciblage programmatique \u00e9vite l&rsquo;\u00e9cueil particuli\u00e8rement critique de la transformation involontaire d&rsquo;attributs quantitatifs discrets. Par exemple, une variable num\u00e9rique enregistrant le nombre d&rsquo;enfants par foyer ou l&rsquo;ann\u00e9e de naissance d&rsquo;un individu pourrait, si elle n&rsquo;est pas rigoureusement typ\u00e9e ou isol\u00e9e, faire l&rsquo;objet d&rsquo;une binarisation disjonctive inopportune, dispersant une information ordonn\u00e9e continue en une constellation de colonnes \u00e9parses d\u00e9pourvues de structure relationnelle.<\/p>\n<h3>6.2 Comportement par d\u00e9faut sur l&rsquo;ensemble du DataFrame<\/h3>\n<p>L&rsquo;omission d\u00e9lib\u00e9r\u00e9e de l&rsquo;argument <code>columns<\/code> (c&rsquo;est-\u00e0-dire la configuration implicite <code>columns=None<\/code>) enclenche une heuristique interne d&rsquo;inspection des m\u00e9tadonn\u00e9es au sein de Pandas. Dans ce mode de fonctionnement, l&rsquo;algorithme parcourt l&rsquo;ensemble des s\u00e9ries composant le DataFrame et s\u00e9lectionne automatiquement toutes les colonnes dont le type d\u00e9clar\u00e9 correspond formellement \u00e0 <code>object<\/code> ou \u00e0 <code>category<\/code>.<\/p>\n<p>Bien que cette automatisation simplifie la phase d&rsquo;exploration pr\u00e9liminaire, elle rec\u00e8le des vuln\u00e9rabilit\u00e9s consid\u00e9rables au sein de pipelines de production automatis\u00e9s. Dans les bases de donn\u00e9es d&rsquo;entreprises, de nombreuses variables nominales sont couramment stock\u00e9es sous la forme de codes num\u00e9riques entiers (par exemple, le code INSEE d&rsquo;une commune, un identifiant de succursale ou un code postal). \u00c9tant typ\u00e9es en <code>int64<\/code>, ces variables cat\u00e9gorielles seront totalement ignor\u00e9es par le balayage par d\u00e9faut de <code>pd.get_dummies<\/code>, demeurant inchang\u00e9es et introduisant des biais majeurs dans les r\u00e9gressions ult\u00e9rieures qui les interpr\u00e9teront erron\u00e9ment comme des m\u00e9triques continues.<\/p>\n<p>Inversement, des colonnes contenant accidentellement des caract\u00e8res alphanum\u00e9riques non nettoy\u00e9s (comme une valeur \u00ab\u00a0N\/A\u00a0\u00bb textuelle \u00e9gar\u00e9e au sein d&rsquo;une colonne de mesures physiologiques continues) forceront l&rsquo;interpr\u00e9teur de Pandas \u00e0 attribuer le type global <code>object<\/code> \u00e0 la s\u00e9rie enti\u00e8re. Lors de l&rsquo;invocation par d\u00e9faut de <code>pd.get_dummies<\/code>, cette variable continue d\u00e9grad\u00e9e sera fragment\u00e9e en centaines d&rsquo;indicatrices binaires, d\u00e9clenchant une instabilit\u00e9 computationnelle s\u00e9v\u00e8re sans lever d&rsquo;alerte explicite.<\/p>\n<h3>6.3 Flux de travail d\u00e9fensif pour l&rsquo;ing\u00e9nierie des caract\u00e9ristiques<\/h3>\n<p>Pour immuniser les flux de traitement analytiques contre ces d\u00e9faillances silencieuses, l&rsquo;adoption d&rsquo;un paradigme de programmation d\u00e9fensive s&rsquo;av\u00e8re indispensable. Ce protocole impose une s\u00e9paration stricte et v\u00e9rifiable entre la phase d&rsquo;audit typologique des donn\u00e9es et la phase de transformation g\u00e9om\u00e9trique.<\/p>\n<p>Un flux de travail d\u00e9fensif standardis\u00e9 s&rsquo;articule autour de quatre \u00e9tapes programmatiques fondamentales :<\/p>\n<ol>\n<li><strong>Audit des m\u00e9tadonn\u00e9es et validation de sch\u00e9ma :<\/strong> Ex\u00e9cution d&rsquo;une assertion explicite sur les types de donn\u00e9es via <code>DataFrame.dtypes<\/code>, coupl\u00e9e \u00e0 la v\u00e9rification des bornes d&rsquo;admissibilit\u00e9 pour chaque descripteur qualitatif.<\/li>\n<li><strong>Transtypage univoque pr\u00e9alable :<\/strong> D\u00e9claration volontaire des variables qualitatives par l&rsquo;application de la m\u00e9thode <code>.astype('category')<\/code>, garantissant que l&rsquo;espace des modalit\u00e9s autoris\u00e9es soit formellement restreint.<\/li>\n<li><strong>V\u00e9rification de cardinalit\u00e9 :<\/strong> Calcul syst\u00e9matique du nombre de valeurs uniques (<code>nunique()<\/code>) pour chaque colonne cibl\u00e9e afin d&rsquo;interdire l&rsquo;encodage aveugle de colonnes \u00e0 cardinalit\u00e9 d\u00e9mesur\u00e9e (telles que des adresses courriel ou des num\u00e9ros de s\u00e9curit\u00e9 sociale).<\/li>\n<li><strong>Invocation restrictive de l&rsquo;encodage :<\/strong> Transmission exclusive des listes de descripteurs cat\u00e9goris\u00e9s valid\u00e9s au param\u00e8tre <code>columns<\/code>, documentant de fa\u00e7on contractuelle l&rsquo;entr\u00e9e et la sortie du pipeline de transformation.<\/li>\n<\/ol>\n<h2>7. Optimisation m\u00e9moire et consid\u00e9rations computationnelles<\/h2>\n<h3>7.1 Explosion de la dimensionnalit\u00e9 et contraintes d&#8217;empreinte RAM<\/h3>\n<p>La transformation d&rsquo;un espace vectoriel par le codage disjonctif complet s&rsquo;accompagne d&rsquo;une amplification dimensionnelle directe r\u00e9gie par la cardinalit\u00e9 combin\u00e9e des variables cibles. Si une matrice initiale comporte <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> observations et <span class=\"arabpsy-math-inline\" data-latex=\"p\">$p$<\/span> attributs cat\u00e9goriels affichant chacun une cardinalit\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"k_j\">$k_j$<\/span>, la dimension finale du tableau transform\u00e9 est donn\u00e9e par <span class=\"arabpsy-math-inline\" data-latex=\"P = \\sum_{j=1}^{p} k_j\">$P = \\sum_{j=1}^{p} k_j$<\/span>. Lorsque les descripteurs pr\u00e9sentent une haute cardinalit\u00e9 (codes postaux, identifiants d&rsquo;utilisateurs ou terminologies m\u00e9dicales CIM-10), <span class=\"arabpsy-math-inline\" data-latex=\"P\">$P$<\/span> peut atteindre rapidement plusieurs dizaines de milliers de colonnes.<\/p>\n<p>Cette prolif\u00e9ration dimensionnelle engendre une explosion de l&#8217;empreinte en m\u00e9moire vive (RAM). La matrice r\u00e9sultante est compos\u00e9e \u00e0 une \u00e9crasante majorit\u00e9 (souvent plus de 99%) de z\u00e9ros matriciels. Dans une repr\u00e9sentation informatique dense par d\u00e9faut, chaque cellule de la matrice alloue une case m\u00e9moire physique, ind\u00e9pendamment du fait que son contenu soit informatif ou nul. L&rsquo;outil d&rsquo;audit <code>DataFrame.memory_usage(deep=True)<\/code> permet de diagnostiquer l&rsquo;impact m\u00e9moire r\u00e9el, r\u00e9v\u00e9lant qu&rsquo;un tableau de quelques dizaines de m\u00e9gaoctets peut subitement exiger plusieurs gigaoctets apr\u00e8s expansion binaire non ma\u00eetris\u00e9e.<\/p>\n<p>Au-del\u00e0 de la saturation physique de la m\u00e9moire vive, cette rar\u00e9faction de l&rsquo;information (<em>sparsity<\/em>) perturbe l&rsquo;efficacit\u00e9 des hi\u00e9rarchies de m\u00e9moire cache du microprocesseur (L1\/L2\/L3). Les algorithmes it\u00e9ratifs d&rsquo;optimisation subissent des p\u00e9nalit\u00e9s massives de temps de calcul induites par le parcours ininterrompu de milliards d&rsquo;\u00e9l\u00e9ments matriciels nuls, un ph\u00e9nom\u00e8ne intrins\u00e8quement li\u00e9 au fl\u00e9au de la dimensionnalit\u00e9 d\u00e9crit par Richard Bellman.<\/p>\n<h3>7.2 Exploitation du param\u00e8tre dtype pour minimiser l&rsquo;encombrement<\/h3>\n<p>La r\u00e9duction de l&#8217;empreinte m\u00e9moire d&rsquo;un encodage disjonctif peut \u00eatre modul\u00e9e de mani\u00e8re significative gr\u00e2ce au choix rigoureux du param\u00e8tre <code>dtype<\/code> lors de l&rsquo;appel \u00e0 <code>pd.get_dummies<\/code>. La repr\u00e9sentation num\u00e9rique par d\u00e9faut au sein de nombreuses distributions scientifiques alloue traditionnellement des entiers 64 bits (<code>int64<\/code>) ou des nombres \u00e0 virgule flottante double pr\u00e9cision (<code>float64<\/code>), n\u00e9cessitant l&rsquo;allocation de 8 octets cons\u00e9cutifs pour chaque valeur binaire.<\/p>\n<p>Dans la mesure o\u00f9 les coordonn\u00e9es d&rsquo;un vecteur disjonctif sont strictement restreintes \u00e0 l&rsquo;ensemble discret <span class=\"arabpsy-math-inline\" data-latex=\"{0, 1}\">${0, 1}$<\/span>, cette allocation s&rsquo;av\u00e8re inutilement dispendieuse. La contrainte explicite du param\u00e8tre \u00e0 <code>dtype=bool<\/code> ou <code>dtype=np.uint8<\/code> divise instantan\u00e9ment par huit le volume d&rsquo;octets requis pour stocker l&rsquo;int\u00e9gralit\u00e9 de la matrice dense transform\u00e9e :<\/p>\n<ul>\n<li><strong>dtype=&rsquo;float64&prime; :<\/strong> Requiert 8 octets par \u00e9l\u00e9ment (64 bits). Inefficace pour les matrices indicatrices denses.<\/li>\n<li><strong>dtype=&rsquo;int8&prime; ou &lsquo;uint8&rsquo; :<\/strong> Requiert 1 octet par \u00e9l\u00e9ment (8 bits). Repr\u00e9sentation num\u00e9rique enti\u00e8re optimale.<\/li>\n<li><strong>dtype=bool :<\/strong> Requiert 1 octet par \u00e9l\u00e9ment (8 bits en impl\u00e9mentation NumPy native). Conforme aux sp\u00e9cifications contemporaines de Pandas 2+.<\/li>\n<\/ul>\n<p>Toutefois, le statisticien doit anticiper les exigences calculatoires des outils en aval. Si certaines fonctions matricielles hautement optimis\u00e9es de <a rel=\"noopener noreferrer\" href=\"https:\/\/scikit-learn.org\/\">Scikit-Learn<\/a> acceptent nativement les matrices bool\u00e9ennes, d&rsquo;autres convertissent implicitement les entr\u00e9es en <code>float64<\/code> lors de l&rsquo;instanciation des matrices de Gram. Si cette conversion s&rsquo;op\u00e8re sans gestion de flux, un d\u00e9passement critique de capacit\u00e9 m\u00e9moire (<em>Out-Of-Memory error<\/em>) peut subvenir lors de la copie transitoire des donn\u00e9es.<\/p>\n<h3>7.3 Approches pour matrices creuses et alternatives scalables<\/h3>\n<p>Lorsque la cardinalit\u00e9 cumul\u00e9e propulse l&rsquo;espace des descripteurs dans des ordres de grandeur o\u00f9 la repr\u00e9sentation dense devient physiquement intenable, le recours aux structures de matrices creuses (<em>sparse matrices<\/em>) s&rsquo;impose comme une n\u00e9cessit\u00e9 architecturale absolue. Bien que <code>pd.get_dummies<\/code> propose historiquement un param\u00e8tre <code>sparse=True<\/code> renvoyant un tableau compos\u00e9 de colonnes <code>SparseArray<\/code>, cette fonctionnalit\u00e9 interne de Pandas pr\u00e9sente des limitations notoires de performance lors d&rsquo;op\u00e9rations d&rsquo;indexation ou de fusion complexes.<\/p>\n<p>Dans les contextes de calcul scientifique \u00e0 large \u00e9chelle, l&rsquo;approche pr\u00e9conis\u00e9e consiste \u00e0 d\u00e9laisser la manipulation pure sous forme de DataFrame Pandas au profit des repr\u00e9sentations matricielles compress\u00e9es de la biblioth\u00e8que SciPy, sp\u00e9cifiquement le format CSR (<em>Compressed Sparse Row<\/em>) via la classe <code>scipy.sparse.csr_matrix<\/code>. Cette structure n&rsquo;alloue de l&rsquo;espace m\u00e9moire que pour les \u00e9l\u00e9ments non nuls (valeurs 1), stockant uniquement leurs coordonn\u00e9es d&rsquo;indices, ce qui permet de compresser la taille de la matrice par plusieurs ordres de grandeur.<\/p>\n<p>Lorsque les volumes de donn\u00e9es d\u00e9passent les capacit\u00e9s de traitement sur une machine unique, la fonction <code>pd.get_dummies<\/code> atteint sa limite conceptuelle intrins\u00e8que li\u00e9e \u00e0 l&rsquo;ex\u00e9cution en m\u00e9moire centralis\u00e9e. Les architectures analytiques modernes pivotent alors vers des moteurs distribu\u00e9s ou \u00e0 ex\u00e9cution hors-m\u00e9moire (<em>out-of-core<\/em>) tels que Polars ou Dask. Ces environnements mettent en \u0153uvre des plans d&rsquo;ex\u00e9cution paresseux (<em>lazy evaluation<\/em>) et un partitionnement dynamique des blocs de donn\u00e9es, permettant de r\u00e9aliser des encodages binaires sur des t\u00e9raoctets de donn\u00e9es sans risquer l&rsquo;effondrement du syst\u00e8me.<\/p>\n<h2>8. Variables cat\u00e9gorielles ordinales versus nominales : analyse comparative<\/h2>\n<h3>8.1 Pertinence th\u00e9orique de la binarisation des \u00e9chelles ordonn\u00e9es<\/h3>\n<p>L&rsquo;application indiff\u00e9renci\u00e9e du codage disjonctif complet \u00e0 l&rsquo;ensemble des variables non m\u00e9triques conduit fr\u00e9quemment \u00e0 des contresens m\u00e9thodologiques majeurs, tout particuli\u00e8rement en pr\u00e9sence d&rsquo;\u00e9chelles de mesure ordonn\u00e9es. Une variable ordinale \u2014 \u00e0 l&rsquo;instar d&rsquo;une \u00e9chelle de Likert mesurant l&rsquo;adh\u00e9sion d&rsquo;un sujet (de \u00ab\u00a0Pas du tout d&rsquo;accord\u00a0\u00bb \u00e0 \u00ab\u00a0Totalement d&rsquo;accord\u00a0\u00bb), d&rsquo;une nomenclature d&rsquo;\u00e9chelons de dipl\u00f4mes universitaires ou d&rsquo;un stade de s\u00e9v\u00e9rit\u00e9 clinique (Stade I \u00e0 Stade IV) \u2014 contient une information topologique fondamentale : la relation de monotonicit\u00e9.<\/p>\n<p>Lorsque la fonction <code>pd.get_dummies<\/code> est appliqu\u00e9e \u00e0 une telle \u00e9chelle, chaque niveau est dissoci\u00e9 dans un espace orthogonal isol\u00e9. Ce processus annihile irr\u00e9m\u00e9diablement l&rsquo;information structurelle relative \u00e0 l&rsquo;ordre naturel des modalit\u00e9s. Le mod\u00e8le statistique devient d\u00e8s lors aveugle au fait que la distance s\u00e9mantique s\u00e9parant le \u00ab\u00a0Stade I\u00a0\u00bb du \u00ab\u00a0Stade II\u00a0\u00bb est th\u00e9oriquement et ph\u00e9nom\u00e9nologiquement inf\u00e9rieure \u00e0 celle reliant le \u00ab\u00a0Stade I\u00a0\u00bb au \u00ab\u00a0Stade IV\u00a0\u00bb.<\/p>\n<p>De surcro\u00eet, cette binarisation disjonctive disperse la variance globale en consommant inutilement <span class=\"arabpsy-math-inline\" data-latex=\"k - 1\">$k &#8211; 1$<\/span> degr\u00e9s de libert\u00e9 statistiques dans les \u00e9quations d&rsquo;estimation, l\u00e0 o\u00f9 une formulation respectant la continuit\u00e9 sous-jacente n&rsquo;en requiert qu&rsquo;un seul. Cette surparam\u00e9trisation accro\u00eet consid\u00e9rablement l&rsquo;erreur d&rsquo;\u00e9chantillonnage et expose les mod\u00e8les au surapprentissage (<em>overfitting<\/em>), sp\u00e9cifiquement au sein de cohortes cliniques o\u00f9 les effectifs d&rsquo;\u00e9chantillons sont structurellement contraints.<\/p>\n<h3>8.2 Alternatives m\u00e9thodologiques au codage disjonctif pour l&rsquo;ordinal<\/h3>\n<p>Face \u00e0 une \u00e9chelle ordonn\u00e9e, le statisticien dispose d&rsquo;un ensemble de m\u00e9thodologies alternatives pr\u00e9servant la validit\u00e9 des hypoth\u00e8ses morphologiques sans encourir les pertes informationnelles du codage binaire non ordonn\u00e9 :<\/p>\n<ul>\n<li><strong>Encodage entier continu (Integer \/ Label Encoding) :<\/strong> Consiste \u00e0 mapper de fa\u00e7on strictement croissante les modalit\u00e9s ordonn\u00e9es sur l&rsquo;ensemble ordonn\u00e9 des entiers naturels <span class=\"arabpsy-math-inline\" data-latex=\"\\mathbb{N}\">$\\mathbb{N}$<\/span> via la fonction <code>pandas.factorize<\/code> ou le module <code>OrdinalEncoder<\/code> de Scikit-Learn. Cette approche pr\u00e9serve le sens de variation mais formule l&rsquo;hypoth\u00e8se sous-jacente tr\u00e8s contraignante d&rsquo;\u00e9quidistance stricte entre les paliers successifs.<\/li>\n<li><strong>Codage par contrastes polynomiaux :<\/strong> Cette m\u00e9thode classique en analyse de variance (ANOVA) d\u00e9compose l&rsquo;effet d&rsquo;une variable ordinale en composantes de tendances fonctionnelles : lin\u00e9aire, quadratique, cubique, etc. Elle permet d&rsquo;\u00e9valuer rigoureusement la courbure de la r\u00e9ponse sans violer l&rsquo;ordonnancement structurel.<\/li>\n<li><strong>Mod\u00e9lisation logistique ordinale \u00e0 cotes proportionnelles :<\/strong> Plut\u00f4t que de transformer la variable pr\u00e9dictive de mani\u00e8re artificielle, le cadre math\u00e9matique de la r\u00e9gression ordinale (mod\u00e8le de McCullagh) mod\u00e9lise directement les probabilit\u00e9s cumul\u00e9es conditionnelles des niveaux d&rsquo;ordre, garantissant une coh\u00e9rence th\u00e9orique optimale.<\/li>\n<\/ul>\n<p>Toutefois, la conversion d&rsquo;une \u00e9chelle ordinale par <code>pd.get_dummies<\/code> demeure m\u00e9thodologiquement licite dans un cas de figure pr\u00e9cis : lorsque l&rsquo;hypoth\u00e8se de lin\u00e9arit\u00e9 ou de monotonicit\u00e9 de l&rsquo;effet marginal de la variable sur la r\u00e9ponse est formellement r\u00e9fut\u00e9e par les donn\u00e9es empiriques, r\u00e9v\u00e9lant des effets de seuil chaotiques ou des inversions locales d&rsquo;impact.<\/p>\n<h3>8.3 Protocoles de d\u00e9cision pour le statisticien et l&rsquo;analyste<\/h3>\n<p>Afin de guider le choix de la m\u00e9thode d&rsquo;encodage selon la nature du facteur sous \u00e9tude, le statisticien peut se conformer \u00e0 un arbre d\u00e9cisionnel structur\u00e9 fond\u00e9 sur la rigueur psychom\u00e9trique et l&rsquo;ad\u00e9quation algorithmique. La premi\u00e8re \u00e9tape consiste \u00e0 tester formellement l&rsquo;\u00e9quidistance des intervalles par une r\u00e9gression pr\u00e9liminaire sur contrastes polynomiaux ou par un test de non-lin\u00e9arit\u00e9 de Wald.<\/p>\n<p>Si la relation entre les modalit\u00e9s successives et la variable cible exhibe une non-lin\u00e9arit\u00e9 s\u00e9v\u00e8re, le renoncement \u00e0 l&rsquo;encodage ordinal scalaire au profit du codage disjonctif via <code>pd.get_dummies<\/code> se justifie pleinement, car il lib\u00e8re le mod\u00e8le de la contrainte param\u00e9trique d&rsquo;intervalle r\u00e9gulier. En revanche, si la progression de la variable r\u00e9ponse est monotone et r\u00e9guli\u00e8re, l&rsquo;encodage ordinal pr\u00e9servant l&rsquo;axe unique garantit une puissance statistique et une parcimonie largement sup\u00e9rieures.<\/p>\n<p>La tra\u00e7abilit\u00e9 de cette d\u00e9cision doit imp\u00e9rativement figurer dans les protocoles de recherche reproductibles. L&rsquo;abandon d&rsquo;une structure ordinale pour une projection disjonctive totale ne doit jamais r\u00e9sulter d&rsquo;une commodit\u00e9 computationnelle ou d&rsquo;un automatisme syntaxique, mais d&rsquo;une validation empirique document\u00e9e des dynamiques de r\u00e9ponse.<\/p>\n<h2>9. L&rsquo;incoh\u00e9rence distributionnelle (Train\/Test Mismatch) en mod\u00e9lisation pr\u00e9dictive<\/h2>\n<h3>9.1 Le m\u00e9canisme de d\u00e9salignement des colonnes d&rsquo;un partitionnement \u00e0 l&rsquo;autre<\/h3>\n<p>L&rsquo;utilisation de la fonction <code>pd.get_dummies<\/code> au sein de protocoles d&rsquo;apprentissage automatique supervis\u00e9 expose le praticien \u00e0 une vuln\u00e9rabilit\u00e9 critique d\u00e9sign\u00e9e sous l&rsquo;appellation d&rsquo;incoh\u00e9rence distributionnelle ou de d\u00e9salignement dimensionnel (<em>train\/test feature mismatch<\/em>). Ce ph\u00e9nom\u00e8ne survient lorsque la binarisation est ex\u00e9cut\u00e9e ind\u00e9pendamment sur la partition d&rsquo;apprentissage (<em>train set<\/em>) et sur la partition de validation ou de test (<em>test set<\/em>).<\/p>\n<p>La fonction <code>pd.get_dummies<\/code> est par essence un algorithme d\u00e9pourvu d&rsquo;\u00e9tat interne persistant (<em>stateless<\/em>). Elle ne conserve aucune m\u00e9moire des modalit\u00e9s observ\u00e9es lors d&rsquo;appels ant\u00e9rieurs et se borne \u00e0 encoder rigoureusement les cat\u00e9gories uniques pr\u00e9sentes dans l&rsquo;\u00e9chantillon qui lui est soumis \u00e0 l&rsquo;instant <span class=\"arabpsy-math-inline\" data-latex=\"t\">$t$<\/span>. Deux situations asym\u00e9triques provoquent alors la rupture du sch\u00e9ma dimensionnel :<\/p>\n<ol>\n<li><strong>Apparition d&rsquo;une modalit\u00e9 in\u00e9dite dans le jeu de test :<\/strong> Une observation de la partition de test contient une modalit\u00e9 cat\u00e9gorielle absente de la cohorte d&rsquo;entra\u00eenement. <code>pd.get_dummies<\/code> engendre alors une nouvelle colonne indicative d\u00e9di\u00e9e \u00e0 cette modalit\u00e9, g\u00e9n\u00e9rant une dimension vectorielle exc\u00e9dentaire que le mod\u00e8le pr\u00e9dictif n&rsquo;a jamais appris \u00e0 pond\u00e9rer.<\/li>\n<li><strong>Absence d&rsquo;une modalit\u00e9 rare dans le jeu de test :<\/strong> Une modalit\u00e9 faiblement repr\u00e9sent\u00e9e dans l&rsquo;\u00e9chantillon d&rsquo;entra\u00eenement n&rsquo;appara\u00eet dans aucune observation de la partition de test suite au partitionnement al\u00e9atoire. <code>pd.get_dummies<\/code> omet alors purement et simplement de cr\u00e9er la colonne associ\u00e9e dans la matrice de test.<\/li>\n<\/ol>\n<p>La cons\u00e9quence informatique est imm\u00e9diate : le tenseur de test pr\u00e9sente un nombre de colonnes diff\u00e9rent de la matrice d&rsquo;entra\u00eenement (<span class=\"arabpsy-math-inline\" data-latex=\"P_{test} \\neq P_{train}\">$P_{test} \\neq P_{train}$<\/span>) ou, pire encore, un ordre d&rsquo;attributs invers\u00e9. Lors de l&rsquo;invocation de la m\u00e9thode <code>model.predict(X_test)<\/code> sous des biblioth\u00e8ques telles que Scikit-Learn, LightGBM ou XGBoost, l&rsquo;interpr\u00e9teur l\u00e8ve une exception d&rsquo;incompatibilit\u00e9 de forme dimensionnelle (<em>ValueError: Shape mismatch<\/em>), interrompant le flux de production.<\/p>\n<h3>9.2 Strat\u00e9gie de synchronisation par DataFrame.reindex<\/h3>\n<p>Pour neutraliser ce risque structurel tout en continuant \u00e0 exploiter l&rsquo;ergonomie de <code>pd.get_dummies<\/code>, une m\u00e9thodologie d&rsquo;alignement a posteriori fond\u00e9e sur l&rsquo;op\u00e9ration <code>DataFrame.reindex<\/code> doit \u00eatre scrupuleusement appliqu\u00e9e. Cette approche consiste \u00e0 figer le sch\u00e9ma vectoriel issu de l&rsquo;ensemble d&rsquo;entra\u00eenement comme le standard architectural immuable du pipeline.<\/p>\n<p>Le protocole algorithmique se d\u00e9ploie selon la logique op\u00e9rationnelle suivante :<\/p>\n<p>Dans un premier temps, la fonction <code>pd.get_dummies<\/code> est appliqu\u00e9e de mani\u00e8re autonome \u00e0 l&rsquo;\u00e9chantillon d&rsquo;apprentissage <span class=\"arabpsy-math-inline\" data-latex=\"X_{train}\">$X_{train}$<\/span>. La s\u00e9quence exacte et exhaustive des noms de colonnes r\u00e9sultantes est captur\u00e9e sous la forme d&rsquo;un objet d&rsquo;index immuable :<\/p>\n<p><code>colonnes_reference = X_train_encoded.columns<\/code><\/p>\n<p>Dans un second temps, le jeu de donn\u00e9es de test <span class=\"arabpsy-math-inline\" data-latex=\"X_{test}\">$X_{test}$<\/span> fait l&rsquo;objet d&rsquo;une binarisation disjonctive ind\u00e9pendante via <code>pd.get_dummies<\/code>. Imm\u00e9diatement apr\u00e8s cette \u00e9tape, la m\u00e9thode <code>reindex<\/code> est invoqu\u00e9e sur le tableau de test en lui injectant la liste de r\u00e9f\u00e9rence :<\/p>\n<p><code>X_test_encoded = X_test_encoded.reindex(columns=colonnes_reference, fill_value=0)<\/code><\/p>\n<p>Ce m\u00e9canisme garantit une robustesse math\u00e9matique absolue : toute modalit\u00e9 in\u00e9dite apparue dans le test est silencieusement \u00e9lud\u00e9e (ses colonnes n&rsquo;existant pas dans <code>colonnes_reference<\/code> sont \u00e9cart\u00e9es), tandis que toute modalit\u00e9 historique absente du test voit sa colonne automatiquement recr\u00e9\u00e9e et peupl\u00e9e int\u00e9gralement de z\u00e9ros matriciels (<code>fill_value=0<\/code>). Le vecteur de caract\u00e9ristiques d&rsquo;inf\u00e9rence redevient rigoureusement superposable \u00e0 la matrice d&rsquo;entra\u00eenement d&rsquo;origine.<\/p>\n<h3>9.3 Confrontation : pd.get_dummies versus OneHotEncoder de Scikit-Learn<\/h3>\n<p>La persistance de cette probl\u00e9matique d&rsquo;alignement justifie un examen comparatif approfondi entre <code>pd.get_dummies<\/code> et son alter ego de l&rsquo;\u00e9cosyst\u00e8me Scikit-Learn, la classe <code>sklearn.preprocessing.OneHotEncoder<\/code>. L&rsquo;arbitrage entre ces deux instruments d\u00e9pend principalement de l&rsquo;objectif op\u00e9rationnel poursuivi, qu&rsquo;il s&rsquo;agisse d&rsquo;exploration analytique interactive ou de d\u00e9ploiement de mod\u00e8les en production industrielle.<\/p>\n<p>Le transformateur <code>OneHotEncoder<\/code> impl\u00e9mente l&rsquo;architecture orient\u00e9e objet \u00e0 \u00e9tat interne articul\u00e9e autour de la s\u00e9quence <code>fit<\/code> et <code>transform<\/code>. Lors de l&rsquo;appel de <code>fit<\/code> sur l&rsquo;\u00e9chantillon d&rsquo;apprentissage, la classe m\u00e9morise les cat\u00e9gories pr\u00e9sentes dans son attribut <code>categories_<\/code>. Lors des appels ult\u00e9rieurs de <code>transform<\/code> sur des flux de donn\u00e9es en production, le transformateur applique exactement la m\u00eame projection, g\u00e9rant les classes inconnues de fa\u00e7on native et standardis\u00e9e via le param\u00e8tre <code>handle_unknown='ignore'<\/code> ou <code>handle_unknown='infrequent_if_exist'<\/code>.<\/p>\n<p>Le tableau comparatif suivant synth\u00e9tise les propri\u00e9t\u00e9s distinctives de ces deux architectures d&rsquo;encodage :<\/p>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\" style=\"width:100%;border-collapse:collapse\">\n<thead>\n<tr style=\"background-color:#f2f2f2\">\n<th>Propri\u00e9t\u00e9 \/ Dimension<\/th>\n<th>pandas.get_dummies<\/th>\n<th>sklearn.preprocessing.OneHotEncoder<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Paradigme architectural<\/strong><\/td>\n<td>Fonctionnel pur, sans \u00e9tat persistant (<em>stateless<\/em>)<\/td>\n<td>Classe orient\u00e9e objet \u00e0 \u00e9tat m\u00e9moris\u00e9 (<em>fit \/ transform<\/em>)<\/td>\n<\/tr>\n<tr>\n<td><strong>Type de structure renvoy\u00e9e<\/strong><\/td>\n<td><code>pandas.DataFrame<\/code> enrichi avec libell\u00e9s<\/td>\n<td>Matrice creuse <code>scipy.sparse<\/code> ou tableau <code>ndarray<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Int\u00e9gration en Pipeline<\/strong><\/td>\n<td>N\u00e9cessite des adaptateurs complexes (FunctionTransformer)<\/td>\n<td>Int\u00e9gration directe et native dans <code>Pipeline<\/code> \/ <code>ColumnTransformer<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Gestion des modalit\u00e9s in\u00e9dites<\/strong><\/td>\n<td>Requiert une synchronisation manuelle via <code>.reindex()<\/code><\/td>\n<td>Automatis\u00e9e via le param\u00e8tre <code>handle_unknown='ignore'<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Facilit\u00e9 d&rsquo;exploration descriptive<\/strong><\/td>\n<td>Excellente, visibilit\u00e9 imm\u00e9diate des noms de colonnes<\/td>\n<td>Interm\u00e9diaire, n\u00e9cessite <code>get_feature_names_out()<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>10. Exploitation avanc\u00e9e : Donn\u00e9es textuelles d\u00e9limit\u00e9es et multi-\u00e9tiquetage<\/h2>\n<h3>10.1 Binarisation des variables \u00e0 choix multiples avec str.get_dummies<\/h3>\n<p>Dans la recherche empirique, particuli\u00e8rement au sein des sciences sociales, de la psychom\u00e9trie et du marketing quantitatif, les questionnaires d&rsquo;enqu\u00eate enregistrent fr\u00e9quemment des variables dites \u00e0 r\u00e9ponses multiples ou multi-\u00e9tiquet\u00e9s. Dans ce sch\u00e9ma, un m\u00eame individu peut s\u00e9lectionner simultan\u00e9ment plusieurs r\u00e9ponses parmi une liste finie d&rsquo;options. Ces donn\u00e9es sont traditionnellement agr\u00e9g\u00e9es au sein d&rsquo;une cellule unique sous la forme d&rsquo;une cha\u00eene de caract\u00e8res concaten\u00e9e par un d\u00e9limiteur syntaxique arbitraire (par exemple, \u00ab\u00a0Anxi\u00e9t\u00e9;D\u00e9pression;Insomnie\u00a0\u00bb).<\/p>\n<p>La fonction g\u00e9n\u00e9rique <code>pandas.get_dummies<\/code> est totalement inop\u00e9rante face \u00e0 cette configuration structurelle, car elle consid\u00e9rerait chaque combinaison textuelle unique de sympt\u00f4mes comme une modalit\u00e9 atomique isol\u00e9e, g\u00e9n\u00e9rant une indicatrice distincte pour chaque combinaison observ\u00e9e. Pour r\u00e9pondre \u00e0 cette typologie de donn\u00e9es composites, la biblioth\u00e8que Pandas expose une m\u00e9thode sp\u00e9cialis\u00e9e vectoris\u00e9e au sein de son accesseur textuel : <code>pandas.Series.str.get_dummies<\/code>.<\/p>\n<p>L&rsquo;invocation de <code>Series.str.get_dummies(sep=';')<\/code> ex\u00e9cute un algorithme de scission (<em>string splitting<\/em>), balaie dynamiquement l&rsquo;int\u00e9gralit\u00e9 des sous-cha\u00eenes d\u00e9limit\u00e9es par le s\u00e9parateur <code>sep<\/code>, isole l&rsquo;ensemble des lex\u00e8mes distincts, puis compile directement la matrice d&rsquo;incidence binaire correspondante. Chaque observation re\u00e7oit la valeur 1 dans toutes les colonnes correspondant aux termes recens\u00e9s dans sa cha\u00eene composite, traduisant fid\u00e8lement la structure multi-\u00e9tiquettes dans un format math\u00e9matiquement exploitable.<\/p>\n<h3>10.2 Nettoyage pr\u00e9liminaire des cha\u00eenes de caract\u00e8res complexes<\/h3>\n<p>L&rsquo;exploitation de <code>str.get_dummies<\/code> requiert un contr\u00f4le scrupuleux de l&rsquo;hygi\u00e8ne lexicographique des donn\u00e9es d&rsquo;entr\u00e9e. En raison de la libert\u00e9 inh\u00e9rente \u00e0 la saisie de texte libre ou aux imperfections d&rsquo;extraction des logiciels d&rsquo;enqu\u00eate en ligne, les s\u00e9parateurs sont fr\u00e9quemment flanqu\u00e9s d&rsquo;espaces typographiques accidentels (par exemple, \u00ab\u00a0Douleur ; Fatigue ; C\u00e9phal\u00e9e\u00a0\u00bb).<\/p>\n<p>L&rsquo;ex\u00e9cution directe de la fonction avec <code>sep=';'<\/code> sans assainissement pr\u00e9alable engendrerait des cat\u00e9gories syntaxiquement scind\u00e9es telles que <code>\" Fatigue\"<\/code> et <code>\"Fatigue\"<\/code>. Ces deux cha\u00eenes \u00e9tant consid\u00e9r\u00e9es comme distinctes par le moteur d&rsquo;\u00e9valuation textuelle, Pandas instancierait deux colonnes indicatrices concurrentes pour un m\u00eame ph\u00e9nom\u00e8ne sous-jacent. Il est donc imp\u00e9ratif de normaliser la s\u00e9rie en \u00e9liminant ces espaces parasites au moyen d&rsquo;expressions r\u00e9guli\u00e8res via <code>Series.str.replace(r's*;s*', ';', regex=True)<\/code> ou par une recomposition syntaxique rigoureuse.<\/p>\n<p>De m\u00eame, la sensibilit\u00e9 \u00e0 la casse (majuscules\/minuscules) doit \u00eatre syst\u00e9matiquement neutralis\u00e9e par l&rsquo;application de <code>Series.str.lower()<\/code> pr\u00e9alablement au d\u00e9coupage disjonctif. Enfin, la pr\u00e9sence de cha\u00eenes vides ou de d\u00e9limiteurs cons\u00e9cutifs multiples (<code>\";;\"<\/code>) doit \u00eatre anticip\u00e9e pour \u00e9viter la cr\u00e9ation fortuite d&rsquo;une colonne binaire anonyme repr\u00e9sentant le vide textuel.<\/p>\n<h3>10.3 Applications empiriques aux r\u00e9ponses psychologiques et comportementales<\/h3>\n<p>La vectorisation des descripteurs textuels d\u00e9limit\u00e9s d\u00e9bloque des potentialit\u00e9s analytiques consid\u00e9rables dans l&rsquo;\u00e9tude des profils comportementaux complexes. En psychopathologie exp\u00e9rimentale, l&rsquo;encodage binaire des constellations syndromiques rapport\u00e9es par les patients autorise l&rsquo;application directe de m\u00e9thodes d&rsquo;analyse de r\u00e9seaux psychom\u00e9triques ou d&rsquo;extraction de motifs fr\u00e9quents fond\u00e9es sur des r\u00e8gles d&rsquo;association (algorithme Apriori).<\/p>\n<p>\u00c0 partir de la matrice disjonctive r\u00e9sultant de l&rsquo;appel \u00e0 <code>df['Symptomes'].str.get_dummies(sep='|')<\/code>, le calcul de la matrice de co-occurrence s&rsquo;obtient de fa\u00e7on instantan\u00e9e par simple multiplication alg\u00e9brique de matrices transpos\u00e9es :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\mathbf{C} = \\mathbf{X}^T \\mathbf{X}\">$$\\mathbf{C} = \\mathbf{X}^T \\mathbf{X}$$<\/span><\/p>\n<p>Au sein de cette matrice carr\u00e9e sym\u00e9trique <span class=\"arabpsy-math-inline\" data-latex=\"\\mathbf{C}\">$\\mathbf{C}$<\/span>, la diagonale principale quantifie la pr\u00e9valence marginale brute de chaque sympt\u00f4me dans la population \u00e9tudi\u00e9e, tandis que les \u00e9l\u00e9ments hors diagonale <span class=\"arabpsy-math-inline\" data-latex=\"C_{ij}\">$C_{ij}$<\/span> d\u00e9nombrent exactement le volume de patients chez lesquels les sympt\u00f4mes <span class=\"arabpsy-math-inline\" data-latex=\"i\">$i$<\/span> et <span class=\"arabpsy-math-inline\" data-latex=\"j\">$j$<\/span> se manifestent de fa\u00e7on conjointe. Cette approche transforme une extraction qualitative brute en un substrat quantitatif rigoureux, propice au calcul de coefficients de corr\u00e9lation t\u00e9trachorique ou d&rsquo;indices de similarit\u00e9 de Jaccard.<\/p>\n<h2>11. \u00c9tudes de cas empiriques appliqu\u00e9es \u00e0 la mod\u00e9lisation statistique<\/h2>\n<h3>11.1 Cas n\u00b01 : Mod\u00e9lisation du bien-\u00eatre subjectif en fonction du statut socio-professionnel<\/h3>\n<p>Afin d&rsquo;illustrer la mise en \u0153uvre empirique rigoureuse de la binarisation disjonctive dans le cadre de la mod\u00e9lisation inf\u00e9rentielle, examinons une \u00e9tude synth\u00e9tique \u00e9valuant le niveau de bien-\u00eatre subjectif (mesur\u00e9 sur une \u00e9chelle m\u00e9trique continue de 0 \u00e0 100) aupr\u00e8s d&rsquo;une cohorte d&rsquo;individus en fonction de leur cat\u00e9gorie socio-professionnelle (CSP). La variable cat\u00e9gorielle nominale \u00ab\u00a0CSP\u00a0\u00bb se compose de cinq modalit\u00e9s : \u00ab\u00a0Artisan\u00a0\u00bb, \u00ab\u00a0Cadre\u00a0\u00bb, \u00ab\u00a0Employ\u00e9\u00a0\u00bb, \u00ab\u00a0Ouvrier\u00a0\u00bb, et \u00ab\u00a0Sans_Emploi\u00a0\u00bb.<\/p>\n<p>L&rsquo;objectif scientifique consiste \u00e0 ajuster un mod\u00e8le lin\u00e9aire des moindres carr\u00e9s ordinaires pour estimer l&rsquo;incidence diff\u00e9rentielle de chaque statut socioprofessionnel sur le bien-\u00eatre, tout en \u00e9vitant formellement le pi\u00e8ge de la variable muette. Le protocole implique la s\u00e9lection de la modalit\u00e9 \u00ab\u00a0Ouvrier\u00a0\u00bb comme cat\u00e9gorie de r\u00e9f\u00e9rence th\u00e9orique, motiv\u00e9e par des consid\u00e9rations de comparabilit\u00e9 sociologique.<\/p>\n<p>Pour imposer d\u00e9terministement cette r\u00e9f\u00e9rence avant l&rsquo;appel \u00e0 <code>pd.get_dummies<\/code> avec <code>drop_first=True<\/code>, la variable est convertie en cat\u00e9gorie ordonn\u00e9e au sens de Pandas, en positionnant explicitement la modalit\u00e9 de r\u00e9f\u00e9rence en premi\u00e8re position de la liste ordonn\u00e9e :<\/p>\n<p><code>categories_ordre = ['Ouvrier', 'Artisan', 'Cadre', 'Employ\u00e9', 'Sans_Emploi']<\/code><br \/>\n<code>df['CSP'] = pd.Categorical(df['CSP'], categories=categories_ordre, ordered=True)<\/code><br \/>\n<code>X = pd.get_dummies(df[['CSP']], drop_first=True, dtype=float)<\/code><\/p>\n<p>La matrice r\u00e9sultante <span class=\"arabpsy-math-inline\" data-latex=\"X\">$X$<\/span> ne contient que quatre colonnes indicatrices : <code>CSP_Artisan<\/code>, <code>CSP_Cadre<\/code>, <code>CSP_Employ\u00e9<\/code> et <code>CSP_Sans_Emploi<\/code>. Lors de l&rsquo;estimation de l&rsquo;\u00e9quation de r\u00e9gression via le module <code>statsmodels.api.OLS<\/code> en y adjoignant un terme constant :<\/p>\n<p>Le coefficient de l&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine (l&rsquo;intercept <span class=\"arabpsy-math-inline\" data-latex=\"\\hat{\\beta}_0\">$\\hat{\\beta}_0$<\/span>) exprime math\u00e9matiquement la moyenne estim\u00e9e du bien-\u00eatre subjectif au sein de la sous-population des ouvriers. Chaque param\u00e8tre de pente partiel <span class=\"arabpsy-math-inline\" data-latex=\"\\hat{\\beta}_j\">$\\hat{\\beta}_j$<\/span> quantifie la divergence moyenne de bien-\u00eatre observ\u00e9e pour la modalit\u00e9 correspondante par rapport \u00e0 la cat\u00e9gorie de r\u00e9f\u00e9rence ouvri\u00e8re. Si le param\u00e8tre <span class=\"arabpsy-math-inline\" data-latex=\"\\hat{\\beta}_{\\text{Cadre}}\">$\\hat{\\beta}_{\\text{Cadre}}$<\/span> affiche une valeur de <span class=\"arabpsy-math-inline\" data-latex=\"+12.4\">$+12.4$<\/span> (<span class=\"arabpsy-math-inline\" data-latex=\"p &lt; 0.001\">$p &lt; 0.001$<\/span>), cela signifie que les cadres d\u00e9clarent un bien-\u00eatre sup\u00e9rieur en moyenne de 12,4 points par rapport aux ouvriers, toutes choses \u00e9gales par ailleurs, validant une interpr\u00e9tation univoque et math\u00e9matiquement stable exempte de multicolin\u00e9arit\u00e9.<\/p>\n<h3>11.2 Cas n\u00b02 : Pr\u00e9diction de l&rsquo;abandon th\u00e9rapeutique en sant\u00e9 comportementale<\/h3>\n<p>Ce second cas d&rsquo;usage clinique traite de la pr\u00e9diction de l&rsquo;abandon pr\u00e9matur\u00e9 d&rsquo;un protocole psychoth\u00e9rapeutique ambulatoire (variable cible binaire : <span class=\"arabpsy-math-inline\" data-latex=\"Y in {0, 1}\">$Y in {0, 1}$<\/span>) au sein d&rsquo;une population de <span class=\"arabpsy-math-inline\" data-latex=\"n=1500\">$n=1500$<\/span> patients. Les pr\u00e9dicteurs incluent une variable diagnostique psychiatrique primaire polytomique comportant des modalit\u00e9s \u00e0 tr\u00e8s faible pr\u00e9valence marginale (ex. : \u00ab\u00a0Trouble Factice\u00a0\u00bb, ne repr\u00e9sentant que 3 occurrences dans la cohorte) ainsi qu&rsquo;une proportion substantielle de valeurs manquantes dues \u00e0 des diagnostics diff\u00e9rentiels non encore tranch\u00e9s lors de l&rsquo;admission.<\/p>\n<p>L&rsquo;application aveugle de <code>pd.get_dummies(df, columns=['Diagnostic'])<\/code> engendrerait deux pathologies m\u00e9thodologiques majeures : premi\u00e8rement, l&rsquo;\u00e9viction par d\u00e9faut des dossiers non diagnostiqu\u00e9s induirait une attrition artificielle de l&rsquo;\u00e9chantillon d&rsquo;apprentissage ; deuxi\u00e8mement, la cr\u00e9ation d&rsquo;une variable indicatrice pour une modalit\u00e9 ultra-minoritaire de 3 patients expose les algorithmes de r\u00e9gression logistique \u00e0 un ph\u00e9nom\u00e8ne de s\u00e9paration quasi-parfaite (s\u00e9paration de Firth), provoquant une divergence computationnelle des estimateurs du maximum de vraisemblance vers l&rsquo;infini num\u00e9rique.<\/p>\n<p>Le protocole de traitement avanc\u00e9 impose une phase d&rsquo;aggr\u00e9gation strat\u00e9gique pr\u00e9alable. Les modalit\u00e9s dont l&rsquo;effectif est inf\u00e9rieur \u00e0 un seuil d&rsquo;admissibilit\u00e9 statistique fix\u00e9 (par exemple, une pr\u00e9valence marginale inf\u00e9rieure \u00e0 1% de l&rsquo;\u00e9chantillon global) sont automatiquement regroup\u00e9es au sein d&rsquo;une modalit\u00e9 chapeau normalis\u00e9e \u00ab\u00a0Diagnostic_Autre_Rare\u00a0\u00bb via <code>Series.value_counts()<\/code> et <code>Series.where()<\/code>.<\/p>\n<p>Dans un second temps, l&rsquo;encodage disjonctif est activ\u00e9 avec l&rsquo;argument explicite <code>dummy_na=True<\/code>. Cette configuration permet de d\u00e9river une colonne d\u00e9di\u00e9e <code>Diagnostic_nan<\/code> qui isole formellement l&rsquo;incertitude nosologique initiale. L&rsquo;\u00e9valuation ult\u00e9rieure d&rsquo;un mod\u00e8le d&rsquo;arbres de d\u00e9cision r\u00e9gularis\u00e9 r\u00e9v\u00e8le que cette indicatrice de non-r\u00e9ponse diagnostique constitue en r\u00e9alit\u00e9 le second pr\u00e9dicteur le plus important de l&rsquo;abandon th\u00e9rapeutique pr\u00e9coce, confirmant l&rsquo;hypoth\u00e8se clinique que le flou diagnostique initial majore le risque d&rsquo;errance et d&rsquo;interruption du parcours de soins.<\/p>\n<h3>11.3 Cas n\u00b03 : Pipeline de pr\u00e9traitement automatis\u00e9 pour la recherche quantitative<\/h3>\n<p>Afin d&rsquo;assurer la reproductibilit\u00e9 exp\u00e9rimentale selon les principes <a rel=\"noopener noreferrer\" href=\"https:\/\/www.go-fair.org\/fair-principles\/\">FAIR<\/a> (Facile \u00e0 trouver, Accessible, Interop\u00e9rable, R\u00e9utilisable), le troisi\u00e8me cas d&rsquo;usage formalise une fonction d&rsquo;ing\u00e9nierie modulaire int\u00e9grant validation de sch\u00e9ma, binarisation et garantie d&rsquo;alignement pour des cohortes soumises \u00e0 un r\u00e9\u00e9chantillonnage par bootstrap statistique.<\/p>\n<p>Lors de l&rsquo;application de r\u00e9\u00e9chantillonnages r\u00e9p\u00e9t\u00e9s (it\u00e9rations de bootstrap ou validation crois\u00e9e stratifi\u00e9e \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> blocs), les sous-\u00e9chantillons d&rsquo;apprentissage et d&rsquo;\u00e9valuation pr\u00e9sentent des compositions cat\u00e9gorielles stochastiquement divergentes. L&rsquo;architecture de la fonction modulaire re\u00e7oit le jeu de donn\u00e9es d&rsquo;entra\u00eenement, le jeu de donn\u00e9es cible, la liste explicite des variables qualitatives \u00e0 traiter, ainsi qu&rsquo;une convention de nommage.<\/p>\n<p>La fonction ex\u00e9cute la transformation disjonctive compl\u00e8te sur l&rsquo;ensemble d&rsquo;apprentissage, s\u00e9rialise le sch\u00e9ma des colonnes g\u00e9n\u00e9r\u00e9es dans un registre de m\u00e9tadonn\u00e9es, applique la transformation au jeu de validation, puis d\u00e9clenche imm\u00e9diatement l&rsquo;alignement dimensionnel strict via la m\u00e9thode <code>reindex(columns=registre_schema, fill_value=0)<\/code>. Les structures finales sont ensuite export\u00e9es au format binaire compress\u00e9 Parquet ou HDF5, assurant l&rsquo;archivage p\u00e9renne des tenseurs de mod\u00e9lisation conjointement aux journaux de tra\u00e7abilit\u00e9 cartographiant chaque variable indicatrice vers son attribut d&rsquo;origine.<\/p>\n<h2>12. Synth\u00e8se m\u00e9thodologique, bonnes pratiques et pi\u00e8ges r\u00e9currents<\/h2>\n<h3>12.1 Liste de contr\u00f4le rigoureuse avant d\u00e9ploiement de mod\u00e8les<\/h3>\n<p>L&rsquo;int\u00e9gration de la fonction <code>pd.get_dummies<\/code> au sein de projets d&rsquo;analyse de donn\u00e9es requiert une vigilance m\u00e9thodologique syst\u00e9matique. Une liste de contr\u00f4le rigoureuse permet de pr\u00e9venir les dysfonctionnements les plus fr\u00e9quemment observ\u00e9s :<\/p>\n<ul>\n<li><strong>V\u00e9rification formelle des types fondamentaux :<\/strong> S&rsquo;assurer que les variables num\u00e9riques stockant des entiers qualitatifs (identifiants, codes d\u00e9partementaux) ont \u00e9t\u00e9 explicitement converties au format <code>category<\/code> ou <code>object<\/code> avant l&rsquo;encodage.<\/li>\n<li><strong>\u00c9valuation et limitation de la cardinalit\u00e9 :<\/strong> V\u00e9rifier qu&rsquo;aucune colonne candidate ne poss\u00e8de un nombre excessif de valeurs distinctes afin d&rsquo;endiguer toute explosion dimensionnelle incontr\u00f4l\u00e9e dans l&rsquo;espace m\u00e9moire.<\/li>\n<li><strong>Arbitrage conscient sur la colin\u00e9arit\u00e9 :<\/strong> S\u00e9lectionner d\u00e9lib\u00e9r\u00e9ment <code>drop_first=True<\/code> pour les architectures d&rsquo;estimation lin\u00e9aires ordinaires, et maintenir <code>drop_first=False<\/code> pour les familles d&rsquo;arbres d\u00e9cisionnels ou de boosting.<\/li>\n<li><strong>D\u00e9finition d\u00e9terministe de la modalit\u00e9 de r\u00e9f\u00e9rence :<\/strong> R\u00e9ordonner pr\u00e9alablement les cat\u00e9gories au format <code>Categorical<\/code> pour contr\u00f4ler quelle modalit\u00e9 est exclue lorsque <code>drop_first=True<\/code> est mobilis\u00e9.<\/li>\n<li><strong>Gestion explicite de l&rsquo;incompl\u00e9tude :<\/strong> D\u00e9cider de mani\u00e8re \u00e9tay\u00e9e entre l&rsquo;activation de <code>dummy_na=True<\/code> (si l&rsquo;absence est informative) ou le recours \u00e0 une cha\u00eene d&rsquo;imputation multivari\u00e9e pr\u00e9alable.<\/li>\n<li><strong>Persistance du sch\u00e9ma dimensionnel :<\/strong> Sauvegarder imp\u00e9rativement l&rsquo;ordre et le nom exact des colonnes d&rsquo;entra\u00eenement afin d&rsquo;assurer l&rsquo;alignement structurel du jeu de test via la m\u00e9thode <code>reindex<\/code>.<\/li>\n<\/ul>\n<h3>12.2 Diagnostics des erreurs communes et solutions techniques<\/h3>\n<p>Parmi les anomalies techniques fr\u00e9quemment recens\u00e9es lors de l&rsquo;exploitation de <code>pd.get_dummies<\/code>, l&rsquo;h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9 typographique occulte figure en premier plan. La pr\u00e9sence d&rsquo;espaces ins\u00e9cables ou d&rsquo;irr\u00e9gularit\u00e9s de casse au sein des \u00e9tiquettes textuelles engendre la cr\u00e9ation de colonnes indicatrices faussement disjointes (telles que <code>Statut_Actif<\/code> et <code>Statut_actif <\/code>). Le diagnostic s&rsquo;op\u00e8re par l&rsquo;inspection de <code>Series.unique()<\/code>, et la rem\u00e9diation technique r\u00e9side dans l&rsquo;application syst\u00e9matique de <code>df[col] = df[col].astype(str).str.strip().str.lower()<\/code> pr\u00e9alablement \u00e0 toute binarisation.<\/p>\n<p>Un second dysfonctionnement pernicieux survient lors de la recombinaison horizontale de tableaux par <code>pandas.concat<\/code> \u00e0 la suite d&rsquo;un encodage partiel. Si l&rsquo;index du tableau source a subi des filtrages ou des r\u00e9organisations sans r\u00e9initialisation pr\u00e9alable de son indexation s\u00e9quentielle, l&rsquo;op\u00e9ration de concat\u00e9nation aligne les lignes sur la base de leurs index d&rsquo;origine, provoquant des d\u00e9calages d&rsquo;enregistrements et g\u00e9n\u00e9rant silencieusement des lignes corrompues de valeurs nulles. L&rsquo;application d\u00e9fensive de <code>DataFrame.reset_index(drop=True)<\/code> avant tout appel \u00e0 <code>pd.get_dummies<\/code> pr\u00e9munit le flux analytique contre cette d\u00e9synchronisation relationnelle.<\/p>\n<p>Enfin, les erreurs d&rsquo;inversion accidentelle de colonnes lors de la phase d&rsquo;inf\u00e9rence repr\u00e9sentent une cause majeure d&rsquo;effondrement des performances pr\u00e9dictives. Un mod\u00e8le entra\u00een\u00e9 sur un vecteur dont l&rsquo;ordre des colonnes est <span class=\"arabpsy-math-inline\" data-latex=\"[D_1, D_2, D_3]\">$[D_1, D_2, D_3]$<\/span> produira des inf\u00e9rences erratiques s&rsquo;il re\u00e7oit en production un vecteur binaris\u00e9 ordonn\u00e9 sous la forme <span class=\"arabpsy-math-inline\" data-latex=\"[D_2, D_1, D_3]\">$[D_2, D_1, D_3]$<\/span>. L&rsquo;imposition syst\u00e9matique du sch\u00e9ma de colonnes par la m\u00e9thode <code>DataFrame.reindex<\/code> r\u00e9sout d\u00e9finitivement ce danger en garantissant l&rsquo;isomorphisme des repr\u00e9sentations vectorielles.<\/p>\n<h3>12.3 Cadre de d\u00e9cision pour le choix de la m\u00e9thode d&rsquo;encodage<\/h3>\n<p>Pour parachever cette \u00e9tude, il convient de situer l&#8217;emploi de <code>pd.get_dummies<\/code> au sein du panorama global des techniques de vectorisation de variables qualitatives. Si le codage disjonctif complet constitue une m\u00e9thode transparente et universellement r\u00e9pandue, d&rsquo;autres paradigmes s&rsquo;av\u00e8rent plus pertinents d\u00e8s lors que la cardinalit\u00e9 des attributs cro\u00eet de mani\u00e8re substantielle ou que des contraintes sp\u00e9cifiques de production logicielle s&rsquo;imposent.<\/p>\n<p>Le tableau comparatif suivant synth\u00e9tise les crit\u00e8res de s\u00e9lection architecturaux guidant le praticien dans l&rsquo;\u00e9lection de sa strat\u00e9gie d&rsquo;ing\u00e9nierie cat\u00e9gorielle :<\/p>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\" style=\"width:100%;border-collapse:collapse\">\n<thead>\n<tr style=\"background-color:#f2f2f2\">\n<th>M\u00e9thode d&rsquo;encodage<\/th>\n<th>Domaine de Cardinalit\u00e9<\/th>\n<th>Risque de Colin\u00e9arit\u00e9<\/th>\n<th>Pr\u00e9servation S\u00e9mantique<\/th>\n<th>Contexte Id\u00e9al d&rsquo;Utilisation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>pd.get_dummies<\/strong><\/td>\n<td>Faible \u00e0 mod\u00e9r\u00e9e (<span class=\"arabpsy-math-inline\" data-latex=\"k &lt; 20\">$k &lt; 20$<\/span>)<\/td>\n<td>\u00c9lev\u00e9 (neutralisable par <code>drop_first=True<\/code>)<\/td>\n<td>Maximale (orthogonalit\u00e9 totale)<\/td>\n<td>Exploration interactive, inf\u00e9rence \u00e9conom\u00e9trique, prototypage rapide<\/td>\n<\/tr>\n<tr>\n<td><strong>Scikit-Learn OneHotEncoder<\/strong><\/td>\n<td>Faible \u00e0 mod\u00e9r\u00e9e (<span class=\"arabpsy-math-inline\" data-latex=\"k &lt; 50\">$k &lt; 50$<\/span>)<\/td>\n<td>\u00c9lev\u00e9 (g\u00e9r\u00e9 via le param\u00e8tre <code>drop<\/code>)<\/td>\n<td>Maximale (orthogonalit\u00e9 totale)<\/td>\n<td>Pipelines industriels Scikit-Learn, validation crois\u00e9e standardis\u00e9e<\/td>\n<\/tr>\n<tr>\n<td><strong>Target Encoding \/ Impact Coding<\/strong><\/td>\n<td>Tr\u00e8s \u00e9lev\u00e9e (<span class=\"arabpsy-math-inline\" data-latex=\"k &gt; 100\">$k &gt; 100$<\/span>)<\/td>\n<td>Nul (projection sur un scalaire continu)<\/td>\n<td>Moyenne (d\u00e9pendance stricte \u00e0 la variable cible)<\/td>\n<td>Mod\u00e8les de Gradient Boosting sur donn\u00e9es massives, comp\u00e9titions de donn\u00e9es<\/td>\n<\/tr>\n<tr>\n<td><strong>Encodage Ordinal (Integer)<\/strong><\/td>\n<td>Toute cardinalit\u00e9 ordonn\u00e9e<\/td>\n<td>Nul<\/td>\n<td>\u00c9lev\u00e9e pour structures purement monotones<\/td>\n<td>\u00c9chelles d&rsquo;attitudes, scores psychom\u00e9triques, degr\u00e9s de s\u00e9v\u00e9rit\u00e9 clinique<\/td>\n<\/tr>\n<tr>\n<td><strong>Hachage de caract\u00e9ristiques (Feature Hashing)<\/strong><\/td>\n<td>Extr\u00eame (<span class=\"arabpsy-math-inline\" data-latex=\"k &gt; 10,000\">$k &gt; 10,000$<\/span>)<\/td>\n<td>Faible<\/td>\n<td>Faible (collisions de hachage possibles)<\/td>\n<td>Syst\u00e8mes de recommandation \u00e0 large \u00e9chelle, traitement de flux textuels<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>En conclusion, la fonction <code>pandas.get_dummies<\/code> demeure un outil d&rsquo;une remarquable puissance expressive et op\u00e9rationnelle pour le traitement des variables cat\u00e9gorielles en Python. Loin de se cantonner \u00e0 une simple routine m\u00e9canique, sa manipulation rigoureuse requiert une conscience aigu\u00eb des interactions entre alg\u00e8bre lin\u00e9aire, th\u00e9orie de la mesure, gestion fine de la m\u00e9moire et imp\u00e9ratifs de reproductibilit\u00e9 scientifique. Ma\u00eetriser l&rsquo;int\u00e9gralit\u00e9 de ses param\u00e8tres structurants permet au statisticien et au scientifique des donn\u00e9es d&rsquo;\u00e9riger des architectures de pr\u00e9traitement stables, efficientes et th\u00e9oriquement irr\u00e9prochables.<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>Bellman, R. (1961). <em>Adaptive Control Processes: A Guided Tour<\/em>. Princeton University Press. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1515\/9781400874668\">https:\/\/doi.org\/10.1515\/9781400874668<\/a><\/li>\n<li>Fisher, R. A. (1936). The use of multiple measurements in taxonomic problems. <em>Annals of Eugenics<\/em>, 7(2), 179-188. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1111\/j.1469-1809.1936.tb02137.x\">https:\/\/doi.org\/10.1111\/j.1469-1809.1936.tb02137.x<\/a><\/li>\n<li>Greene, W. H. (2018). <em>Econometric Analysis<\/em> (8th ed.). Pearson.<\/li>\n<li>Hastie, T., Tibshirani, R., &amp; Friedman, J. (2009). <em>The Elements of Statistical Learning: Data Mining, Inference, and Prediction<\/em> (2nd ed.). Springer. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1007\/978-0-387-84858-7\">https:\/\/doi.org\/10.1007\/978-0-387-84858-7<\/a><\/li>\n<li>Little, R. J. A., &amp; Rubin, D. B. (2019). <em>Statistical Analysis with Missing Data<\/em> (3rd ed.). John Wiley &amp; Sons. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1002\/9781119013563\">https:\/\/doi.org\/10.1002\/9781119013563<\/a><\/li>\n<li>McCullagh, P., &amp; Nelder, J. A. (1989). <em>Generalized Linear Models<\/em> (2nd ed.). Chapman and Hall\/CRC. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1007\/978-1-4899-3242-6\">https:\/\/doi.org\/10.1007\/978-1-4899-3242-6<\/a><\/li>\n<li>McKinney, W. (2010). Data Structures for Statistical Computing in Python. In S. van der Walt &amp; J. Millman (Eds.), <em>Proceedings of the 9th Python in Science Conference<\/em> (pp. 56-61). <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.25080\/Majora-92bf1922-00a\">https:\/\/doi.org\/10.25080\/Majora-92bf1922-00a<\/a><\/li>\n<li>Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., &amp; Duchesnay, E. (2011). Scikit-learn: Machine learning in Python. <em>Journal of Machine Learning Research<\/em>, 12, 2825-2830.<\/li>\n<li>Stevens, S. S. (1946). On the theory of scales of measurement. <em>Science<\/em>, 103(2684), 677-680. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1126\/science.103.2684.677\">https:\/\/doi.org\/10.1126\/science.103.2684.677<\/a><\/li>\n<li>The Pandas Development Team. (2024). <em>pandas-dev\/pandas: Pandas<\/em> (Version 2.2.0). Zenodo. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.5281\/zenodo.3509134\">https:\/\/doi.org\/10.5281\/zenodo.3509134<\/a><\/li>\n<li>Wilkinson, G. N., &amp; Rogers, C. E. (1973). Symbolic description of factorial models for analysis of variance. <em>Journal of the Royal Statistical Society: Series C (Applied Statistics)<\/em>, 22(3), 392-399. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.2307\/2346786\">https:\/\/doi.org\/10.2307\/2346786<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Guide acad\u00e9mique complet sur l&rsquo;utilisation de pd.get_dummies dans Pandas : th\u00e9orie du codage binaire, syntaxe, gestion de la colin\u00e9arit\u00e9 et applications pratiques.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[1829,2464],"tags":[3102,2466,3100,3103,3101],"class_list":["post-1415","psych_stat","type-psych_stat","status-publish","hentry","category-methodologie-statistique","category-science-des-donnees","tag-one-hot-encoding","tag-pandas","tag-pd-get_dummies","tag-pretraitement-de-donnees","tag-variables-categorielles"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/1415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat"}],"about":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/types\/psych_stat"}],"author":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1415"}],"version-history":[{"count":1,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/1415\/revisions"}],"predecessor-version":[{"id":16241,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/1415\/revisions\/16241"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}