Main Filters

~technical - ~ENSAE - ~recreative

XD blog

blog page

~technical


2017-01-09 Les journaux sont sur GitHub

Petit voyage sur GitHub : Los Angeles Time/datadesk, NYTimes, Le Monde, Libération. Je n'ai pas trouvé de GitHub pour Le Figaro. On ne voit que la partie visible mais dans l'ensemble, il y a surtout du javascript et peu de python. Les journaux américains paraissent plus avancés que les journaux français. Le site la BBC proposent un package Python clever-thumbnailer capable d'extraire un échantillon d'une musique ou d'un extrait sonore.

2017-01-08 La chevauchée informatique de 100 notebooks

Je coordonne et j'anime environ 60 heures de cours et travaux pratiques à l'ENSAE chaque année depuis trois ans et la création de la voix datascience. Si vous allez sur mon site, vous découvrirez que la plupart de ces heures s'appuient sur des exercices écrits sous formes de notebooks et qu'une bonne partie fonctionne par paire, un énoncé, une correction, d'autres contiennent la correction des examens, d'autres répondent à des questions d'étudiants, d'autres... Le notebook est apparu il y a une dizaine d'années et est récemment devenu populaire sous le nom Jupyter. Un notebook Jupyter est un endroit où on écrit du texte, des formules, du code et où on garde la trace des graphiques et des sorties que ces petits bouts de code ont produits. C'est même un lieu où on peut insérer une carte interactive pour zoomer ou dézoomer à volonté. C'est un outil qui a rapidement trouvé son public. Rares sont les professeurs de mathématiques ou d'informatiques qui n'ont pas de notebooks d'autant plus que les étudiants peuvent les télécharger, les exécuter, que tout le monde peut aisément les convertir en PDF, html ou présentations. Essayez, allez sur un moteur de recherche, écrivez le nom d'un professeur, d'une université suivi de notebook et github... (berkely notebook github) C'est un sacré chemin parcouru depuis les polycopiés qui sentaient l'alcool. Ce sont les premières reproduction de support pédagogique qu'il m'ait été donné de découvrir. Cela vous donne d'ailleurs une idée de mon âge. J'ai découvert l'école, j'ai vécu la transition du polycopié vers la photocopie. Un pas fou ! Et depuis je mets en ligne tout ce que je produis pour mes cours, plus d'une centaine de notebooks. Tout est accessible depuis GitHub, le lieu des projets open source, tout est compilé en plusieurs sites web.


more...

2016-11-21 Liens GitHub

Tous les notebooks sont maintenant facilement accessibles sur GitHub : DataFrame et Graphes. Il en est de même pour les fonctions et classes enumerate_permutations.

2016-10-12 Convertir un notebook après filtrage

On m'a demandé récemment s'il était possible de convertir un notebook au format PDF après avoir supprimé les portions de code. La réponse est oui : Export a notebook with no code.

2016-09-25 add_notebook_menu

La plupart des notebooks que je créé commencent par ces deux lignes.

from pyquickhelper.ipythonhelper import add_notebook_menu
add_notebook_menu()

La fonction ajoute une bout de javascript qui produit un menu permettant d'accéder directement à tel ou tel paragraphe. Si la fonction ne fonctionne, c'est que le module pyquickhelper n'est pas installé. Ce n'est pas très grave dans la mesure ou la plupart du temps, le module n'est pas utilisé autrement que pour ce menu. Comme il requiert diverses dépendances, j'ai décidé d'extraire cette fonction et de la placer dans un module plus petit et sans dépendance : jyquickhelper. On peut maintenant écrire :

from jyquickhelper import add_notebook_menu
add_notebook_menu()

2016-09-21 A few tricks with Anaconda

Anaconda hides some undesirable behaviors sometimes. I ran into this one a few days ago: cannot import name 'QtCore' which I solved by applying the following trick: ImportError: cannot import name 'QtCore'. Another unexpected behavior happened when I tried to create a virtual environment on a different drive. Finally, I'd like to have a way to avoid copying everything when I need a new virtual environment. At least, this is what happens on Windows.

2016-09-20 Digging into a random forest

A few links. Help yourself. Interpreting random forests, Reading and interpreting random forest models, treeinterpreter.

2016-09-19 Apprendre la programmation avec Python

Je songe à donner une seconde vie au livre que j'ai écrit voici quelques années pour apprendre la programmation sous la même forme que celle que j'utilise pour mes enseignements. Apprendre la programmation avec Python.

2016-09-18 HDF5

A slightly biaised post is a good way to learn. See for example this one Moving away from HDF5 and the next one more objective Should you use HDF5?. The post is about publishing a blog post with Travis: Setting up a blog with Pelican and GitHub Pages. By following the link, you find a way to put private keys in your code Publish your Pelican blog on Github pages via Travis-CI.

2016-09-05 Reprise des cours

Et donc je n'ai pas trop le temps de blogger. J'ai jeté un coup d'oeil sur PyCon 2016. Pas mal de vidéo intéressante. Pour ceux qui préfèrent les maths, quelques jeux autour des systèmes de complétion. Mais je ne suis pas le seul artiste dans la famille. Si vous passez à Charleville.


more...

2016-08-16 Reading, modules about machine learning...

How to train a model with imbalanced datasets (not enough observation for a class), to do recommendations or to compute confidence intervals on prediction with a random forest? That's some of the answer the following extensions of scikit-learn try to answer.

Some papers. I will not probably have time to read more than one or two with the teachings preparation but I should to get more ideas about students projects.

2016-08-11 Tous mes cours sont sur GitHub...

Et pour m'envoyer une correction, vous pouvez m'envoyer un mail ou utiliser le processus suivant : Editing files in your repository.

2016-08-09 Quelques lectures intéressantes pendant la préparation des cours

2016-07-20 Python module: mlxtend

A module to follow mlxtend. Don't forget to read the blog of his author: sebastianraschka. Worth the detour.

2016-07-07 Machine Learning? What did you say?

Yesterday my sister asked : What is machine learning? And she quickly added please explain with terms I know.

Ok...

So I won't say this is just a bunch of optimization problems which apply on data to improve the efficiency of a company.

What should i say?

Should I apply the shaddock logic to my job: if I can't explain, I'm no use. Is it about quantifying people's intuition with data?

Well...

Machine Learning is everywhere but that won't help. In cars, in websites, in sales, but that won't help.

So I thought. Think about your job today, think about it in 20 years. A robot will probably do it. We always think a robot is a machine as if you could only automate physical jobs such as a mechanical arm. But the smaller robot is a program for computers. I press a button to update my blog: this is a robot. By extension, we could consider machine learning a kind of robot for statisticians. We don't try anymore to analyze the data, to model it. We just try to apply a black box which tells us if the data can be predicted. How? we care less.

Is that the end of the story?

The robot knows more and more and still can only solve problems we've seen. Not the last one. The new one. So the job is now to improve the robot so that I don't solve the same problem twice.


-->

Xavier Dupré