XD blog

blog page


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-08-01 Un peu d'agriculture de quartier

C'est plus une conversation volée hier à Paris à un agriculteur qui expliquait à un client pourquoi on ne pouvait pas trouver ses fraises chez Carrefour. L'agricultrice produit six cagettes par jour et cette quantité est trop petite pour intéresser les grandes surfaces. La discussion se poursuivit sur le changement opéré par l'agriculteur ces dernières années pour choisir une agriculture raisonnée. Avant, il gérait 55.000 mètres carrés de pommier qu'il traitait avec toutes sortes de produits dont des pesticides. Il produisait 55 tonnes de pommes par an pour une attention constante régulier et une perte de 100.000 euros. Aujourd'hui, il gère seulement 8.000 mètres carrés, ne répand aucun produit. Il travaille beaucoup moins qu'avant pour presser les 6 tonnes de pommes qu'il vent sous forme de jus de fruits. Je ne me souviens plus du chiffre exact mais il gagne maintenant quelques milliers d'euros. De son discours, on comprenait qu'il essayait de convaincre ses amis d'opérer la même bascule. Je risquais une remarque sur le sac en plastique qu'il me tendait et la réponse fusa : c'était un sac en amidon de maïs.

Je n'aurais sans doute pas retenu cette histoire si je n'étais allé au marché de Morcenx qui aurait dû rassembler une soixantaine de petits producteurs locaux d'après les différents site web que nous avons consultés. A l'arrivée, seul une dizaine. L'un d'eux nous disait que cette affluence était habituelle et la raison est économique. Les agriculteurs s'en sortent difficilement. J'ai tout de même acheté des melons, deux fois moins cher qu'à Paris.

2016-07-31 Ouvrir les données

Je reviens de vacances. J'étais à Mimizan. Au cours de mes balades, je suis tombé sur ce panneau.

Il est apposé sur une sorte de piédestal assez haut pour surmonter les grandes marées. Au pied s'écoulent les rejets de l'usine GascognePapier. Je ne doute pas de la véracité de l'annonce mais l'odeur assez forte qui se dégage du ruisseau qui s'écoule dans la mer ébranle quelque peu cette affirmation. Pourquoi chercher à réduire des rejets s'ils ne sont pas toxiques ? Une personne qui a traversé l'écoulement pieds nus - nous sommes sur une plage - a pris soin quelques mètres plus loin de nettoyer ses jambes jusqu'au genou. Et puis réduire par 5, qu'est-ce que cela veut dire ? Je suppose qu'en 20 ans, la composition de ces déchets a évolué. Que veut dire réduire par 5 ? On peut réduire le volume des rejets par 5 tout en rejetant la même quantité de produits nocifs.

Je me suis alors demandé si j'aboutirais à la même conclusion à partir de données relatives à la composition de ces rejets. Pourquoi ne pas publier ces données si ces rejets ne sont pas toxiques ?

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.

2016-06-25 Writing scientific with Sphinx

There exists many cheat sheets for Sphinx. One of the most simple and useful is the following: Sample Document. Just click on the source.

Sometimes line-block does not keep indentation. The solution is then to update your style as follows: my-style.css.

2016-06-20 A joke but it is so true

source: commitstrip

2016-06-15 Talk at PyData: 10 plotting libraries

I did a talk at PyData yesterday. My slides and notebook are available at: PyData 06/14/2016 in Paris.

2016-06-14 Post de Microsoft sur le hackathon avec l'ENSAE et la Croix-Rouge

Je relaie les deux articles publiés par Microsoft à propos de la série de hackathons académiques dont celui organisé à Paris avec l'ENSAE et La Croix-Rouge : Developing the Next Wave of Data Scientists, Firing up next-generation data scientists. Le premier article contient un lien vers les vidéos réalisées pour chaque événement.

J'ai participé à celui-ci.

2016-06-10 Lectures et algorithmes un vendredi

Je commencerai par le plus facile : Dans la vallée de la Bièvre, la crue et les inondations ont été contenues. En bref, 18 km de rivière sont régulées par des vannes commandées par un algorithme. Et cela a fonctionné.

Côté programmation, TensorFlow commence à faire des petits. En voici un : tflearn qui propose une API Python différente pour les fonctionnalités de TensorFlow. De fil en aiguille, on remonte jusqu'au compte GitHub de l'auteur pour tomber sur des exemples avec TensorFlow et un autre site Machine Learning & Deep Learning Tutorials. C'est sans doute un peu moins poli que celui-ci Free Kaggle Machine Learning Tutorial for Python. Ensuite, CVXPY est un module qui permet de faire de l'optimisation convexe avec ou sans contrainte. Pour fermer cette parenthèse, je vous suggère de retourner sur Kaggle avec le script de la semaine May 2016: Scripts of the Week, February 2016: Scripts of the Week.

Pour finir, quelques articles très récents. Le premier pour comprendre comment fonctionnent les enchères sur internet Learning Algorithms for Second-Price Auctions with Reserve. Le second pour avoir envie de faire autre chose que de la sélection de variables : Structure-Leveraged Methods in Breast Cancer Risk Prediction. Le troisième parce que j'ai toujours eu envie d'étudier les sessions des utilisateurs d'un moteur de recherche d'une façon différente : A Gibbs Sampler for Learning DAGs. DAG veut dire directed acyclic graph. Le quatrième parce que je suis curieux : Consistent Distribution-Free K -Sample and Independence Tests for Univariate Random Variables. Le cinquième pour le titre : Learning Using Anti-Training with Sacrificial Data". Enfin, dans les sujets en vogue, l'apprentissage par renforcement : Thompson sampling et An Information-Theoretic Analysis of Thompson Sampling.

2016-06-09 Old R or Young Python?

Python was conceived in 1990 (source Wikidepia). Not so young maybe compare to R which is in fact younger but inspired from a much older language S born around 1975. Why bringing back this question when every data scientist knows both, when universities teach both? Difficult to say which one is best according to R and python usages. According to Top Data Scientists to Follow & Best Data Science Tutorials on GitHub, Python seems to be more popular among the top data scientist on GitHub. But is there any competition? Choosing R or Python for data analysis? An infographic

So...

Every data scientist is using both language but all of them are using mostly one. Then a former student told me that little story. His company was using R as a preferred language but as new hires joined, Python became more and more popular. I was thinking maybe we should compare the average age of people mostly using one or the other.

2016-05-29 Longitude, latitude et les carreaux de l'INSEE

Les données carroyées à 200 mètres, produites par l'INSEE, contiennent 18 variables sur la structure par âge des individus, les caractéristiques des ménages (locataire/propriétaire, etc.) et les revenus au 31 décembre 2010 pour chaque zone ou carreau de 200 mètres de côté d'un quadrillage qui recouvre le territoire français, territoire d'outre mer compris.

Un des inconvénients relève du système de coordonnées utilisé pour la métropole, LAEA (Lambert Azimutal Equal Area code EPSG 3035) d'après la documentation générale (voir également Documentation complète sur les données carroyées à 200 mètres). Il faut le plus souvent les convetir en longitude/latitude pour tracer des cartes avec les librairies existantes en Python (basemap par exemple).

Comment trouver un code python qui permettent d'effectuer cette conversion ?


more...

2016-05-25 2 Challenges Big Data

Data Science Game 2016 C'est une compétition internationale regroupant des équipes de 4 étudiants d'une même école (doctorants inclus !). L'évènement étant en partie créé par l'ENSAE, l'école se doit d'y participer! Princeton, la National University of Singapour, Télécom ou la TSE se sont déjà inscrits... Bref, l'évènement est parrainé par Capgemini et Microsoft, il y aura du beau monde et de la visibilité !

Paris Summer Innovation Fellowship En partie organisé par Data for Good x Bayes Impact, c'est un programme d'innovation intensif de 2 semaines pour vous permettre de développer un projet de data science à impact social. Les participants recevront une bourse de financement et des conseils d'experts tels que Paul Duan (fondateur de Bayes Impact), Rand Hindi (fondateur de Snips) ou Max Song (ex genetic engineer à la NASA). Ça se déroule dans les superbes locaux de FiveByFive (Paris 10ème) avec une présentation prévue à la mairie de Paris en septembre.

A propos des Big Data, Olivier Grisel (un des concepteurs de scikit-learn) est passé sur France Inter dans la tête au carré Nos vies à l'heure des "big data".

2016-05-22 GEOFLA, Lambert 93 projection

I was trying to use the files GEOFLAî Départements to draw a map and my first try left the map empty. I then discovered that the coordinates were expressed with Lambert 93 projection. A couple of searches later, I found a couple of versions of the same function in Javascript, PHP or Python. Here is the one I finally chose and modified: lambert93_to_WGPS. After conversion, the file can be used more easliy with module basemap.


<-- -->

Xavier Dupré