Évanescence échange entre Art et Science

Publié dans Non classé | Laisser un commentaire

PyCoa: un outil d’analyse Python de la Covid19

[show_bokeh path= »http://dadoun.net/wordpress/wp-content/uploads/2021/06/vacc2-1.html »]

PyCoa, pour PYthon COvid Analysis, s’adresse aux personnes souhaitant s’approprier, de manière autonome,les données publiques relatives à la pandémie de la Covid-19 :lycéen·es, étudiant·es, analystes stratégiques, data journalistes, scientifiques.


Contrairement à un tableau de bord classique notre logiciel permet d’accéder facilement et directement aux données depuis leurs sources officielles, et ce avec une licence libre de droits.Puis il permet de travailler ces données, en autonomie : l’utilisateur ou l’utilisatrice choisit ses propres représentations, elles ne sont pas imposées.L’environnement médiatique contemporain place souvent le citoyen ou la citoyenne dans un état de consommation forcé.Nous avons élaboré notre outil avec l’idée contraire : permettre à chacune et chacun d’avoir une démarche active face à l’information,tout en développant la littératie numérique.


Pycoa permet un accès simple aux bases de données sur la Covid-19 (actuellement 22 bases de données mondiales et nationales).Grâce à sa flexibilité de programmation, l’ajout d’autres bases de données se fait aisément.Pycoa est le seul logiciel permettant de comparer des données épidémiologiques à l’échelle des régions ou départements sur une douzaine de pays.Il fournit des outils simples pour représenter et analyser les données de la Covid-19, comme des séries temporelles, des histogrammes, des camemberts ou des cartes et ce en 2 lignes de code seulement, il peut être ainsi utilisé  pour enseigner le langage Python, les statistiques, l’épidémiologie clinique et ce dès le lycée.

Vous pouvez trouver une présentation qu’on a faite lors du salon-math (27-30 mai 2021).

Liens


➔ Forge du code avec son wiki : https://gitlab.in2p3.fr/lpnhe/pycoa ou https://github.com/coa-project

➔ Twitter : https://twitter.com/pycoa_fr @pycoa_fr

➔ Exemple sous forme d’un Notebook Jupyter exécutable et modifiable par tous sans installation préalable du logicielhttps://bit.ly/pycoaFDS21binder

➔  Data.gouv https://www.data.gouv.fr/fr/reuses/pycoa-python-covid-analysis

Publié dans Informatique, Non classé, Python | Laisser un commentaire

Décès quotidien France depuis 2000

Pour voir les effets des décès dus au COVID-19 j’ai récupéré et superposé les données depuis 2000 des décès en France (toutes causes confondues). J’ai choisi de ne représenter que les mois entre janvier de septembre.

[show_bokeh path= »http://dadoun.net/wordpress/wp-content/uploads/2020/11/insee.html »]

On voit un pic au 1er avril 2020 qui correspond aux décès covid (+ autres types décès). De plus on peut voir un pic en vert autour du 12 aout 2003 qui correspondant au décès de la canicule de 2003.

Données sont issues de l’INSEE:
Avant 2020
Pour l’année 2020

Publié dans Non classé | Laisser un commentaire

Covid-19 Active case

Daily update bokeh chart from Johns Hopkins Covid-19 data. The graphic have been produced using COCOA COVID-19 analyse tool (which will be avalaible very soon)

The chart’s present the Active cases for different countries in EU. The aggregated confirmed cases that have not been resolved is defined by :

Active cases = total cases – total recovered – total deaths

[show_bokeh path= »https://dadoun.net/activecases.html »]

To insert bokeh html file inside a WordPress article one can use this .

Publié dans Non classé | Laisser un commentaire

Installation Linux sur Mac PowerPC G5

J’avais un Mac PowerPC G5 sous OS X 10.5.8 (dernière m.à.j ~2006).
Donc inutile de vous dire qu’il était impossible de l’utiliser même comme un simple navigateur web …
Effet confinement oblige j’ai décidé de prendre le temps qu’il fallait pour mette un Linux dessus.

Voici les specs du Mac en question :

  • Mac OS X 10.5.8
  • Processeur 4×2.5 GHZ PowerPC G5
  • 4.5 Go 2x2Go DDR2 SDRAL (je suppose que mes 2×250 Go on fait bugger le Linux une fois celui installé donc j’ai gardé que 2x2Go)
  • Carte Gaphique NVIDIA GeForce 6600 VRAM 256 Mo 1280×1024 @ 60 Hz 32 bits
  • Il existe plusieurs versions de Linux Ubuntu qui sont compatibles MacPPC G5. J’ai installé quand à moi Lunbutu-16.04-Remix (qui m’a été fortement recommandé par un utilisateur du groupe FB Linux and BSD on PowerPC MAC).
    Il y a d’autres distribs comme par exemple la Debian

    Voici les étapes de mon installation:

    1. Télécharger l’image iso de Lunbutu-16.04-Remix (à la date l’article son nom est lubuntu-16.04-remix-v2-ppc.iso)
    2. Copier l’iso sur votre clef usb en utilisant commande dd depuis un terminal (pour savoir tout du dd je vous renvoie à votre moteur de recherche):
    3. dd if=Downloads/lubuntu-16.04-remix-v2-ppc.iso of=/dev/disk2 bs=4m && sync

    4. Redémarrer en Mac en mode OF (OpenFirmeware), pour cela on maintiendra enfoncé au démarrage les touches:
    5. alt+cmd+o+f

    Une fois sur arrivé sur l’OF il faut trouver le device de la clef usb, et c’est ça le plus reloud …
    Depuis l’OF il y a la commande dir (ou encore devalias, dev et ls ) qui peuvent être utile. Si on se trompe dans le nom du device l’ordinateur va rebooter sur l’OS d’origine, du coup ça peut prendre un temps fou …
    On vérifie que l’on a donné le bon device de la clef en vérifiant avec dir son contenu:

    dir usb2/disk:2,\\

    Une fois qu’on a vérifié que le device selectionné correspondait bien à la clef on peut booter dessus en toute quiétude:
    boot usb2/disk:2,\\yaboot
    Là on arrive sur le yaboot et on tappe la commande:
    live-powerpc64

    Vous devriez, après quelques minutes (moins de 2), arriver sur le bureau type d’un Linux où vous pourrez démarrer l’installation de votre nouveau super système.

    Si vous obtenez un écran noir après la commande live-powerpc64 depuis le yaboot pas de panique c’est peut être que vous vous êtes trompés dans le slot de connection de l’écran dvi (j’ai fait la même erreur et ça m’a fait perdre un temps de fou et pas mal de cheveux en moins). Essayez tout simplement de changer de slot (slot droit lorsqu’on a le doc du mac sous les yeux).

    Voily bon courage pour votre installation …

    Liens qui peuvent être utiles voir très utiles …
    https://lowendmac.com/2018/installing-linux-on-powerpc-macs/
    La page FB Linux and BSD on PowerPC MAC

    Publié dans Mac Os X | Marqué avec | Laisser un commentaire

    Mon 1er Notebook Jupyter dans WordPress

    Bon c’est pas très rejouissant mais je donne ici mon script Python pour plotter l’évolution des cas de Covid (par défaut pour la « France », »Italy », »Spain » et la »Germany ») en utilisant cette base de données
    https://github.com/CSSEGISandData/COVID-19
    J’ai créé:

  • mon script en utilisant le Jupyter Notebook collaboratif de google (https://colab.research.google.com/)
  • sauvé mon notebook dans github glist
  • Utilisé le plugin oEmbed Gist de WordPress pour insérer le glist dans mon article (on peut aller voir cet article )
  • https://gist.github.com/odadoun/20680c7aa1a0604b5026895242c3a534#file-covid-data-ipynb

    Publié dans Python | Laisser un commentaire

    Envoie de sujets par mail avec AMC ?

    A cause des réformes des retraites et des grèves qui ont suivi les examens sur table ont été annulés et ont été reprogrammé sous la forme d’un devoir à la maison.
    Je devais donc envoyer mon QCM, élaboré avec auto-multiple-choice,  à un grand nombre de candidats. Je ne rentrerai pas ici dans l’intérêt de faire un examen QCM à domicile …

    Avant de commencer noter que je suis sous Mac Os X Catalina.

    Je fournis ici les scripts Python nécessaires pour :

    • Séparer le fichier PDF avec tous les sujets en autant de sujets qu’il y a de candidats
    • Envoyer les mails avec mutt (installer avec brew) à tous les candidats avec leurs fichiers en attachés

    Mon sujet comporte 4 pages. Les N pdf individuels produits sont redirigés vers un dossier PDFSplitted. Je me suis basé sur cette page pour mon script.
    Les noms de mes fichier se nomment : DOC-sujet1.pdf et DOC-sujet2.pdf.
    Changer la variable « DOC-« +sujet+ ».pdf » en fonction du nom de votre sujet.

    #!/usr/bin/env python
    
    from PyPDF2 import PdfFileWriter, PdfFileReader
    from multiprocessing import Pool
    import glob, sys
    
    sujet="sujet2"
    pdfs = glob.glob("DOC-"+sujet+".pdf")
    
    def process_pdfs(pdf):
        inputFile = PdfFileReader(open(pdf, "rb"))
        print("Processing %s"% pdf)
        for i in range(inputFile.numPages // 4):
            output = PdfFileWriter()
            output.addPage(inputFile.getPage(i * 4))
            output.addPage(inputFile.getPage(i * 4 + 1))
            output.addPage(inputFile.getPage(i * 4 + 2))
            output.addPage(inputFile.getPage(i * 4 + 3))
    
            newname = sujet + "-" + str(i+1) + ".pdf"
    
            outputStream = open("PDFSplitted/"+newname, "wb")
            output.write(outputStream)
            outputStream.close()
    
    p = Pool(processes=4)
    p.map(process_pdfs, pdfs)
    

    Une fois les sujets produits je vais boucler sur l’ensemble des étudiants pour leur envoyer un mail (avec mutt) avec leur sujets individuels en attaché (il y a 2 sujets au choix).
    La liste des étudiants avec leurs mails se trouve dans le fichier Emails-L2-1920.xlsx.
    Je parse celui-ci avec xlrd.

    import xlrd
    import subprocess
    import os
    
    def body(*arg):
        mail_named="BodyMailStudents/"+str(arg[0]).replace(" ","-")+"-"+str(arg[1]).replace(" ","-")+"-N-"+str(arg[2])+".txt"
        fichier = open(mail_named, "w")
        temp=("Bonjour "+ str(arg[0])+ " " +str(arg[1]) + ",\n\n"\
                +"\t veuillez trouver en attaché de ce mail le sujet d'examen: MÉTHODES STATISTIQUES - PY03E300.\n"+\
                "Votre sujet n° " + str(arg[2]) +" est associé à votre numéro d'étudiant " + str(int(arg[3])) +".\n"\
                "Imprimez dans la mesure du possible votre copie en recto verso. Ne remplissez QUE L'UN DE CES DEUX SUJETS ET PAS UN AUTRE.\n"
                "Les copies doivent être rendues en mains propres à la scolarité entre le lundi 27 janvier\n"+\
                "et le jeudi 30 janvier en vous munissant de votre carte d’étudiant pour signer la feuille d’émargement.\n"\
                "Bon courage.\n\n"\
                "\n\t\t\t\t Cordialement,\n"\
                "\t\t\t\t\t Olivier Dadoun\n\n  ")         
        fichier.write(temp)
        fichier.close()
        print(temp)
        return mail_named
    
        
    if __name__ == '__main__':           
        list_students="Emails-L2-1920.xlsx"
        wb = xlrd.open_workbook(list_students,encoding_override="utf_16_le")
        print(wb.sheet_names())
        sh = wb.sheet_by_name('Feuil3')
        num_etu          = sh.col_values(0)
        nom_pat_etu      = sh.col_values(1)
        prenom_etu       = sh.col_values(2)
        mail_etu         = sh.col_values(3)
        #list_pas_envoye=[18,30,40,41,44,45,51,56,57,100,101,102,103,109,115,119,128,158] 
        for i in range(1,len(num_etu)):
        #for i in list_pas_envoye:
            file_body=body(nom_pat_etu[i],prenom_etu[i],i,num_etu[i]) 
            files_attached1="\"PDFSplitted/sujet1-"+str(i)+".pdf\""
            files_attached2=files_attached1+" \"PDFSplitted/sujet2-"+str(i)+".pdf\""
            #mail="vous-aurez-pas-mon-mail@gmail.com"
            mail=mail_etu[i]
            mailcc="ni-celui-ci@gmail.com"
            bash_command="mutt -s \"Sujets d'examen MÉTHODES STATISTIQUES - PY03E300 \" " +  mail + " -c " + mailcc + " -a " + str(files_attached2)  + " -- < " + str(file_body)
            os.system(bash_command)
            print(bash_command)
            os.system("sleep 2")
        wb.release_resources()   
    

    Si pour une raison inconnue l’étudiant n'a pas reçu son sujet on peut lui renvoyer car le corps du mail a été sauvé dans un fichier qui se trouve dans le dossier BodyMailStudents/.

    Si cette erreur apparait avec votre pdf

    PyPDF2.utils.PdfReadError: Multiple definitions in dictionary at byte 0x9af9 for key /AcroForm
    

    Remplacer

    inputFile= PdfFileReader(open(pdf, "rb"))
    

    par

    inputFile= PdfFileReader(open(pdf, "rb"),strict=False)
    
    Publié dans Python | 4 commentaires

    CM Statistiques L2 2019/2020

  • Voici le sujet donnée en Décembre 2018 et son corrigé
  • Attention le programme n’était pas tout à fait le même (donc il y a des questions pour lesquelles vous allez avoir du mal à répondre).

  • Un lien concernant les cours de Stanislas Dehaene au Collège de France.
    Le bébé statisticien : les théories bayésiennes de l’apprentissage
  • Publié dans Cours | 2 commentaires

    OBS probleme avec @rpath

    J’ai recompilé OBS Studio sur mon Mac sans gros soucis.
    Par contre lors de son execution j’obtenais:

     
    dadounair:bin dadoun$ ./obs
    dyld: Library not loaded: @rpath/QtWidgets.framework/Versions/5/QtWidgets
    Referenced from: /Users/dadoun/SoftsDivers/obs-studio/build/rundir/RelWithDebInfo/bin/./obs
    Reason: image not found
    Trace/BPT trap: 5
    

    Problème que j’ai rencontré de nombreuse fois et que j’avais réussi à chaque fois esquiver (sans trop savoir comment).
    Après avoir passé pas mal temps de temps j’ai trouvé cette solution simple et efficace: exporter la variable DYLD_FRAMEWORK_PATHdont je ne connaissais pas l’existence.
    Donc un

    export DYLD_FRAMEWORK_PATH=/usr/local/Qt/5.5/clang_64/lib

    a résolu mon problème.

    Publié dans Informatique, Non classé, Shell | Laisser un commentaire

    CM Statistiques L2 2018/2019

    Bonjour,

    Attention: cours n°6 page 157 la formule que j’ai utilisée est fausse
    (ca change pas le résultat). Voici la bonne formule:
    [latexpage]
    \[
    \quicklatex{color= »#ff0000″ size=35}
    \boxed{s^2=\frac{1}{7}\times(\sum^{i=8}_{i=1}x_i^2-8\times(\frac{1}{8}\sum^{i=8}_{i=1}x_i)^2)}
    \]
    De plus, veuillez noter aussi un problème de précision qui se ballade dans cet exemple:
    pour calculer l’écart-type mieux vaut utiliser cette moyenne là (1623/8) plutôt que sa valeur approchée 202,90 ms (merci à Jennifer).

    – Nouvelles mise à jour du cours 6
    – J’ai rajouté une transparent p146 cours 6 qui vous donne la formule de la covariance dans le cas d’un échantillon. Vous connaissez la variance dans le cas d’un échantillon ça devrait pas poser trop de problèmes (et oui il faut connaître les formules).

    voici les cours de L2 CM Méthodes Statistiques 2018:

    Bonne lecture …

    PS: Comme d’hab. n’hésitez pas à donner commentaires, remarques et/ou réflexions diverses et variées …

    Annexes

    Table bilatérale
    Table unilatérale

    Pièce jointe

    Publié dans Cours | Marqué avec | 4 commentaires