Skip to content
Snippets Groups Projects
Commit 82ae820f authored by ROULOIS Alexandre's avatar ROULOIS Alexandre :bicyclist:
Browse files

Merge branch 'develop' into 'main'

Develop

See merge request !24
parents b0767a55 4a1f041c
No related branches found
No related tags found
1 merge request!24Develop
......@@ -11,3 +11,5 @@ dependencies:
- pip
- python=3.10
- seaborn=0.11
- scikit-learn=1.1
- scipy=1.9
%% Cell type:markdown id:41a3ca3d-3503-4fe0-87ff-b6692d90b204 tags:
# À propos des jeux de données
%% Cell type:markdown id:60583238-a68b-4126-8577-60cdbdbcb401 tags:
## Satisfaction à l’hôpital
%% Cell type:markdown id:1c4f5463-1dfb-40a0-be4d-ae77c351642d tags:
**Fichier :** [satisfaction-hopital.csv](./files/satisfaction-hopital.csv)
Évaluation de la satisfaction d’un patient relativement à son séjour à l’hôpital.
%% Cell type:markdown id:0ce5ee58-72ac-4397-acfd-91ab65779218 tags:
## Contenu
%% Cell type:markdown id:db0bf7d8-71bb-4c42-ad68-69ad68d811af tags:
|Variable|Signification|
|:-:|-|
|*service*|Code (de 1 à 8) du service ayant accueilli le patient|
|*sexe*|Sexe du patient (0 homme, 1 femme)|
|*age*|âge en années|
|*profession*|<ol><li>agriculteur exploitant</li><li>artisan, commerçant, chef d'entreprise</li><li>cadre, profession intellectuelle ou artistique, profession libérale</li><li>profession intermédiaire de l'enseignement, de la santé, du travail social ou de la fonction publique, technicien, contremaître, agent de maîtrise, clergé</li><li>employé</li><li>ouvrier</li><li>étudiant, militaire, chômeur sans avoir jamais travaillé</li><li>autre</li></ol>|
|*amelioration.sante*|Impression d’amélioration de la santé du fait du séjour à l’hôpital (codé de 0 : aggravée, à 3 : nettement améliorée)|
|*amelioration.moral*|Impression d’amélioration du moral du fait du séjour à l’hôpital (codé de 0 : aggravé, à 3 : nettement amélioré)|
|*recommander*|recommander le service à son entourage (codé 0 : non, 1 : oui, probablement, 2 : oui, sûrement)|
|*score.information*|score relatif à la qualité de l’information reçue pendant le séjour (score variant de 10 à 40)|
|*score.relation*|score relatif à la qualité des relations avec le personnel soignant pendant le séjour (score variant de 10 à 40)|
%% Cell type:markdown id:bc0377fc-c0fc-439e-afe7-7103b54ca183 tags:
## Self-Reports of Height and Weight
%% Cell type:markdown id:d0f57b32-dc16-4b2d-b7fd-3f6bf227cc1f tags:
**Fichier :** [davis.csv](./files/davis.csv)
**Clé de citation :** Davis, 1990
Des hommes et des femmes engagé·es dans un programme d’exercices ont dû évaluer leur taille et leur poids. Le résultat est comparé aux valeurs mesurées.
%% Cell type:markdown id:6740853c-0ec9-408a-a34d-bfb6d50f06f2 tags:
### Contenu
%% Cell type:markdown id:e8213cb4-86c0-4d1c-a9a5-48b90a753754 tags:
|Variable|Signification|
|:-:|-|
|*sex*|Facteur à deux niveaux : female ou male|
|*weight*|Poids mesuré (en kg)|
|*height*|Taille mesurée (en cm)|
|*repwt*|Poids évalué par l’individu (en kg)|
|*repht*|Taille évaluée par l’individu (en cm)|
%% Cell type:markdown id:1958727a-eba3-4782-a7bc-70bdbe300fa9 tags:
### Références
%% Cell type:markdown id:2a1fcec1-d6e3-4998-b331-d3b4a69b6895 tags:
- Davis, C. (1990) Body image and weight preoccupation: A comparison between exercising and non-exercising women. *Appetite*, 15, 13–21.
- Fox, J. (2016) *Applied Regression Analysis and Generalized Linear Models*, Third Edition. Sage.
- Fox, J. and Weisberg, S. (2019) *An R Companion to Applied Regression*, Third Edition, Sage.
%% Cell type:markdown id:673a814e-18f1-4cb7-9b6e-6e7dba4b630a tags:
## Size measurements for adult foraging penguins near Palmer Station, Antarctica
%% Cell type:markdown id:cb914f97-6b95-428b-85f9-100eb3fadb61 tags:
**Fichier :** [penguin-census.csv](./files/penguin-census.csv)
**Clé de citation :** Gorman, 2014
L’enquête recense trois espèces de manchots en détaillant certaines de leurs caractéristiques physiques. Les données ont été collectées par le Dr. Kristen Gorman à la station Palmer en Antarctique.
%% Cell type:markdown id:ba56dc73-26b5-49e1-ac59-1c52cb46dea8 tags:
### Contenu
%% Cell type:markdown id:830a223d-07f9-4821-b2d7-c52210672ee0 tags:
|Variable|Signification|
|:-:|-|
|*species*|Espèce de manchot parmi : Adelie, Gentoo, Chinstrap|
|*island*|Île de l’observation parmi : Torgersen, Biscoe, Dream|
|*bill_length_mm*|Longueur du bec de l’individu (en mm)|
|*bill_depth_mm*|Épaisseur du bec de l’individu (en mm)|
|*flipper_length_mm*|Longueur de la nageoire de l’individu (en mm)|
|*body_mass_g*|Poids de l’individu (en g)|
|*sex*|Sexe de l’individu selon deux valeurs possibles : *male* ou *female*|
|*year*|Année de l’observation (de 2007 à 2009)|
%% Cell type:markdown id:861e02fd-ac31-4abb-a22d-0fb70d1cecb4 tags:
### Références
%% Cell type:markdown id:aedbc4aa-8b45-41d4-b1f7-d708ea041023 tags:
- Gorman KB, Williams TD, Fraser WR (2014). Ecological sexual dimorphism and environmental variability within a community of Antarctic penguins (genus Pygoscelis). PLoS ONE 9(3):e90081. https://doi.org/10.1371/journal.pone.0090081
%% Cell type:markdown id:e89c7a5f-1132-4607-9f20-9cf3e7aa4cbb tags:
## Stellar Objects
%% Cell type:markdown id:f1584440-6e46-403a-90a4-e104df016614 tags:
**Fichier :** [stellar-objects.csv](./files/stellar-objects.csv)
**Clé de citation :** Freedman, 2001
Le fichier recense plusieurs objets stellaires avec leur vitesse d’éloignement. Il a été reconstitué à partir des données de l’article de Freedman et al.
%% Cell type:markdown id:d310c9fb-9f42-44ad-bcc9-bb38431096d8 tags:
### Contenu
%% Cell type:markdown id:08f3bf42-c004-4bcf-9599-94fd1cfa6011 tags:
|Variable|Signification|
|:-:|-|
|*object*|Désignation de l’objet stellaire|
|*distance*|Distance en mégaparsecs (1 parsec = 3,26 années-lumières)|
|*v_helio*|Vitesse radiale (en km/s)|
|*v_flow*|Vitesse d’écoulement (en km/s)|
|*v_cmb*|Vitesse relative au fond diffus cosmologique (en km/s)|
%% Cell type:markdown id:5f1622a1-afe5-4a63-b600-acfe0900534a tags:
### Références
%% Cell type:markdown id:223c87d3-74a8-45fe-b707-9f7556410065 tags:
- Freedman, W., Madore, B., Gibson, B., et al. – "Final Results from the Hubble Space Telescope Key Project to Measure the Hubble Constant". *The Astrophysical Journal*, n° 553, p. 47-72, 2001. <https://doi.org/10.48550/arXiv.astro-ph/0012376>
......
%% Cell type:markdown id:b4736480-e9b8-446f-aefd-df4eba3e7c67 tags:
# L’apprentissage automatique
%% Cell type:markdown id:de31a2c2-e401-40ad-a0d4-c7d7459ecd1a tags:
## Définition
%% Cell type:markdown id:c2d1c628-ce48-4939-af73-815e661c3259 tags:
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.
Traditionnellement, on distingue deux grandes méthodes d’aprentissage :
- L’apprentissage **supervisé**, grâce auquel le système apprend à partir de données annotées ;
- 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.
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 tags:
## Focus sur l’apprentissage supervisé
%% Cell type:markdown id:d084819f-fc71-4885-822c-43eef6e34508 tags:
### De l’importance des données
%% Cell type:markdown id:a1d5e4dc-ed21-47fe-8f95-d7253dbadcf0 tags:
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.
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 !
> Les oiseaux n’ont pas d’aile.
> Socrate est un oiseau.
> Socrate n’a pas d’aile.
%% Cell type:markdown id:414fb80d-44fe-4597-8360-4bfc780d8828 tags:
### Des algorithmes en œuvre
%% Cell type:markdown id:377f2e24-2568-48f0-867c-1d0342bd2ae5 tags:
Deux grandes familles d’algorithmes se disputent la programmation d’un système intelligent en fonction de la nature de la tâche :
- Soit la prévision est dite *qualitative* (ou *discrète*) et l’on parle de **classification** ;
- soit elle est dite *quantitative* (ou *continue*) et l’on parle alors de **régression**.
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 tags:
### De l’art de paramétrer un modèle
%% Cell type:markdown id:17c6f5db-eada-4f31-8324-2304e7fa3f5b tags:
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 :
1. Partitionner le jeu de données en deux parties inégales (données d’entraînement et données de test) ;
2. entraîner le modèle et le tester avec des données vérifiées ;
3. évaluer la performance du modèle.
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é…).
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).
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 tags:
## Une affaire de manchots
%% Cell type:markdown id:4001fc66-9891-4be4-8a09-e09cd2fdbdac tags:
À 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.
|Longueur du bec|Épaisseur du bec|Longueur des nageoires|Masse|Espèce|
|-:|-:|-:|-:|:-:|
|39.1|18.7|181|3750|Adélie|
|37.8|18.3|174|3400|Adélie|
|49.6|16|225|5700|Gentoo|
|42.7|13.7|208|3950|Gentoo|
|49.3|19.9|203|4050|Chinstrap|
|43.5|18.1|202|3400|Chinstrap|
%% Cell type:markdown id:05323c1f-6b9f-4773-8670-2d51e2cec06b tags:
### Quelques observations
%% Cell type:markdown id:db6b6d6b-e5a2-4ee8-85fa-486370180693 tags:
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 :
- Les Gentoos (manchots papous) ont plus de masse que les deux autres ;
- la masse seule ne permet pas de différencier les Adélie des Chinstrap (manchots à jugulaire) ;
- que la longueur du bec ne peut isoler que les Adélie ;
- … et que la longueur des nageoires est également insuffisante pour discriminer les trois espèces.
%% Cell type:markdown id:e26a0356-ab69-44c5-abed-29ee5cc372ae tags:
### Visualiser les données
%% Cell type:markdown id:fc513033-4929-4aec-a14e-214249ac38e5 tags:
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.
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 :
![Répartition des espèces de manchots en fonction des dimensions de leur bec](./images/bill-dimensions.png)
Et maintenant avec toutes les caractéristiques entre elles :
![Répartition des espèces de manchots en fonction de leurs caractéristiques physiques](./images/penguin-dimensions.png)
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 tags:
### Distribution des données
%% Cell type:markdown id:be94eaf6-4b3f-45c5-9998-46442f1ec8a3 tags:
Dans le jeu de données, le dénombrement des effectifs montre la répartition suivante :
- Adélie : 152
- Gentoo : 124
- Chinstrap : 68
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 tags:
### Partitionnement des jeux d’entraînement et de test
%% Cell type:markdown id:b9fd19af-35b6-41ac-a02c-666d0094a610 tags:
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.
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 tags:
### Évaluation de la performance du modèle
%% Cell type:markdown id:66f74792-7856-4a87-8540-dc5f2337ac39 tags:
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).
Prenons le cas fictif où les cinq premières observations et prévisions seraient :
|n|observation|prévision|concordance|
|-:|-|-|-|
|0|Adelie|Adelie|vrai|
|1|Gentoo|Adelie|faux|
|2|Gentoo|Gentoo|vrai|
|3|Chinstrap|Chinstrap|vrai|
|4|Gentoo|Gentoo|vrai|
Quatre prévisions correctes sur cinq donne un taux de succès de 80 %. On parle alors d’exactitude (*accuracy*).
Quatre prévisions correctes sur cinq donnent un taux de succès de 80 %. On parle alors d’exactitude (*accuracy*).
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 tags:
## Les pièges de l’apprentissage automatique
%% Cell type:markdown id:40f687ed-f7f8-46fb-a206-29a18efbcfda tags:
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 :
> « Il y a trois sortes de mensonges : les mensonges, les gros mensonges et les statistiques. »
%% Cell type:markdown id:5233df69-8275-4c68-983b-9f1334712163 tags:
### Des données de mauvaise qualité
%% Cell type:markdown id:5e21753f-ce7c-432e-be83-4ca41573d7e7 tags:
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 :
> ‘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.’
>
> ‘The question is,’ said Alice, ‘whether you can make words mean so many different things.’
>
> ‘The question is,’ said Humpty Dumpty, ‘which is to be master – that’s all’
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 tags:
### Des données qui ne sont pas représentatives
%% Cell type:markdown id:2fb917ff-41e6-4017-a9d4-97c17b059126 tags:
#### Le bruit d’échantillonnage
%% Cell type:markdown id:2c442d1e-2ef5-4939-943b-d4130c0d10da tags:
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.
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 :
![Relation entre poids et taille](./images/davis-wh20.png)
Le modèle suivant prend quant à lui un échantillon de 40 individus :
![Relation entre poids et taille](./images/davis-wh40.png)
%% Cell type:markdown id:01ebb898-0551-4ff6-a9c8-19aec3fed9ba tags:
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 tags:
#### Le biais d’échantillonnage
%% Cell type:markdown id:916970bf-9317-43c3-a4e3-fbf59b5ea80e tags:
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 tags:
### Des variables explicatives qui ne sont pas pertinentes
%% Cell type:markdown id:81c4f822-13d1-4377-89e1-965fe265b118 tags:
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.
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 :
![Évolution du nombre de cas d’autisme](./images/evolution-autism.png)
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.
Pour les sources des données :
>- [Students With Disabilities](http://nces.ed.gov/programs/coe/indicator_cgg.asp)
>- [Evolution of planted agricultural areas](http://usda.mann.library.cornell.edu/MannUsda/viewDocumentInfo.do?documentID=1000)
>- [Organic Industry Survey](http://ota.com/resources/organic-industry-survey)
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).
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 tags:
### Des échelles de mesure différentes
%% Cell type:markdown id:60535d0b-2290-4c80-84c5-7f5ffedaa475 tags:
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.
![Données sur des échelles différentes](./images/evolution-autism-no-scale.png)
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.
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 tags:
### Le paradoxe de Simpson
%% Cell type:markdown id:8d179735-20b4-4eca-bcf1-c0bf250a4fb1 tags:
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.
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.
![Le paradoxe de Simpson](./images/penguins-simpson.png)
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 ?
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 :
![Le paradoxe de Simpson : hypothèse de facteur de confusion](./images/penguins-by-sex-simpson.png)
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 :
![Le paradoxe de Simpson : effet inverse sur les sous-groupes](./images/penguins-by-specy-simpson.png)
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**.
%% Cell type:markdown id:926bc758-f060-44fe-a5ac-bd11bcf67ab4 tags:
### Des problèmes d’ajustement
%% Cell type:markdown id:615d9158-4103-4bf4-8087-8972c838e217 tags:
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.
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 tags:
## Pour aller plus loin
%% Cell type:markdown id:587d9328-3564-478f-82c3-02359ca6cea3 tags:
* 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.
* Géron, Aurélien. – [*Machine Learning Notebooks, 3rd edition*](https://github.com/ageron/handson-ml3) (GitHub).
......
This diff is collapsed.
%% Cell type:markdown id:411ba7b3-7d56-45fe-b01e-205275e1988a tags:
# Des biais et des erreurs communes
%% Cell type:markdown id:4e2fcf4b-d8aa-4bb2-8eab-dfe9a3210604 tags:
Les exercices suivants sont destinés à vous familiariser avec les concepts appréhendés lors de l’introduction au *machine learning*. Avant toute chose, importez les librairies utiles :
%% Cell type:code id:556f4053-3ccb-497e-bbf3-cf2266df3027 tags:
``` python
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
from random import random
sns.set_context('notebook')
```
%% Cell type:markdown id:8638d5e5-1093-4f36-b80e-bf6527434b1e tags:
## Une intelligence artificielle drôlement intelligente
%% Cell type:markdown id:f0f31bdb-dcd7-4fbf-afcf-58e2a5b5eed3 tags:
Prenons un jeu de données factice d’une centaine d’observations étiquetées pour les unes *cat*, pour les autres *dog*, avec des valeurs associées que l’on suppose dimensionnées :
%% Cell type:code id:0d646d8d-79a7-4710-962c-205d61006b8f tags:
``` python
# 5, out of an hundred, are cats
series = {
"label": [ "cat" if i < 5 else "dog" for i in range(100) ],
"value": [ random() for i in range(100) ]
}
df = pd.DataFrame(series)
```
%% Cell type:markdown id:9d54a3f7-1230-480c-b861-845c64bb8d79 tags:
Afin d’éviter un biais évident relatif aux données non triées, nous les mélangeons grâce à une fonction de randomisation :
%% Cell type:code id:b3716192-e089-4615-84d7-35595dcd6f02 tags:
``` python
df = df.sample(frac=1).reset_index(drop=True)
```
%% Cell type:markdown id:acf511e2-866d-466a-9660-85173a8fa7e9 tags:
Notre objectif étant de programmer une machine qui va, pour une valeur de `X`, deviner si nous sommes en présence d’un chat ou d’un chien, il est temps d’extraire la variable cible du jeu de données :
%% Cell type:code id:2259be59-bf54-4884-8f7b-a0429af1dd03 tags:
``` python
y = df.label
X = df.value
```
%% Cell type:markdown id:d0556dcb-7766-4bdf-be40-5a27ca791c50 tags:
Nous pouvons maintenant programmer un prédicteur qui, pour chaque observation dans `X`, lui associera systématiquement l’étiquette *dog* :
%% Cell type:code id:02714fdd-a566-4807-a4e2-a127e3eab495 tags:
``` python
y_pred = [ "dog" for i in X ]
```
%% Cell type:markdown id:2769bc14-464d-45e7-992a-4d880b413f0e tags:
En comparant les prédictions `y_pred` avec la réalité (`y`), on peut calculer le taux d’exactitude :
%% Cell type:code id:46df19b7-8439-4397-9e8f-39262a156882 tags:
``` python
accuracy = (y_pred == y).sum()
print(f"Le taux d’exactitude (accuracy) de notre prédicteur est de { accuracy } % !")
```
%% Cell type:markdown id:12e88304-31b6-4a85-b8db-7cf2c8584526 tags:
Expliquez pourquoi un algorithme aussi bête que le nôtre a pu obtenir un score aussi étonnant.
%% Cell type:markdown id:61c8d84f-a791-425e-ae70-306f0da93a55 tags:
## Les relations à distance
%% Cell type:markdown id:057d738a-a8a8-4d38-9dd2-b109d1325308 tags:
Il paraît que l’univers est en expansion et que cette expansion va en s’accélérant. C’est en tout cas ce que l’étude de Wendy Freedman et al. a prouvé ([*Freedman, 2001*](../0.about-datasets.ipynb#Stellar-Objects)). Par conséquent, on s’attend à ce qu’un objet stellaire s’éloigne d’autant plus vite de nous que la distance qui nous sépare de lui est grande.
Chargeons le jeu de données en se concentrant sur des objets proches de nous (entre 30 000 et 100 000 années-lumières) :
%% Cell type:code id:1cf3ab56-418f-46e3-bc3f-36cf0eec0dbf tags:
``` python
# load data
df = pd.read_csv("../files/stellar-objects.csv", sep="\t")
# distance: megaparsec (MPC)
# velocity: in km/s
df["velocity"] = df.v_helio.fillna(df.v_flow.fillna(df.v_cmb))
# objects close to earth, but not that close :)
data = df[(df.distance > 10) & (df.distance < 30)]
```
%% Cell type:markdown id:f0a306e1-be3e-4431-84a3-32216340c326 tags:
Affichons un nuage de points afin de vérifier la proposition de ces pontes de la NASA :
%% Cell type:code id:1fb0d73f-62bd-4777-b4e4-276554e2a599 tags:
``` python
sns.scatterplot(data=data, x="distance", y="velocity")
sns.despine()
plt.title("Relation between distance and velocity of stellar objects")
plt.xlabel("Distance (MPC)")
plt.ylabel("Velocity (km/s)")
plt.show()
```
%% Cell type:markdown id:fbb20849-4a22-4870-940b-8067fd06e548 tags:
Euh… rien de bien concluant à première vue, non ? Afin de déterminer visuellement s’il existe bien une relation linéaire entre la distance et la vitesse d’éloignement, affichez une droite de régression :
%% Cell type:code id:125c4241-faf9-4209-b8c6-cfc2c1b07105 tags:
``` python
# your code here
_ = sns.regplot(data=data, x="distance", y="velocity")
```
%% Cell type:markdown id:aa3c4eeb-5ce4-44f2-9403-9d50a9e425e9 tags:
Bon, appelez BFM TV, Wendy s’est trompée : 2/3 des points sont en dehors de l’intervalle de confiance à 95 %. Ou alors, peut-être avons-nous fait une erreur de méthodologie ?
%% Cell type:markdown id:220410a9-d71d-4d16-b724-1f31539ed987 tags:
## Une étude de genre
%% Cell type:markdown id:cfc33885-ca65-4f89-8eac-04d519b8c6ab tags:
L’enquête [*Self-Reports of Height and Weight*](../0.about-datasets.ipynb#Self-Reports-of-Height-and-Weight) (Davis, 1990) compare une auto-évaluation de leurs tailles et poids d’individus engagés dans un programme d’exercices avec les mesures réalisées par l’équipe encadrante.
Imaginons un objectif où, en fonction des valeurs renseignées, on souhaiterait déduire l’étiquette *H* ou *F* qui leur est associée. Chargeons dans un premier temps les données et affichons un résumé :
%% Cell type:code id:2f7609ab-f6d7-459a-bdea-cfab3f255332 tags:
``` python
# load data
df = pd.read_csv("../files/davis.csv", sep="\t")
# select variables
target = "sex"
features = ["weight", "height", "repwt", "repht"]
# a copy of the data frame
data = df.copy()
data = data[[target] + features]
data.info()
```
%% Cell type:markdown id:e3479ed2-ec29-4a05-9554-1691a59f3e4d tags:
Le jeu de données est composée de 200 observations mais comme toutes ne sont pas remplies pour tous les champs, il convient dans un premier temps de s’en occuper. Nous retenons comme stratégie de les combler avec la valeur moyenne de la colonne :
%% Cell type:code id:638eaa6f-d30a-45f3-b888-d727eb00ef53 tags:
``` python
# mean value
repwt_mean = int(data.repwt.mean())
repht_mean = int(data.repht.mean())
# fill NA
data.repwt.fillna(repwt_mean, inplace=True)
data.repht.fillna(repht_mean, inplace=True)
data.info()
```
%% Cell type:markdown id:ee52c74a-9e9d-4998-99f6-f370419a7926 tags:
La seconde étape consiste à séparer le *dataset* en deux parties inégales : l’une pour le jeu d’entraînement, constituée de 80 % de l’ensemble ; et l’autre pour le jeu de test.
%% Cell type:code id:cece0234-c72c-4f7f-a0db-4805e0f98f0f tags:
``` python
limit = int(len(data) * 0.2)
# split
train = data[limit:]
test = data[:limit]
```
%% Cell type:markdown id:f3d0c802-2b5f-48bf-a34c-65ad0b30520b tags:
Attachons-nous à étudier le rapport entre le poids et la taille des individus. Intuitivement, on penserait que ces caractéristiques sont globalement liées par une corrélation positive : l’augmentation chez l’une entraîne une augmentation chez l’autre. Si nous affichons une droite de régression sur le jeu de données complet, on observe bien le phénomène attendu :
%% Cell type:code id:312afd57-af0f-4e38-9154-a05c0402715e tags:
``` python
_ = sns.regplot(data=data, x="weight", y="height")
```
%% Cell type:markdown id:84c8a544-351b-4b47-89ba-abfb9f1f031e tags:
Pour autant, il n’en va pas de même avec les jeux d’entraînement et de test :
%% Cell type:code id:cdc0d499-1ee3-4740-9c9d-2d3b4b0b5f90 tags:
``` python
figure, (col_1, col_2)= plt.subplots(ncols=2, figsize=(12,4))
sns.regplot(data=train, x="weight", y="height", ax=col_1)
sns.regplot(data=test, x="weight", y="height", ax=col_2)
figure.suptitle("Relation entre le poids et la taille des individus", y=1.05)
col_1.set(title="Jeu d’entraînement")
col_2.set(title="Jeu de test")
sns.despine()
plt.show()
```
%% Cell type:markdown id:c500a2fa-07c5-45f4-a8c7-548abd3d0c9e tags:
À votre avis, quelles erreurs peuvent avoir faussé notre interprétation ?
......
service;sexe;age;profession;amelioration.sante;amelioration.moral;recommander;score.relation;score.information
3;0;41;4;1;0;1;36;22
3;1;29;8;2;3;2;33;36
3;1;83;2;2;1;2;40;37
3;0;66;3;2;0;2;32;35
3;1;84;;;;;;
3;0;84;6;3;3;2;39;28
3;0;60;3;2;1;1;31;30
3;0;85;3;3;1;2;;
3;0;28;3;3;1;1;36;29
3;1;35;3;3;2;;;
3;1;84;;;;;;
3;0;78;;;;;;
3;0;35;5;3;3;2;38;
3;0;34;5;3;2;2;37;25
3;1;49;4;;;;40;
3;0;30;;;;;;
3;1;64;;;;;;
3;0;62;5;2;2;2;34;28
3;0;89;4;3;1;2;39;33
3;1;48;3;2;3;2;40;37
3;1;57;3;2;3;2;40;35
3;0;76;5;;;;;
3;0;56;;1;1;1;40;
3;1;27;4;3;0;1;28;34
4;0;68;5;3;2;2;39;40
4;0;54;3;3;3;2;39;22
4;0;65;3;2;0;0;22;25
4;0;25;7;3;3;2;35;36
4;0;61;3;3;1;2;38;38
4;1;58;2;3;3;2;38;37
4;0;67;4;3;1;2;37;31
4;0;62;3;;2;1;33;21
4;0;37;3;3;1;2;33;29
4;0;83;;;;;;
4;0;52;3;3;3;2;40;37
4;0;69;3;3;1;2;39;28
4;0;58;3;1;1;2;40;40
4;0;75;3;3;3;2;37;39
4;0;59;6;2;1;2;34;32
4;1;40;;;;;;
4;1;50;;;;;;
4;0;83;;;;;;
4;0;34;3;2;0;0;24;22
4;0;75;;;;;;
4;0;69;8;3;3;2;38;36
4;0;39;4;;;1;36;37
4;1;69;8;2;1;2;31;
4;0;58;5;2;1;2;32;36
4;0;53;2;1;3;2;;28
4;0;78;;;;;;
4;0;82;3;;;2;37;37
4;0;81;;;;;;
4;0;81;;;;;;
4;0;66;7;3;3;2;39;38
4;0;36;8;3;;1;33;33
4;0;60;4;3;2;2;40;38
4;0;45;6;3;1;2;38;31
4;0;78;4;2;1;2;37;30
4;0;54;3;2;2;2;35;29
4;1;84;4;3;1;2;40;40
4;0;59;5;1;2;0;30;18
4;0;53;4;3;3;2;40;40
4;0;62;3;3;3;2;37;39
4;0;46;4;2;1;1;35;40
4;1;60;8;3;3;2;40;40
4;0;63;6;3;3;2;38;
4;0;67;8;2;1;2;40;33
4;0;77;4;3;2;1;38;31
4;0;68;5;1;1;1;;35
4;0;52;3;1;2;2;36;38
4;1;72;;;;;;
4;0;64;3;;;;33;
4;0;67;;;;;;
4;0;51;5;3;1;2;35;25
4;0;36;4;3;3;1;39;31
4;0;78;;;;;;
4;0;79;;2;1;1;38;24
4;0;54;3;3;3;2;40;40
4;0;69;2;3;3;2;;
4;1;49;3;2;;2;34;
4;0;67;3;3;3;2;40;40
4;0;65;;;;;;
4;0;64;2;3;3;2;;38
4;0;65;3;2;1;2;30;30
4;0;72;;;;;;
4;0;62;4;;2;1;37;
4;1;83;8;;;;40;
4;1;49;4;2;3;2;36;39
4;0;75;3;3;1;2;39;35
4;1;52;8;3;3;2;40;40
4;0;58;6;3;3;2;40;40
4;0;50;2;;;2;40;40
4;1;27;5;3;3;2;38;34
1;0;64;3;3;;2;;33
1;1;45;8;2;;1;36;32
1;1;54;4;3;3;2;40;22
1;0;45;5;3;3;2;39;38
1;1;80;3;1;0;2;26;31
1;0;81;;;;;;
1;1;59;1;2;0;1;32;26
1;1;64;;;;;;
1;1;42;5;2;0;1;30;16
1;0;42;8;2;2;2;35;33
1;0;41;4;2;2;2;35;35
1;1;81;4;2;1;1;27;23
1;1;23;4;2;0;2;30;33
1;1;79;4;1;1;1;31;28
1;1;54;3;2;2;1;;33
1;0;61;5;2;1;2;40;35
1;0;39;5;3;;2;39;33
1;1;53;4;2;0;0;28;20
1;0;51;4;1;1;2;40;40
1;0;32;3;3;1;1;33;13
1;0;59;3;2;2;1;;
1;0;63;2;2;1;2;38;35
1;1;69;3;2;3;2;40;
1;1;52;4;2;1;1;25;33
1;1;18;7;3;1;2;31;34
1;0;64;3;;;2;34;33
1;1;47;;;;;;
1;1;46;6;1;0;1;23;25
1;1;39;5;2;2;2;40;38
1;0;43;4;3;3;2;37;38
1;0;40;4;;2;2;40;38
1;1;64;5;2;1;2;34;26
1;0;44;6;2;1;2;25;22
1;0;45;6;1;1;2;33;40
1;0;86;4;3;3;1;33;25
1;1;49;6;1;1;1;33;32
1;0;42;8;;;;;
1;1;71;5;3;1;2;40;35
1;0;32;5;2;1;2;39;22
1;0;56;4;2;3;2;40;40
1;1;49;2;2;1;2;40;26
1;1;31;5;3;2;2;34;30
1;1;66;8;2;1;1;29;28
1;1;67;6;2;3;2;38;40
1;1;70;3;1;1;2;34;28
1;1;62;6;1;1;2;40;30
1;1;72;2;1;1;1;;26
1;0;55;5;3;3;2;38;37
1;1;28;;;;;;
1;1;62;3;2;1;2;34;24
1;1;48;6;2;1;2;33;32
1;1;43;3;2;0;1;21;15
1;1;70;5;2;2;2;38;31
1;1;80;5;2;3;2;;39
1;1;61;;;;;;
1;1;56;2;3;1;2;38;35
1;1;80;2;3;3;2;;37
1;1;21;7;2;2;2;36;31
1;1;75;4;;;;;
1;1;40;3;1;2;2;38;37
1;1;53;5;1;1;2;33;26
1;0;80;3;2;2;1;;25
1;0;58;;;;;;
1;1;51;3;3;3;2;40;40
1;1;79;;;;;;
3;1;72;;;;;;
3;1;40;;;3;2;38;35
3;1;29;7;3;3;2;30;40
3;1;40;4;2;2;2;33;23
3;0;32;5;2;1;1;33;36
3;0;63;6;3;2;2;;40
3;1;80;5;1;2;2;36;24
3;1;29;5;1;3;2;39;38
3;0;84;5;3;1;2;37;19
3;1;70;2;1;2;2;39;35
3;1;87;8;1;1;;40;13
3;0;43;6;2;2;2;39;40
3;0;81;3;3;3;1;28;30
3;0;28;5;3;1;2;39;32
3;1;76;8;2;3;2;39;26
3;1;82;5;2;0;1;27;20
3;1;67;4;3;1;;30;
3;0;64;3;3;3;1;39;21
3;1;84;5;3;1;2;39;20
3;1;95;;;;;;
3;0;55;2;1;1;2;30;37
3;0;78;4;;;;;
3;0;45;;;;;;
3;0;40;3;3;3;1;35;29
3;1;90;;;;;;
3;1;50;2;3;1;2;37;35
3;1;85;;;;;;
3;1;77;;;;;;
3;0;30;4;2;2;2;38;23
3;1;97;;;;;;
3;0;27;6;2;1;1;;25
3;0;36;3;2;1;1;;
3;0;61;2;2;2;1;30;33
3;1;91;;;;;;
3;1;65;4;2;0;1;;
3;1;63;;;;;;
3;1;74;8;3;3;2;37;
3;1;89;8;1;1;;;40
3;1;77;2;2;;1;;
3;1;73;8;3;1;1;28;17
3;0;30;5;2;3;2;40;38
3;0;36;3;3;3;2;36;39
3;0;47;3;2;0;1;31;31
3;0;41;;;;;;
3;0;34;5;2;2;1;31;38
3;1;18;7;2;1;1;30;29
5;1;43;5;3;3;2;39;35
5;0;66;3;3;1;2;40;38
5;0;55;3;3;3;2;40;28
5;0;26;8;2;1;0;;28
5;0;32;4;3;3;1;32;34
5;1;63;;;;;;
5;0;;;;;;;
5;0;39;7;3;2;2;39;38
5;1;43;3;3;2;2;25;22
5;1;75;2;2;2;2;;34
5;1;46;4;3;3;2;38;39
5;1;42;5;2;1;1;38;37
5;0;60;3;2;1;2;;
5;0;84;3;1;1;1;33;29
5;1;69;;;;;;
5;1;19;7;2;2;1;;
5;1;74;4;2;2;1;28;30
5;0;23;7;2;1;1;38;40
5;1;52;5;2;1;1;33;38
5;0;23;5;;1;1;36;27
5;1;61;2;2;1;2;40;29
5;0;27;3;2;1;2;38;37
5;1;69;4;3;3;2;28;16
5;0;51;6;3;1;1;38;28
5;0;65;;;;;;
5;1;38;;;;;;
5;0;69;3;2;3;2;37;29
5;1;70;6;1;0;1;32;16
5;1;68;4;2;1;2;28;30
5;1;60;4;1;1;2;39;38
5;0;29;4;3;1;2;39;40
5;1;35;3;3;1;2;37;35
5;1;57;5;3;3;2;;40
5;1;88;;;;;;
5;1;45;3;3;2;2;38;37
5;0;18;7;2;2;2;36;40
5;0;32;3;3;3;2;34;34
5;0;44;4;1;1;2;40;39
5;0;59;2;2;2;1;29;37
5;0;;;;;;;
5;1;;;;;;;
5;0;;;;;;;
5;1;66;3;;1;2;35;39
5;0;45;3;3;1;2;;32
5;1;60;5;2;3;1;40;37
5;1;88;6;1;0;1;31;15
5;1;47;5;;1;1;34;22
5;0;43;5;1;1;2;40;40
5;1;46;8;1;1;1;37;32
5;0;39;2;3;1;2;;39
5;1;67;;;;;;
5;1;75;3;2;2;2;35;37
5;1;79;5;;;2;36;26
5;0;20;7;3;2;1;33;35
5;0;43;4;3;3;2;35;39
5;0;63;6;1;1;2;38;40
5;1;63;3;3;3;2;38;40
5;1;40;4;;1;2;;
5;1;62;;;;;;
5;1;63;;;;;;
5;1;57;6;2;1;2;;
5;0;26;4;2;1;2;35;29
5;0;;;;;;;
5;0;38;3;1;1;1;30;30
5;0;45;3;3;1;2;35;28
5;0;34;3;2;1;1;33;33
5;1;44;8;3;3;2;39;
5;1;65;8;3;1;1;39;40
5;1;96;7;;;;;
5;1;;;;;;;
5;1;43;5;2;2;2;29;34
6;1;75;8;2;1;2;39;
7;0;38;;;;;;
7;0;44;6;3;1;2;38;33
7;0;53;3;3;1;1;40;39
7;0;38;2;1;1;1;35;26
7;0;48;3;2;3;2;36;
7;1;70;5;2;2;1;32;13
7;0;65;3;1;2;1;;40
7;0;49;3;3;3;2;35;40
7;0;47;4;2;2;1;25;18
7;0;71;3;3;1;2;37;27
6;1;76;;;;;;
6;1;66;8;2;1;2;37;36
6;1;69;4;1;1;1;34;15
6;1;60;5;2;1;2;32;28
6;0;64;2;2;2;2;39;40
6;0;59;2;0;3;0;21;35
6;0;29;6;2;2;1;28;21
6;1;33;8;3;2;2;36;37
6;0;68;3;2;1;2;40;38
6;0;64;2;3;2;1;34;33
6;1;90;2;1;0;2;;27
6;1;66;5;3;1;2;40;40
6;1;72;5;3;1;2;32;33
6;1;84;4;3;3;2;34;28
6;1;75;3;3;1;1;38;39
6;0;78;;;;;;
6;1;55;;;;;;
6;1;92;;;;;;
6;1;55;8;2;3;1;29;24
6;1;53;;;;;;
6;0;48;5;0;0;0;13;21
6;1;55;3;2;3;2;38;34
6;1;74;2;2;;;39;20
6;1;60;3;1;1;2;35;31
6;1;41;2;1;1;2;34;30
6;1;75;8;;;;;
6;1;70;3;3;3;2;38;33
6;1;57;3;3;3;2;35;36
6;1;88;3;2;1;2;35;31
6;1;50;2;3;1;2;40;40
6;1;50;5;;1;1;32;29
6;0;25;7;2;3;1;34;33
6;1;22;7;2;3;2;36;33
7;0;80;;;;;;
7;0;70;;;;;;
7;0;72;6;3;3;2;40;38
7;0;68;3;3;3;2;40;40
7;1;54;4;1;2;1;;
7;0;58;3;3;3;2;38;38
7;0;52;6;2;3;2;;38
7;0;41;3;3;1;0;31;25
7;1;79;8;3;3;2;;40
7;0;57;6;3;3;2;38;32
7;1;26;3;1;1;2;35;37
7;1;59;4;3;1;1;32;35
7;0;45;;;;;;
7;0;83;4;3;2;1;35;22
7;1;47;5;3;3;2;;
7;1;74;;;;;;
7;1;69;;;;;;
7;1;67;4;3;3;2;40;39
7;0;36;7;3;1;2;33;28
7;0;76;8;1;1;1;34;27
7;0;83;;;;;;
7;0;87;;;;;;
7;1;76;;;;;;
7;1;84;5;3;3;2;;
7;0;57;3;;;2;38;40
7;0;67;5;;;;28;
7;0;75;3;3;1;2;;
7;0;82;4;;;;;
7;1;84;8;;;0;39;13
7;1;22;8;1;1;2;;
7;0;60;3;1;1;2;38;37
7;0;55;3;3;1;2;33;25
7;0;40;4;2;1;2;37;32
7;0;48;6;1;2;1;35;34
7;1;83;;;;;;
7;0;55;;3;;;;
7;0;58;3;;;;;
7;0;65;3;2;3;2;40;40
7;1;91;;;;;;
7;1;85;;;;;;
7;1;67;;;;;;
7;0;75;;;;;;
7;0;46;6;2;;2;39;
7;0;74;5;1;2;2;36;29
7;0;69;3;2;1;2;;
7;0;60;5;2;1;2;32;19
7;0;55;3;2;3;2;36;34
7;0;72;6;;;;38;
7;1;70;3;2;1;2;33;32
7;1;43;5;1;1;1;;
7;0;49;3;3;3;1;39;40
7;0;92;;;;;;
7;0;64;3;1;1;1;34;34
7;0;74;3;3;1;2;36;40
7;0;75;3;3;3;1;40;40
7;0;64;3;;;;;
7;0;77;;;;;;
2;1;82;;;;;;
2;1;75;4;;;;;
2;0;60;3;2;1;1;21;
2;1;64;4;;;1;;
2;1;61;6;;1;1;30;21
2;0;50;6;1;1;2;30;25
2;0;42;6;2;1;0;24;24
2;0;65;2;2;;2;;36
2;1;75;6;;;;;
2;1;90;;;;;;
2;1;57;4;1;1;2;38;
2;0;42;3;1;1;2;38;27
2;0;66;8;1;1;1;38;29
2;0;60;6;3;1;2;;24
2;0;73;3;2;1;2;37;31
2;0;51;3;;2;2;39;40
2;1;85;4;2;1;2;40;35
2;0;88;;;;;;
2;1;82;;;;;;
2;0;50;4;;;;;
2;1;82;;;;;;
2;0;31;5;;;;;
2;1;39;4;;;2;;32
2;1;49;5;2;;2;;31
2;0;54;6;2;2;1;25;22
2;1;32;4;3;2;1;26;28
2;0;76;4;2;1;0;31;28
2;1;40;4;;;;;
2;0;60;3;2;2;1;32;32
2;0;55;6;;;2;;
2;0;52;5;1;1;1;34;23
2;1;52;3;2;1;2;25;28
2;0;35;4;;1;1;31;
2;1;42;;;;;;
2;1;40;4;1;0;0;;
2;1;78;;;;;;
2;1;77;4;;3;2;;
2;1;49;3;1;1;2;26;32
2;0;56;;;;;;
2;0;58;5;2;1;2;40;39
2;1;39;3;2;2;1;30;28
2;0;82;3;3;1;2;;38
2;0;37;4;3;3;2;38;40
2;0;81;3;1;1;1;;
2;0;55;;;;;;
2;0;59;5;;;;;
2;0;77;3;3;1;2;;
2;1;68;;;;;;
2;0;45;3;2;2;1;38;39
2;1;67;;;;;;
2;0;51;;;;;;
2;1;70;;;;;;
2;0;83;;;;;;
2;0;72;4;2;1;1;27;33
2;0;75;3;2;1;2;37;
2;0;43;2;2;2;2;33;29
2;1;29;3;2;3;2;36;34
2;1;67;5;1;3;2;;
2;1;40;;;;;;
6;1;37;;3;1;2;37;22
6;1;50;8;3;3;2;36;30
6;1;40;5;3;3;1;32;35
6;1;67;7;;1;2;37;39
6;1;66;8;2;1;2;29;35
6;1;79;3;3;2;2;21;36
6;0;65;5;3;1;2;40;17
6;1;44;3;;;2;40;38
6;0;88;;;;;;
6;1;56;3;;3;2;39;40
6;1;47;4;3;2;2;37;39
6;1;58;8;3;3;2;35;39
6;1;75;6;2;1;1;33;34
6;1;85;4;2;;1;;
6;0;75;8;3;1;2;40;40
6;0;46;4;3;2;2;28;30
6;1;49;4;1;1;2;39;40
6;1;61;6;3;3;2;36;17
6;1;69;8;2;2;2;;31
6;0;38;8;3;;2;;36
6;0;48;;;;;;
6;1;84;8;2;2;1;;18
6;0;60;3;3;1;2;39;33
6;1;76;;;;;;
6;1;60;5;3;3;2;38;24
6;1;80;2;;;1;;
6;0;84;;;;;;
6;1;50;4;;;2;;
6;0;45;6;3;3;2;38;35
6;1;47;4;1;1;1;37;
8;0;73;3;2;1;2;36;38
8;0;75;3;2;3;2;;
8;1;43;6;3;3;2;40;40
8;0;49;2;3;3;2;39;26
8;1;56;4;;2;2;35;36
8;1;50;6;;;;;34
8;1;46;5;1;1;2;40;36
8;0;63;2;;2;1;;27
8;1;87;;;;;;
8;0;73;2;1;1;2;35;20
8;1;63;4;1;1;2;39;30
8;1;33;4;2;1;1;38;28
8;1;32;5;3;3;2;;29
8;1;21;7;2;1;2;40;27
8;1;71;3;3;;2;40;35
8;1;72;;1;0;0;28;17
8;1;53;4;1;1;1;33;29
8;1;30;5;;2;2;40;29
8;1;63;3;;1;1;33;40
8;1;26;7;3;1;;34;38
8;1;91;;;;;;
8;0;54;3;3;2;1;;38
8;1;55;;;;;;
8;1;78;8;1;1;1;40;
8;1;30;5;3;2;2;;
8;1;45;3;3;3;1;;35
8;1;44;4;3;0;2;26;27
8;1;61;;;;;;
8;1;64;;;;;;
8;1;44;4;1;1;2;40;37
8;1;55;4;;3;2;33;36
8;1;48;4;2;1;1;29;17
8;1;57;4;;1;1;39;33
8;1;65;3;;1;2;40;40
8;1;77;4;3;;1;;
8;1;72;;;;;;
8;0;36;2;3;1;2;37;30
8;0;59;3;2;1;1;26;23
8;1;19;7;2;1;0;25;20
8;1;66;2;3;3;2;40;40
8;0;20;7;2;0;1;;28
8;0;21;7;2;1;1;29;31
8;1;26;5;1;0;0;32;
8;1;32;5;3;1;1;36;38
8;0;68;;;;;;
8;0;57;6;2;0;0;;
8;0;70;3;2;3;1;33;27
8;0;55;2;3;2;2;38;35
8;0;39;3;0;1;2;40;30
8;0;71;;;;;;
8;0;62;4;3;3;2;38;36
8;0;22;7;3;3;2;39;37
8;0;58;2;2;1;2;39;20
8;1;56;3;3;1;2;40;40
8;0;70;6;3;1;2;36;38
8;0;59;4;2;2;2;33;33
8;0;78;6;3;3;2;40;32
8;1;77;8;2;2;2;39;25
8;0;66;6;3;3;2;;
8;1;58;3;3;1;2;37;35
8;1;31;3;;;1;33;38
8;1;69;4;3;1;2;40;31
8;1;67;4;3;3;2;38;35
8;1;70;;;;;;
8;1;81;;;;;;
8;0;69;;;;;;
8;1;30;4;2;1;1;32;
8;1;30;8;1;2;2;30;34
8;0;50;;;;;;
notebooks/machine-learning/images/birth-barplot.png

5.73 KiB

notebooks/machine-learning/images/birth-histogram.png

6.18 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment