Posts in 'informatique'

Créer un module python en C++ avec SWIG

Python n'étant pas connu pour sa rapidité, il existe plusieurs solutions pour exécuter du code compilé. Je citerai par exemple numba qui utilise des décorateurs dédiés ou encore cython qui permet d'écrire un module avec un langage mélangeant du python et du C.
Mais mon regard s'est porté récemment vers …

Du Rock, Wikidata et du SPARQL

Pouvez vous me citer toutes les personnes ayant eu un Oscar et le prix Nobel ? Quelles sont les lieux de naissance de toutes les célébrités se prénommant Antoine ? Trouvez moi tous les médicaments qui cible des gènes liés à la prolifération cellulaire ?
Ce genre de question peut être difficile à …

Créer votre propre langage avec textX en Python

Un DSL ( Domain Specific Language ) est un langage de programmation créé pour une tâche spécifique à l'inverse des langages de programmation usuels comme Python. On peut s'en servir par exemple pour créer des petits langages maison utilisés au sein d'une application.
Dans ce billet, je vais vous montrer en Python …

Explorer des données cartographiques avec osmium

Récemment j'ai été amené à devoir extraire toutes les cités en France ( que ce soit des villes, des villages ou des hameaux). j'ai d'abord cherché sur internet un dataset prémâché, mais j'ai vite constaté que ces données étaient souvent incomplètes par rapport aux cartes d'OpenStreetMap. J'ai donc voulu directement …

L'analyse en composante principale

L'analyse en composante principale ou PCA (Principal component analysis) est une méthode de réduction de dimension, largement utilisée en statistique descriptive, pour visualiser sur un graphique à 2 ou 3 dimensions des données décrites sur plus de dimensions. Dans ce billet, nous chercherons d'abord à comprendre le principe général avec …

Programmation par contrainte

On dit souvent qu'être fainéant est gage de qualité chez un programmeur. Dans le sens où il cherchera à résoudre un problème en tapant un minimum de ligne de code et en déléguant au maximum à sa machine. C'est encore plus vrai avec la programmation par contrainte. Contrairement à la …

Équation différentielle et python

Dans ce billet nous allons définir et apprendre à résoudre des équations différentielles ordinaires à l'aide du langage Python. Nous traiterons ensuite un cas pratique en modélisant une épidémie avec un modèle SIR pour faire écho à la situation actuelle.
PS: Je ne suis pas mathématicien, donc désolé pour mon …

Inférence bayésienne et python

Cela fait un moment que j'avais envie de publier sur l'inférence bayésienne. Mon intérêt pour ce sujet a été éveillé par la lecture du livre La formule du savoir par Nguyên Hoang Lê. En deux mots, l'inférence bayésienne est une méthode qui permet de donner une crédibilité à nos …

Les chaînes de Markov

Les chaînes de Markov sont très populaires en bioinformatique, en particulier lorsque l'on travaille avec des séquences biologiques. J'aime bien me les représenter comme des machines générant des symboles aléatoires (ou processus stochastique) dont la probabilité d'apparition de chacun dépend du précédent.
Dans ce billet, nous allons les définir et …

L'entropie et la théorie de l'information

L'entropie, et plus généralement la théorie de l'information, est un concept essentiel en informatique. Publié par Claude Shannon en 1948 dans "A mathematical theory of communication", cette théorie a permis l'essor des communications modernes en passant par la téléphonie jusqu'aux transmissions des données massives par internet. On trouve également cette …