diff --git a/DM-Mooc_fun-hahassan.md b/DM-Mooc_fun-hahassan.md deleted file mode 100644 index 6d4303253269d8ec7a15c43da617658ea18534e3..0000000000000000000000000000000000000000 --- a/DM-Mooc_fun-hahassan.md +++ /dev/null @@ -1,844 +0,0 @@ -# Analyse de données sur le tabagisme chez les femmes dans l'intervalle de 20 ans - -### Les données restreint de travaux sur les maladies thyroïdiennes et cardiaques (Tunbridge et al. 1977) et la suite de cette étude a été menée vingt ans plus tard. Certains des résultats avaient trait au tabagisme et cherchaient à savoir si les individus étaient toujours en vie lors de la seconde étude. La survie à 20 ans a été déterminée pour l'ensemble des femmes du premier sondage. - - - -Importations des bibliothéques - - -```python -%matplotlib inline -import matplotlib.pyplot as pl -import numpy as np -import pandas as pd -import csv -``` - -importataion des données du site de inria. - - -```python -data=pd.read_csv('https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/-/raw/master/module3/Practical_session/Subject6_smoking.csv?inline=false')#, skiprows=1) -``` - -La première ligne du fichier CSV est un commentaire, que nous ignorons en précisant skiprows=1. - -Affichage des données - - -```python -data -``` - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SmokerStatusAge
0YesAlive21.0
1YesAlive19.3
2NoDead57.5
3NoAlive47.1
4YesAlive81.4
............
1309YesAlive35.9
1310NoAlive22.3
1311YesDead62.1
1312NoDead88.6
1313NoAlive39.1
-

1314 rows × 3 columns

-
- - - -***Le tableau ci-haut est l'ensemble de données d'étude. Il est composé de 1314 lignes et de 3 colonnes*** - - -```python -data.columns -``` - - - - - Index(['Smoker', 'Status', 'Age'], dtype='object') - - - - '''Voici l'explication des colonnes données - -| Nom de colonne | Libéllé du colonne | -| :--------------- |:---------------:| -| Age | Age du sujet| -| Smoker | Le tabagisme ou non deu sujet | -| statuts | son statuts de vie après le 20 ans | - -### Représentation dans un tableau le nombre total de femmes vivantes et décédées sur la période en fonction de leur habitude de tabagisme. - -### Nombre totale de femme vivante en focntion de leur tabagisme - - -```python -femme_vivante_filtrage=((data['Status']=='Alive')) -data.loc[femme_vivante_filtrage,[ 'Status', 'Smoker']] - -``` - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StatusSmoker
0AliveYes
1AliveYes
3AliveNo
4AliveYes
5AliveNo
.........
1307AliveYes
1308AliveNo
1309AliveYes
1310AliveNo
1313AliveNo
-

945 rows × 2 columns

-
- - - -Le tableau ci-haut regroupe le nombre total de femmes vivantes en fonction de leur tabagisme. -***On remarque qu'on à 945 femmes vivantes.*** - - -### Nombre totale de femme décedé en fonction de leur tabagisme - - -```python -femme_morte_filtrage=((data['Status']=='Dead')) -data.loc[femme_morte_filtrage,[ 'Status', 'Smoker']] -``` - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StatusSmoker
2DeadNo
7DeadYes
11DeadNo
14DeadNo
20DeadNo
.........
1299DeadYes
1300DeadNo
1306DeadNo
1311DeadYes
1312DeadNo
-

369 rows × 2 columns

-
- - - -Le tableau ci-haut regroupe le nombre total de femmes décédés en fonction de leur tabagisme. - ***On remarque qu'on à 369 femmes décédés*** - - -```python -femme_décédé_filtrage=((data['Status']=='Dead')) -femme_fumeuse_filtrage=((data['Smoker']=='Yes')) -femme_non_fumeuse_filtrage=((data['Smoker']=='No')) -fumeuse_décédé=((data['Smoker']=='Yes') & (data['Status']=='Dead')) -fumeuse_vivante=((data['Smoker']=='Yes') & (data['Status']=='Alive')) -non_fumeuse_décédé=((data['Smoker']=='No') & (data['Status']=='Dead')) -non_fumeuse_vivante=((data['Smoker']=='Yes') & (data['Status']=='Alive')) -``` - -### Nombre totale de femme fumeuses - - -```python -print (" Le nombre de femme fumeuse est de ", len (data.loc[femme_fumeuse_filtrage,['Smoker']]), 'femmes') -``` - - Le nombre de femme fumeuse est de 582 femmes - - -***Le nombre de décès parmis les fumeuses*** - - -```python -print ("Le nombre de décès parmis les fumeuses est de ",len(data.loc[fumeuse_décédé,['Smoker','Status']]), "femmes") - -``` - - Le nombre de décès parmis les fumeuses est de 139 femmes - - -### Nombre total de femme non fumeuses - - -```python -print (" Le nombre total de femme non fumeuses est de ",len(data.loc[femme_non_fumeuse_filtrage,['Smoker']]), "femmes") - - -``` - - Le nombre total de femme non fumeuses est de 732 femmes - - -***Le nombre de décès parmis les non fumeuses*** - - -```python -print (" Le nombre de décès parmis les non fumeuses est de",len(data.loc[non_fumeuse_décédé,['Smoker','Status']]), " femmes") -``` - - Le nombre de décès parmis les non fumeuses est de 230 femmes - - -## Calcul de taux de mortalité dans les groupes - -### Cas femme fumeuse - -Le taux étant le rapport entre le nombre de femmes du groupe décédée et l'ensemble du groupe. - - - -```python -taux_fumeuse=len (data.loc[fumeuse_décédé, [ 'Status', 'Smoker']])/len ( data.loc[femme_fumeuse_filtrage,['Smoker']]) -print (" Le taux de mortalité chez les femmmes fumeuses est de ", taux_fumeuse*100, "%") -``` - - Le taux de mortalité chez les femmmes fumeuses est de 23.883161512027492 % - - -### Cas de femme non fumeuse - - -```python -taux_non_fumeuse=len (data.loc[non_fumeuse_décédé, [ 'Status', 'Smoker']])/len ( data.loc[femme_non_fumeuse_filtrage,['Smoker']]) -print (" Le taux de mortalité chez les femmmes non fumeuses est de ", taux_non_fumeuse*100, "%") - -``` - - Le taux de mortalité chez les femmmes non fumeuses est de 31.420765027322407 % - - - -```python - -names = ['taux de fumeuse', 'taux non fumeuse'] # nom des barres -values = [taux_fumeuse, taux_non_fumeuse] -pl.bar(names, values) -pl.ylim(0,1) -pl.show() -``` - - - -![png](output_35_0.png) - - - -***Ce résultat est surprenant dans la mesure où le taux de mortalité de femmes fumeuses est plus faible que celle de non fumeuses.*** - -### Nous Reprenons la question 1 (effectifs et taux de mortalité) en rajoutant une nouvelle catégorie liée à la classe d'âge. On considérera par exemple les classes suivantes : 18-34 ans, 34-54 ans, 55-64 ans, plus de 65 ans. En quoi ce résultat est-il surprenant ? Arrivez-vous à expliquer ce paradoxe ? De même, vous pourrez proposer une représentation graphique de ces données pour étayer vos explications. - - -## 18-34 ans - - - -```python -femme_fumeuse_filtrage_18_34=((data['Smoker']=='Yes') & (data['Age']<=34)& (data['Age']>=18) ) -femme_non_fumeuse_filtrage_18_34=((data['Smoker']=='No') & ( (data['Age']<=34)& (data['Age']>=18))) -fumeuse_décédé_18_34=((data['Smoker']=='Yes') & (data['Status']=='Dead')& (data['Age']<=34)& (data['Age']>=18)) -fumeuse_vivante_18_34=((data['Smoker']=='Yes') & (data['Status']=='Alive')& (data['Age']<=34)& (data['Age']>=18)) -non_fumeuse_décédé_18_34=((data['Smoker']=='No') & (data['Status']=='Dead')& (data['Age']<=34)& (data['Age']>=18)) -non_fumeuse_vivante_18_34=((data['Smoker']=='Yes') & (data['Status']=='Alive')& (data['Age']<=34)& (data['Age']>=18)) - -``` - -### Nombre totale de femme fumeuses - - -```python -print (" Le nombre de femme fumeuse est de ", len (data.loc[femme_fumeuse_filtrage_18_34,['Smoker']]), 'femmes') -``` - - Le nombre de femme fumeuse est de 181 femmes - - -***Le nombre de décès parmis les fumeuses*** - - -```python -print (" Le nombre de décès parmis les fumeuses est de",len(data.loc[fumeuse_décédé_18_34,['Smoker','Status']]), " femmes") -``` - - Le nombre de décès parmis les fumeuses est de 5 femmes - - -### Nombre total de femme non fumeuses - - -```python -print (" Le nombre total de femme non fumeuses est de ",len(data.loc[femme_non_fumeuse_filtrage_18_34,['Smoker']]), "femmes") - -``` - - Le nombre total de femme non fumeuses est de 219 femmes - - -***Le nombre de décès parmis les non fumeuses*** - - -```python -print (" Le nombre de décès parmis les non fumeuses est de",len(data.loc[non_fumeuse_décédé_18_34,['Smoker','Status']]), " femmes") - -``` - - Le nombre de décès parmis les non fumeuses est de 6 femmes - - -## Calcul de taux de mortalité 18-34 ans - -### Cas fumeuses - - -```python -taux_fumeuse_18_34=len (data.loc[fumeuse_décédé_18_34, [ 'Status', 'Smoker']])/len ( data.loc[femme_fumeuse_filtrage_18_34,['Smoker']]) -print (" Le taux de mortalité chez les femmmes fumeuses agées de 18-34 ans est de ", taux_fumeuse_18_34*100, "%") -``` - - Le taux de mortalité chez les femmmes fumeuses agées de 18-34 ans est de 2.7624309392265194 % - - -### Cas non fumeuses - - -```python -taux_non_fumeuse_18_34=len (data.loc[non_fumeuse_décédé_18_34, [ 'Status', 'Smoker']])/len ( data.loc[femme_non_fumeuse_filtrage_18_34,['Smoker']]) -print (" Le taux de mortalité chez les femmmes non fumeuses agées de 18-34 ans est de ", taux_non_fumeuse_18_34*100, "%") - -``` - - Le taux de mortalité chez les femmmes non fumeuses agées de 18-34 ans est de 2.73972602739726 % - - - -```python -names = ['taux de fumeuse_18_34', 'taux non fumeuse_18_34'] # nom des barres -values = [taux_fumeuse_18_34, taux_non_fumeuse_18_34] -pl.bar(names, values) -pl.ylim(0,0.04) -pl.show() -``` - - - -![png](output_53_0.png) - - - -***Dans ce cas on remarque un leger différence , le taux de mortalité de femmess fumeuses est relativement plus grand.*** - -# CAS 34-54 ans - - -```python -femme_fumeuse_filtrage_34_54=((data['Smoker']=='Yes') & (data['Age']<=54)& (data['Age']>=34) ) -femme_non_fumeuse_filtrage_34_54=((data['Smoker']=='No') & ( (data['Age']<=54)& (data['Age']>=34))) -fumeuse_décédé_34_54=((data['Smoker']=='Yes') & (data['Status']=='Dead')& (data['Age']<=54)& (data['Age']>=34)) -fumeuse_vivante_34_54=((data['Smoker']=='Yes') & (data['Status']=='Alive')& (data['Age']<=54)& (data['Age']>=34)) -non_fumeuse_décédé_34_54=((data['Smoker']=='No') & (data['Status']=='Dead')& (data['Age']<=54)& (data['Age']>=34)) -non_fumeuse_vivante_34_54=((data['Smoker']=='Yes') & (data['Status']=='Alive')& (data['Age']<=54)& (data['Age']>=34)) - - -``` - -### Nombre totale de femme fumeuses - - -```python -print (" Le nombre de femme fumeuse est de ", len (data.loc[femme_fumeuse_filtrage_34_54,['Smoker']]), 'femmes') -``` - - Le nombre de femme fumeuse est de 239 femmes - - -***Le nombre de décès parmis les fumeuses*** - - -```python -print (" Le nombre de décès parmis les fumeuses est de",len(data.loc[fumeuse_décédé_34_54,['Smoker','Status']]), " femmes") -``` - - Le nombre de décès parmis les fumeuses est de 41 femmes - - -### Nombre total de femme non fumeuses - - -```python -print (" Le nombre total de femme non fumeuses est de ",len(data.loc[femme_non_fumeuse_filtrage_34_54,['Smoker']]), "femmes") -``` - - Le nombre total de femme non fumeuses est de 199 femmes - - -***Le nombre de décès parmis les non fumeuses*** - - -```python -print (" Le nombre de décès parmis les non fumeuses est de",len(data.loc[non_fumeuse_décédé_34_54,['Smoker','Status']]), " femmes") -``` - - Le nombre de décès parmis les non fumeuses est de 19 femmes - - -## Calcul de taux de mortalité 34-54 ans - - -```python -taux_fumeuse_34_54=len (data.loc[fumeuse_décédé_34_54, [ 'Status', 'Smoker']])/len ( data.loc[femme_fumeuse_filtrage_34_54,['Smoker']]) -print (" Le taux de mortalité chez les femmmes fumeuses agées de 34-54 ans est de ", taux_fumeuse_34_54*100, "%") -``` - - Le taux de mortalité chez les femmmes fumeuses agées de 34-54 ans est de 17.154811715481173 % - - - -```python -taux_non_fumeuse_34_54=len (data.loc[non_fumeuse_décédé_34_54, [ 'Status', 'Smoker']])/len ( data.loc[femme_non_fumeuse_filtrage_34_54,['Smoker']]) -print (" Le taux de mortalité chez les femmmes non fumeuses agées de 34-54 ans est de ", taux_non_fumeuse_34_54*100, "%") -``` - - Le taux de mortalité chez les femmmes non fumeuses agées de 34-54 ans est de 9.547738693467336 % - - - -```python -names = ['taux de fumeuse_34_54', 'taux non fumeuse_34_54'] # nom des barres -values = [taux_fumeuse_34_54, taux_non_fumeuse_34_54] -pl.bar(names, values) -pl.ylim(0,0.3) -pl.show() -``` - - - -![png](output_68_0.png) - - - -***Cette fois-ci on constate que le taux de mortalité est assez important chez les femmes fumeuses que les non fumeuses*** - - -# Cas 55-64 ans - - -```python -femme_fumeuse_filtrage_55_64=((data['Smoker']=='Yes') & (data['Age']<=64)& (data['Age']>=55) ) -femme_non_fumeuse_filtrage_55_64=((data['Smoker']=='No') & ( (data['Age']<=64)& (data['Age']>=55))) -fumeuse_décédé_55_64=((data['Smoker']=='Yes') & (data['Status']=='Dead')& (data['Age']<=64)& (data['Age']>=55)) -fumeuse_vivante_55_64=((data['Smoker']=='Yes') & (data['Status']=='Alive')& (data['Age']<=64)& (data['Age']>=55)) -non_fumeuse_décédé_55_64=((data['Smoker']=='No') & (data['Status']=='Dead')& (data['Age']<=64)& (data['Age']>=55)) -non_fumeuse_vivante_55_64=((data['Smoker']=='Yes') & (data['Status']=='Alive')& (data['Age']<=64)& (data['Age']>=55)) - - -``` - -### Nombre totale de femmes fumeuses - - -```python -print (" Le nombre de femme fumeuse agées de 55-64 ans est de ", len (data.loc[femme_fumeuse_filtrage_55_64,['Smoker']]), 'femmes') -``` - - Le nombre de femme fumeuse agées de 55-64 ans est de 115 femmes - - -***Le nombre de décès parmis les fumeuses*** - - -```python -print (" Le nombre de décès parmis les fumeuses agées de 55-64 ans est de",len(data.loc[fumeuse_décédé_55_64,['Smoker','Status']]), " femmes") -``` - - Le nombre de décès parmis les fumeuses agées de 55-64 ans est de 51 femmes - - -### Nombre total de femme non fumeuses - - -```python -print (" Le nombre total de femme non fumeuses agées de 55-64 ans est de ",len(data.loc[femme_non_fumeuse_filtrage_55_64,['Smoker']]), "femmes") -``` - - Le nombre total de femme non fumeuses agées de 55-64 ans est de 121 femmes - - -***Le nombre de décès parmis les non fumeuses*** - - -```python -print (" Le nombre de décès parmis les non fumeuses agées de 55-64 ans est de",len(data.loc[non_fumeuse_décédé_55_64,['Smoker','Status']]), " femmes") -``` - - Le nombre de décès parmis les non fumeuses agées de 55-64 ans est de 40 femmes - - -## Calcul de taux de mortalité 55-64 ans - - -```python -taux_fumeuse_55_64=len (data.loc[fumeuse_décédé_55_64, [ 'Status', 'Smoker']])/len ( data.loc[femme_fumeuse_filtrage_55_64,['Smoker']]) -print (" Le taux de mortalité chez les femmmes fumeuses agées de 55-64 ans est de ", taux_fumeuse_55_64*100, "%") -``` - - Le taux de mortalité chez les femmmes fumeuses agées de 55-64 ans est de 44.34782608695652 % - - - -```python -taux_non_fumeuse_55_64=len (data.loc[non_fumeuse_décédé_55_64, [ 'Status', 'Smoker']])/len ( data.loc[femme_non_fumeuse_filtrage_55_64,['Smoker']]) -print (" Le taux de mortalité chez les femmmes non fumeuses agées de 34-54 ans est de ", taux_non_fumeuse_55_64*100, "%") -``` - - Le taux de mortalité chez les femmmes non fumeuses agées de 34-54 ans est de 33.057851239669425 % - - - -```python -names = ['taux de fumeuse_55_64', 'taux non fumeuse_55_64'] # nom des barres -values = [taux_fumeuse_55_64, taux_non_fumeuse_55_64] -pl.bar(names, values) -pl.ylim(0,1) -pl.show() -``` - - - -![png](output_83_0.png) - - - -***Cette fois-ci on constate que le taux de mortalité est aussi assez important chez les femmes fumeuses que les non fumeuses*** - -# Cas 64 et plus - - -```python -femme_fumeuse_filtrage_64=((data['Smoker']=='Yes') & (data['Age']>=64) ) -femme_non_fumeuse_filtrage_64=((data['Smoker']=='No') & (data['Age']>=64)) -fumeuse_décédé_64=((data['Smoker']=='Yes') & (data['Status']=='Dead')& (data['Age']>=64)) -fumeuse_vivante_64=((data['Smoker']=='Yes') & (data['Status']=='Alive')& (data['Age']>=64)) -non_fumeuse_décédé_64=((data['Smoker']=='No') & (data['Status']=='Dead')& (data['Age']>=64)) -non_fumeuse_vivante_64=((data['Smoker']=='Yes') & (data['Status']=='Alive')& (data['Age']>=64)) - - -``` - -### Nombre totale de femmes fumeuses - - -```python -print (" Le nombre de femme fumeuse agées de 64 ans et plus est de ", len (data.loc[femme_fumeuse_filtrage_64,['Smoker']]), 'femmes') -``` - - Le nombre de femme fumeuse agées de 64 ans et plus est de 49 femmes - - -***Le nombre de décès parmis les fumeuses de 64 ans et plus*** - - -```python -print (" Le nombre de décès parmis les fumeuses agées de 64 ans et plus est de",len(data.loc[fumeuse_décédé_64,['Smoker','Status']]), " femmes") -``` - - Le nombre de décès parmis les fumeuses agées de 64 ans et plus est de 42 femmes - - -### Nombre total de femme non fumeuses - - -```python -print (" Le nombre total de femme non fumeuses agées de 64 ans et plus est de ",len(data.loc[femme_non_fumeuse_filtrage_64,['Smoker']]), "femmes") -``` - - Le nombre total de femme non fumeuses agées de 64 ans et plus est de 195 femmes - - -***Nombre de décès de non fumeuse de 64 ans et plus*** - - -```python -print (" Le nombre de décès parmis les non fumeuses agées de 64 ans et plus est de",len(data.loc[non_fumeuse_décédé_64,['Smoker','Status']]), " femmes") -``` - - Le nombre de décès parmis les non fumeuses agées de 64 ans et plus est de 166 femmes - - -### Calcul de taux de mortalité de fumeuses agées de 64 ans et plus - - -```python -taux_fumeuse_64=len (data.loc[fumeuse_décédé_64, [ 'Status', 'Smoker']])/len ( data.loc[femme_fumeuse_filtrage_64,['Smoker']]) -print (" Le taux de mortalité chez les femmmes fumeuses agées de 64 ans et plus est de ", taux_fumeuse_64*100, "%") -``` - - Le taux de mortalité chez les femmmes fumeuses agées de 64 ans et plus est de 85.71428571428571 % - - - -```python -taux_non_fumeuse_64=len (data.loc[non_fumeuse_décédé_64, [ 'Status', 'Smoker']])/len ( data.loc[femme_non_fumeuse_filtrage_64,['Smoker']]) -print (" Le taux de mortalité chez les femmmes non fumeuses agées de 34-54 ans est de ", taux_non_fumeuse_64*100, "%") - -``` - - Le taux de mortalité chez les femmmes non fumeuses agées de 34-54 ans est de 85.12820512820512 % - - - -```python -names = ['taux de fumeuse_64_plus', 'taux non fumeuse_64_plus'] # nom des barres -values = [taux_fumeuse_64, taux_non_fumeuse_64] -pl.bar(names, values) -pl.ylim(0,1) -pl.show() - -``` - - - -![png](output_98_0.png) - - - -***On remarque le taux sont assez proches au délà de 64 ans*** - -# Conclusion - -De ce paraxode, on comprend que le taux de mortalité est assez complexe pour une étude sur des tranges d'âges différents. -Mais globalement le taux est plus important pour les femmes fumeuses mais étrangement il est faible pour certaines tranges d'âges. Cela s'explique par un nombre cause, telle la durée de l'éffect du tabac sur l'organisme, morbidité des personnes âgées... -L'analyse de données doit tenir compte préablement du facteur de confusion. - - -```python - -```