mercredi 26 avril 2017

Probabilités et quantiles sous Excel, R et Python

J’utilise indistinctement Excel, R et Python pour mes travaux dirigés (TD) de data mining et de statistique à l’Université. Souvent, je demande aux étudiants de procéder à des tests d’hypothèses pour éprouver la significativité d’un ou plusieurs coefficients dans un modèle prédictif, ou encore pour calculer les intervalles de confiance de prédiction en régression, etc.

Nous sommes sur machine, il est bien évidemment hors de question d’aller consulter les tables statistiques pour obtenir les quantiles ou les p-value des lois de probabilités couramment utilisées. Dans ce tutoriel, je présente les principales fonctions pour les lois normales, Student, KHI-2 et Fisher. Je me suis en effet rendu compte que les étudiants avaient parfois du mal à faire la correspondance entre la lecture des tables et l’utilisation des fonctions qu’ils ont du mal à identifier dans les logiciels. C’est aussi l’occasion pour nous de vérifier les équivalences entre les fonctions proposées par Excel, R (package stats) et Python (package scipy). Ouf ! Du moins sur les quelques exemples illustratifs de notre document, les résultats sont parfaitement cohérents.

Mots-clés : excel, r, package stats, python, package scipy, probabilités, p-value, p-valeur, valeur-p, quantile, fractile, loi normale, loi de student, loi du khi-2, loi de fisher
Document : Calcul des probabilités et quantiles

mardi 11 avril 2017

Détection de communautés sous Python

La détection de communautés dans les réseaux sociaux a pour objectif d’identifier les groupes d’individus entretenant des relations privilégiées. Ce thème connaît une recrudescence d’intérêt ces dernières années avec le développement des médiaux sociaux (Twitter, Facebook, etc.), multipliant les opportunités d’interactions entre les individus. Un réseau social est souvent représenté par un graphe où les sommets (nœuds) représentent les individus, les liens qu’il entretiennent sont matérialisés par les arêtes. Une communauté correspond à un groupe de nœuds présentant une forte densité de connexions.

Ce tutoriel vient en complément de mon support de cours accessible en ligne qui nous servira de référence. Nous nous plaçons dans une situation particulière où le graphe est non orienté, les liaisons entre les individus – lorsqu’elles existent – sont symétriques et non pondérées c.-à-d. les connexions ont tous la même intensité.

Nous travaillerons sous Python et nous utiliserons le package igraph.

Mots clés : web mining, fouille du web, réseaux sociaux, communautés, python, package igraph
Document : Détection de communautés sous Python
Données : Données Karaté et code prog. Python
Références :
Rakotomalala R., "Détection de communautés - Diapos", mars 2017.