Skip to content
Snippets Groups Projects
1.machine-learning.ipynb 26 KiB
Newer Older
Alexandre Roulois's avatar
Alexandre Roulois committed
{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b4736480-e9b8-446f-aefd-df4eba3e7c67",
   "metadata": {},
   "source": [
    "# L’apprentissage automatique"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "de31a2c2-e401-40ad-a0d4-c7d7459ecd1a",
   "metadata": {
    "tags": []
   },
   "source": [
    "## Définition"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c2d1c628-ce48-4939-af73-815e661c3259",
   "metadata": {},
   "source": [
    "Par apprentissage automatique (*machine learning* en anglais), on désigne l’ensemble des méthodes mathématiques et statistiques qui programment un ordinateur dans le but de l’aider à améliorer sa faculté à résoudre des tâches.\n",
    "\n",
    "Traditionnellement, on distingue deux grandes méthodes d’aprentissage :\n",
    "- L’apprentissage **supervisé**, grâce auquel le système apprend à partir de données annotées ;\n",
    "- l’apprentissage **non supervisé**, où le système est entraîné à détecter quels traits, parmi toutes les variables d’un jeu de données, lui permettront d’en révéler la structure sous-jacente.\n",
    "\n",
    "L’ambition fondamentale de l’apprentissage automatique est de fournir des modèles prédictifs ou d’effectuer des opérations de détection (anomalies, nouveautés, similitudes…). Et la grande force d’un système intelligent de type *machine learning* réside dans sa faculté à généraliser le résultat de son apprentissage à des cas auxquels il n’a jamais été confronté auparavant."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e83fe41c-8b47-46d3-b48b-4fc51e549351",
   "metadata": {
    "tags": []
   },
   "source": [
    "## Focus sur l’apprentissage supervisé"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d084819f-fc71-4885-822c-43eef6e34508",
   "metadata": {
    "tags": []
   },
   "source": [
    "### De l’importance des données"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1d5e4dc-ed21-47fe-8f95-d7253dbadcf0",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true,
    "tags": []
   },
   "source": [
    "Afin de programmer efficacement un modèle prédictif dans le cadre d’un apprentissage supervisé, il est impératif d’avoir à disposition un jeu de données annotées qui soit à la fois fiable, équilibré et aussi large que possible. Toute donnée manquante ou toute erreur d’annotation pèsera davantage dans la performance du modèle si le volume de données est faible. Dans le même ordre d’idée, une modalité sur-représentée dans le jeu de données d’entraînement aura plus tendance à être affectée lors de la résolution de la tâche. Si par exemple vous entraînez un outil à classer des cartes à jouer selon les modalités nombre ou figure et que dans le jeu d’entraînement vous n’incluez que des cartes avec une valeur numérique, votre modèle ne détectera jamais les figures.\n",
    "\n",
    "Le proverbe à garder en tête : *rubbish in, rubbish out*. Si vous fournissez des données absurdes en entrée, le système fournira des données absurdes en sortie. Contrairement à la logique humaine, il semblerait que des prémisses fausses dans un argument informatique ne puissent pas encore aboutir à une conclusion vraie !\n",
    "\n",
    "> Les oiseaux n’ont pas d’aile.  \n",
    "> Socrate est un oiseau.  \n",
    "> Socrate n’a pas d’aile."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "414fb80d-44fe-4597-8360-4bfc780d8828",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Des algorithmes en œuvre"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "377f2e24-2568-48f0-867c-1d0342bd2ae5",
   "metadata": {
    "tags": []
   },
   "source": [
    "Deux grandes familles d’algorithmes se disputent la programmation d’un système intelligent en fonction de la nature de la tâche :\n",
    "- Soit la prévision est dite *qualitative* (ou *discrète*) et l’on parle de **classification** ;\n",
    "- soit elle est dite *quantitative* (ou *continue*) et l’on parle alors de **régression**.\n",
    "\n",
    "Par exemple, une tâche de classification serait de déterminer si une critique est positive ou négative, si tel arbre tient plutôt du chêne ou du bouleau, si une personne est riche ou pauvre, etc. Pour la régression, on chercherait plutôt à estimer quel est le salaire qu’un·e étudiant·e peut espérer à la sortie d’un diplôme, quelles sont les températures attendues pour les prochains jours, ou encore à quel prix pourrait se vendre un T2 avec terrasse dans le 12e arrondissement de Paris."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "65fb5452-6e40-40cf-b6fc-5f4d4943533a",
   "metadata": {
    "tags": []
   },
   "source": [
    "### De l’art de paramétrer un modèle"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "17c6f5db-eada-4f31-8324-2304e7fa3f5b",
   "metadata": {},
   "source": [
    "Grâce aux bibliothèques spécialisées, la mise en place d’un *workflow* pour l’apprentissage est somme toute assez triviale. Il s’agira grossièrement de :\n",
    "1. Partitionner le jeu de données en deux parties inégales (données d’entraînement et données de test) ;\n",
    "2. entraîner le modèle et le tester avec des données vérifiées ;\n",
    "3. évaluer la performance du modèle.\n",
    "\n",
    "Le véritable travail s’effectue en amont, autant dans la compréhension des données que dans leur préparation. La phase de *pre-processing* est cruciale dans un projet de *machine learning* et peut elle-même utiliser des algorithmes d’apprentissage automatique (ex. : détection d’anomalies, réduction de la dimensionnalité…).\n",
    "\n",
    "Les opérations à réaliser impliqueront de nettoyer le *dataset* en supprimant par exemple les données aberrantes (comme des revenus salariaux négatifs), en les corrigeant (attribution d’une mauvaise étiquette) ou encore en les normalisant (format des dates, conversion d’une donnée catégorielle vers un type numérique).\n",
    "\n",
    "Le modèle obtenu, il restera à ajuster finement les paramètres afin d’améliorer la mesure de performance."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dcd3655b-d114-42cc-bc96-e20dd0723739",
   "metadata": {
    "tags": []
   },
   "source": [
    "## Une affaire de manchots"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4001fc66-9891-4be4-8a09-e09cd2fdbdac",
   "metadata": {},
   "source": [
    "À partir de la description de certaines caractéristiques physiques de trois espèces de manchots de l’Antarctique (manchot Adélie, manchot papou et manchot à jugulaire), imaginons pour objectif de fournir un programme qui déterminerait à quelle espèce tel ou tel nouvel individu appartiendrait.\n",
    "\n",
    "|Longueur du bec|Épaisseur du bec|Longueur des nageoires|Masse|Espèce|\n",
    "|-:|-:|-:|-:|:-:|\n",
    "|39.1|18.7|181|3750|Adélie|\n",
    "|37.8|18.3|174|3400|Adélie|\n",
    "|49.6|16|225|5700|Gentoo|\n",
    "|42.7|13.7|208|3950|Gentoo|\n",
    "|49.3|19.9|203|4050|Chinstrap|\n",
    "|43.5|18.1|202|3400|Chinstrap|"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "05323c1f-6b9f-4773-8670-2d51e2cec06b",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Quelques observations"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "db6b6d6b-e5a2-4ee8-85fa-486370180693",
   "metadata": {
    "tags": []
   },
   "source": [
    "Sur la seule base des caractéristiques fournies dans le tableau ci-dessus, en dehors du fait que le nombre d’individus est insuffisant, on remarque que :\n",
    "- Les Gentoos (manchots papous) ont plus de masse que les deux autres ;\n",
    "- la masse seule ne permet pas de différencier les Adélie des Chinstrap (manchots à jugulaire) ;\n",
    "- que la longueur du bec ne peut isoler que les Adélie ;\n",
    "- … et que la longueur des nageoires est également insuffisante pour discriminer les trois espèces."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e26a0356-ab69-44c5-abed-29ee5cc372ae",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Visualiser les données"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fc513033-4929-4aec-a14e-214249ac38e5",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true,
    "tags": []
   },
   "source": [
    "L’idée est alors de comparer deux caractéristiques pour dégager des associations nettes et, dans ce domaine, rien de tel qu’un diagramme pour effectuer rapidement des observations.\n",
    "\n",
    "Essayons sur [le jeu de données complet](./0.about-datasets.ipynb#Size-measurements-for-adult-foraging-penguins-near-Palmer-Station,-Antarctica) (Gorman, 2014) avec les deux premières caractéristiques, la longueur et l’épaisseur du bec des différentes espèces :\n",
    "\n",
    "![Répartition des espèces de manchots en fonction des dimensions de leur bec](./images/bill-dimensions.png)\n",
    "\n",
    "Et maintenant avec toutes les caractéristiques entre elles :\n",
    "\n",
    "![Répartition des espèces de manchots en fonction de leurs caractéristiques physiques](./images/penguin-dimensions.png)\n",
    "\n",
    "En cherchant les appariements où les cas de chevauchement sont les plus limités, il apparaît que la longueur du bec est la plus discriminante, surtout quand elle est associée à l’épaisseur du bec. L’idée que deux dimensions d’un même organe soient corrélées n’a en plus rien d’aberrant. Si les données avaient été nettement plus volumineuses, il aurait été profitable d’agréger les deux variables. On parle alors d’extraction de variables (*features extraction*) dans le cadre d’une réduction de dimension."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3cc1f05b-82a3-488d-8f0b-f195fe2fc6f0",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Distribution des données"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "be94eaf6-4b3f-45c5-9998-46442f1ec8a3",
   "metadata": {},
   "source": [
    "Dans le jeu de données, le dénombrement des effectifs montre la répartition suivante :\n",
    "- Adélie : 152\n",
    "- Gentoo : 124\n",
    "- Chinstrap : 68\n",
    "\n",
    "Le déséquilibre entre les résultats pose la question de la représentativité : les manchots à jugulaire sont-ils deux fois moins représentés en Antarctique que les deux autres espèces ?"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7857c464-6d0b-4504-9b50-2556d11aa55c",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Partitionnement des jeux d’entraînement et de test"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b9fd19af-35b6-41ac-a02c-666d0094a610",
   "metadata": {},
   "source": [
    "De manière habituelle, on conseille un partitionnement 80/20 ou 75/25 entre le sous-ensemble avec lequel on entraîne un programme et celui avec lequel on va le tester. Sur 344 individus dans le jeu de données, on en sélectionne donc 275 pour le jeu d’entraînement et 69 pour le jeu de test.\n",
    "\n",
    "On veillera également à ce qu’une espèce ne soit pas sur-représentée. Dans notre cas, les observations étant triées par espèce, sont recensés d’abord les Adélie, puis les Gentoo et enfin les Chinstrap. Comme ces derniers ne sont qu’au nombre de 68 et que le jeu de test sera constitué de 69 individus, ils ne seront pas du tout présents dans le jeu d’entraînement ! Le système sera donc incapable d’effectuer des prédictions convenables. Pour remédier à ce problème, il faudra donc veiller à mélanger les observations avant de constituer les jeux d’entraînement et de test."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6fdeba0b-dc3b-41f9-8d4e-2940a5e47d1c",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Évaluation de la performance du modèle"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "66f74792-7856-4a87-8540-dc5f2337ac39",
   "metadata": {},
   "source": [
    "Une fois le modèle entraîné, la dernière étape avant de le confronter à des données inédites consiste à le mesurer au jeu de test et à comparer les prévisions avec les annotations. Le premier résultat à considérer est le taux de succès en divisant le nombre de prédictions correctes avec le nombre total d’observations dans le jeu de test (69).\n",
    "\n",
    "Prenons le cas fictif où les cinq premières observations et prévisions seraient :\n",
    "\n",
    "|n|observation|prévision|concordance|\n",
    "|-:|-|-|-|\n",
    "|0|Adelie|Adelie|vrai|\n",
    "|1|Gentoo|Adelie|faux|\n",
    "|2|Gentoo|Gentoo|vrai|\n",
    "|3|Chinstrap|Chinstrap|vrai|\n",
    "|4|Gentoo|Gentoo|vrai|\n",
    "\n",
    "Quatre prévisions correctes sur cinq donne un taux de succès de 80 %. On parle alors d’exactitude (*accuracy*).\n",
    "\n",
    "Pour une tâche de régression, on aurait sélectionné une autre mesure de la performance, comme l’erreur quadratique moyenne (*mean squared error*) ou l’erreur absolue moyenne (*mean absolute error*)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59e0b891-4199-4bce-a405-ac7e0be91ee6",
   "metadata": {},
   "source": [
    "## Les pièges de l’apprentissage automatique"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "40f687ed-f7f8-46fb-a206-29a18efbcfda",
   "metadata": {},
   "source": [
    "Ce tour d’horizon des concepts-clés du *machine learning* ne saurait être complet sans évoquer quelques-uns des biais inhérents aux modèles statistiques. Comme le dit la pensée populaire :\n",
    "> « Il y a trois sortes de mensonges : les mensonges, les gros mensonges et les statistiques. »"
Alexandre Roulois's avatar
Alexandre Roulois committed
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5233df69-8275-4c68-983b-9f1334712163",
   "metadata": {},
   "source": [
    "### Des données de mauvaise qualité"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5e21753f-ce7c-432e-be83-4ca41573d7e7",
   "metadata": {},
   "source": [
    "Inutile de revenir sur cette évidence, si vous dites à un enfant qu’une pomme est une orange, l’ordinateur ne saurait être plus intelligent que lui et considérera face à une pomme qu’il a affaire à une orange. Il n’y a guère que Humpty Dumpty, l’œuf philosophe de *Through the Looking-Glass, and What Alice Found There*, pour décider qu’une pomme peut être une orange, et comprendre qu’il s’agit d’une pomme :\n",
    "\n",
    "> ‘When I use a word,’ Humpty Dumpty said in rather a scornful tone, ‘it means just what I choose it to mean – neither more nor less.’\n",
    "> \n",
    "> ‘The question is,’ said Alice, ‘whether you can make words mean so many different things.’\n",
    "> \n",
    "> ‘The question is,’ said Humpty Dumpty, ‘which is to be master – that’s all’\n",
    "\n",
    "Rassurons-nous, le pouvoir chamanique de nommer les choses ressortit encore à l’humain ! Charge à nous de contestons à Humpty Dumpty sa fonction de *maître des significations* (Castoriadis) et, en attendant, le temps consacré au nettoyage des données n’est jamais perdu, que ce soit pour les compléter, les corriger, les normaliser, voire les supprimer."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "03c83199-51e4-45a4-b412-b36163e1836e",
   "metadata": {},
   "source": [
    "### Des données qui ne sont pas représentatives"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2fb917ff-41e6-4017-a9d4-97c17b059126",
   "metadata": {
    "tags": []
   },
   "source": [
    "#### Le bruit d’échantillonnage"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2c442d1e-2ef5-4939-943b-d4130c0d10da",
   "metadata": {},
   "source": [
    "Lorsque l’échantillon est trop réduit, il ne parvient pas à rendre compte de la réalité. Si vous entraînez un modèle dessus, vous aurez beau obtenir une évaluation encourageante validée par plusieurs méthodes statistiques, les prédictions sur de nouvelles données ne seront guère convaincantes.\n",
    "\n",
    "Le modèle linéaire ci-dessous, issu d’une [enquête sur les troubles alimentaires](./0.about-datasets.ipynb#Self-Reports-of-Height-and-Weight) (Davis, 1990), montre la relation entre la masse corporelle d’une personne et sa taille pour un échantillon de 20 individus :\n",
    "\n",
    "![Relation entre poids et taille](./images/davis-wh20.png)\n",
    "\n",
    "Le modèle suivant prend quant à lui un échantillon de 40 individus :\n",
    "\n",
    "![Relation entre poids et taille](./images/davis-wh40.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "01ebb898-0551-4ff6-a9c8-19aec3fed9ba",
   "metadata": {},
   "source": [
    "En doublant l’effectif, non seulement la droite de régression a une pente plus forte, mais l’intervalle de confiance à 95 % se resserre."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dec97353-28e7-446f-bbfc-a3c125ff7750",
   "metadata": {},
   "source": [
    "#### Le biais d’échantillonnage"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "916970bf-9317-43c3-a4e3-fbf59b5ea80e",
   "metadata": {},
   "source": [
    "Disposer de milliers voire de millions d’observations ne garantit pas d’obtenir un modèle robuste. Tout peut dépendre en effet de la manière dont l’enquête aura été construite au départ. Demander aux membres du club des supporters du PSG s’ils aiment le football ne sera pas représentatif de l’avis de la population générale. Pas plus que d’effectuer une recherche sur Deezer sur les tendances actuelles sachant que les algorithmes auront déjà été entraînés sur vos écoutes précédentes et qu’ils les auront comparées avec les goûts d’autres abonné·es au profil similaire."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b4314a3b-ed5d-4a12-a634-38dd18633edd",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Des variables explicatives qui ne sont pas pertinentes"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "81c4f822-13d1-4377-89e1-965fe265b118",
   "metadata": {},
   "source": [
    "L’esprit humain a une tendance naturelle à établir une relation de cause à effet entre deux événements. Observer que 55 % des électeurs de J.-L. Mélenchon mangent du fromage et boivent de la bière, quand c’est le cas de seulement 23 % des pro-Macron, ne permet pas de conclure qu’un amateur de fromage va sans doute voter pour le premier plutôt que pour le second, et encore moins de formuler une hypothèse selon laquelle une bactérie du camembert influerait sur la décision face aux urnes.\n",
    "\n",
    "Si l’exemple précédent est inventé, le suivant montre une corrélation entre l’évolution du nombre de cas d’autisme dans les établissements scolaires aux États-Unis et d’une part l’évolution de la proportion d’OGM dans les surfaces agricoles, d’autre part l’évolution du volumes de ventes réalisées par l’industrie alimentaire biologique :\n",
    "\n",
    "![Évolution du nombre de cas d’autisme](./images/evolution-autism.png)\n",
    "\n",
    "Comme en plus le calcul du coefficient de corrélation de Pearson montre une relation plus forte entre le bio et les cas d’autisme (0,99 contre 0,97 pour les OGM), une interprétation rapide en déduirait l’hypothèse selon laquelle l’agriculture biologique est plus propice à l’apparition de troubles autistiques que les OGM.\n",
    "\n",
    "Pour les sources des données :\n",
    "\n",
    ">- [Students With Disabilities](http://nces.ed.gov/programs/coe/indicator_cgg.asp)\n",
    ">- [Evolution of planted agricultural areas](http://usda.mann.library.cornell.edu/MannUsda/viewDocumentInfo.do?documentID=1000)\n",
    ">- [Organic Industry Survey](http://ota.com/resources/organic-industry-survey)\n",
    "\n",
    "Et pour terminer sur une pointe d’humour, le site *Le Monde* propose un [générateur aléatoire de comparaisons absurdes](https://www.lemonde.fr/les-decodeurs/article/2019/01/02/correlation-ou-causalite-brillez-en-societe-avec-notre-generateur-aleatoire-de-comparaisons-absurdes_5404286_4355770.html).\n",
    "\n",
    "En conclusion, *cum hoc sed non propter hoc* (La corrélation n’implique pas la causalité)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4f867197-daae-4b40-85a4-da6d304f061f",
   "metadata": {},
   "source": [
    "### Des échelles de mesure différentes"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "60535d0b-2290-4c80-84c5-7f5ffedaa475",
   "metadata": {},
   "source": [
    "Toujours sur les mêmes données de l’évolution des cas d’autisme, les courbes sur les graphiques ci-dessous semblent montrer que le secteur de l’agriculture biologique augmente de manière parralèle au nombre de cas d’autisme recensés, tandis que la part d’OGM dans les cultures reste stable, à un seuil proche de zéro.\n",
    "\n",
    "![Données sur des échelles différentes](./images/evolution-autism-no-scale.png)\n",
    "\n",
    "Cette interprétation est bien évidemment fausse. Tout d’abord, nous l’avons vu, il n’existe aucune causalité entre les volumes de vente de l’agriculture biologique ou la part d’OGM dans les surfaces agricoles et les cas d’autisme ; ensuite, l'échelle de mesure n’est pas du tout la même : quand la courbe des OGM est exprimée en pourcentages, sur une échelle de 0 à 100, celle des volumes de vente s’échelonne entre 10 000 et 30 000, et celle des cas d’autisme commence à 160 000 pour terminer à près de 500 000.\n",
    "\n",
    "Pour cette raison, si vous voulez montrer l’évolution de deux courbes, vous devez d’abord passer leurs données sur la même échelle, en adoptant l’une des deux méthodes privilégiées : **la standardisation** (*Z score normalization*) ou **la normalisation** (*Min-Max normalization*)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "30fa921e-b50d-4e60-99c2-a243030c6365",
   "metadata": {},
   "source": [
    "### Le paradoxe de Simpson"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8d179735-20b4-4eca-bcf1-c0bf250a4fb1",
   "metadata": {},
   "source": [
    "Bien plus difficile à détecter, une bizarrerie mathématique qui montre que, combinés, les résultats de plusieurs groupes sont inversés par rapport à leurs résultats individuels. Il s’agit du paradoxe de Simpson, du nom du statisticien Edward Simpson qui l’a décrit en 1951.\n",
    "\n",
    "Prenons un exemple issu [du recensement des manchots en Antarctique](./0.about-datasets.ipynb#Size-measurements-for-adult-foraging-penguins-near-Palmer-Station,-Antarctica) (Gorman, 2014). Le graphique ci-dessous montre la corrélation entre la masse corporelle d’un manchot et la taille de son bec.\n",
    "\n",
    "![Le paradoxe de Simpson](./images/penguins-simpson.png)\n",
    "\n",
    "La droite de régression ne laisse aucun doute : les becs des manchots rétrécissent à mesure qu’ils prennent du poids. Une conclusion contre-intuitive, non ? On penserait plutôt l’inverse d’un individu lambda, qu’il existe une corrélation positive entre le poids et les autres caractéristiques physiques. Quelle erreur avons-nous commise ici ?\n",
    "\n",
    "Sur le graphique se distinguent nettement deux groupes de manchots, une observation qui nous laisse penser que nous avons négligé un critère dans notre analyse. Regardons ce qu’il en est pour les manchots mâles et les manchots femelles :\n",
    "\n",
    "![Le paradoxe de Simpson : hypothèse de facteur de confusion](./images/penguins-by-sex-simpson.png)\n",
    "\n",
    "Notre hypothèse ne fait que renforcer la conclusion, aussi, les manchots seraient-ils la première espèce animale à voire leur silhouette s’affiner avec la prise de masse ? Définitivement, non. Pour s’en assurer, on devrait plutôt s’intéresser aux différentes espèces qui composent la grande famille des manchots et à leurs disparités physiques :\n",
    "\n",
    "![Le paradoxe de Simpson : effet inverse sur les sous-groupes](./images/penguins-by-specy-simpson.png)\n",
    "\n",
    "C’est l’illustration du paradoxe de Simpson, où l’espèce des manchots influe autant sur la cause (masse plus ou moins importante) que sur la conséquence (longueur du bec variant également selon l’espèce). On parle alors de **facteur de confusion**."
Alexandre Roulois's avatar
Alexandre Roulois committed
  {
   "cell_type": "markdown",
   "id": "926bc758-f060-44fe-a5ac-bd11bcf67ab4",
   "metadata": {},
   "source": [
    "### Des problèmes d’ajustement"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "615d9158-4103-4bf4-8087-8972c838e217",
   "metadata": {},
   "source": [
    "Les systèmes sont tout autant soumis au problème du **sur-entraînement** (*overfitting*) qu’à celui du **sous-entraînement** (*underfitting*). Un algorithme trop simple ne pourra mettre en évidence la structure des données quand un algorithme trop compliqué – parce que parfaitement ajusté aux données sur lesquelles il s’est entraîné – provoquera des erreurs de généralisation importantes.\n",
Alexandre Roulois's avatar
Alexandre Roulois committed
    "\n",
    "On peut estimer par exemple qu’un modèle linéaire sous-ajustera systématiquement par rapport à la réalité et que, a contrario, un modèle polynomial de très haut degré sur-ajustera tellement que ses prédictions se révéleront toutes fausses."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "379d864d-0d7e-43c2-b268-c3e674083691",
   "metadata": {},
   "source": [
    "## Pour aller plus loin"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "587d9328-3564-478f-82c3-02359ca6cea3",
   "metadata": {},
   "source": [
    "* Géron, Aurélien. – [*Hands-on Machine Learning With Scikit-learn, Keras, and Tensorflow: Concepts, Tools, and Techniques to Build Intelligent Systems*](https://www.oreilly.com/library/view/hands-on-machine-learning/9781098125967/). 3e édition. – Farnham : O'Reilly UK Limited, 2022. – 850 p. – ISBN : 978-1098125974.\n",
    "* Géron, Aurélien. – [*Machine Learning Notebooks, 3rd edition*](https://github.com/ageron/handson-ml3) (GitHub)."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}