Isolation Forest comment ça marche ?

Détecter des valeurs atypiques ou extrêmes grâce aux forêts d’isolations (Isolation Forest une méthode de machine learning non supervisée)

Présenter l'algorithme isolation forest

Isolation Forest (forêt d’isolation) est un algorithme de machine learning qui permet de détecter des valeurs atypiques dans un dataset. C’est par exemple une méthode qui donne de bons résultats pour la détection de fraude en identifiant des cas atypiques.

C’est une méthode multi-dimensionnelle assez simple à comprendre (moi en tout cas j’aime beaucoup). Pour en savoir plus sur le fonctionnement de l’algorithme d’isolation forest c’est par ici.

Lire la suite de « Isolation Forest comment ça marche ? »

Mesurer la performance d’un modèle : Accuracy, recall et precision

Dans mon article sur la performance des modèles je vous présentais la démarche à suivre pour mesurer la performance de vos algorithmes. Il est temps de voir plus en détail quelques uns des indicateurs qui peuvent être utilisés pour y parvenir. Dans cet article, je vais vous présenter 3 indicateurs, adaptés pour évaluer la performance d’un modèle de classification et qui sont calculés à partir de la matrice de confusion. Ils sont assez simples à comprendre et sont très complémentaires : l’accuracy, le recall et la precision

Lire la suite de « Mesurer la performance d’un modèle : Accuracy, recall et precision »

Comment mesurer la performance d’un modèle ?

Dans cet article j’ai envie de vous parler de la performance des modèles au sens large (classification ou régression). Il y a déjà pas mal d’articles pour comprendre les algorithmes (Arbre de décision, Random Forest, Gradient Boosting, …) mais je n’avais pas encore abordé leur évaluation. Pourtant c’est un sujet essentiel. Peu importe votre projet, vous serez forcément amené(e) à devoir évaluer la performance de votre modèle pour mesurer les risques mais également pour comparer plusieurs algorithmes ou plusieurs versions de votre algorithme. Dans cet article je vais vous présenter la démarche globale de mesure de la performance des modèles puis plusieurs articles vous présenteront ensuite les indicateurs à utiliser en fonction du type de modèles.

Lire la suite de « Comment mesurer la performance d’un modèle ? »

Interprétez vos modèles avec LIME

Avez-vous remarqué que les modèles « complexes » comme Random Forest, Gradient Boosting ou Neural Network sont de plus en plus accessibles? C’est une bonne chose puisque ces algorithmes donnent généralement de très bons résultats. En revanche, un de leur inconvénient c’est leur effet Black Box : impossible d’expliquer dans le détail les règles de calcul de ces modèles.

Bien sûr on peut calculer l’importance des variables pour expliquer un peu le modèle mais sans aide il est difficile d’aller plus loin. Et cette aide, ce sont les modèles d’interprétabilité (interpretability) qui vont nous l’apporter.

J’ai testé LIME (Local Interpretable Model-Agnostic Explanations) qui est une librairie Python et je vous en parle dans cet article.

Lire la suite de « Interprétez vos modèles avec LIME »

Règles d’association comment ça marche ?

lovely analytics règles d'association.png

Quand on parle de règles d’association on a souvent en tête l’exemple du panier de supermarché. Je suis sûre que vous avez déjà entendu qu’on avait mis en évidence que l’achat de couche pour bébé le week end impliquait aussi l’achat de bières.

En bref les règles d’association sont des règles du type A implique B. Et sont effectivement souvent utilisées dans l’analyse de paniers d’achats ou pour des outils de recommandation.

Lire la suite de « Règles d’association comment ça marche ? »

Classification bayésienne naïve comment ça marche?

lovely analytics classification bayésienne naive.png

Et si on s’intéressait à un nouvel algorithme de machine learning pour essayer de comprendre comment ça marche. Aujourd’hui ce sera la classification bayésienne naïve (Naive Bayes classifier), un modèle assez simple, robuste et rapide qui se base sur le théorème de Bayes. Cet algorithme est à utiliser pour les problématiques de classement avec des variables explicatives qualitatives. On peut l’utiliser par exemple pour prédire la probabilité d’acheter un produit connaissant les habitudes d’achat dans le passé.

Lire la suite de « Classification bayésienne naïve comment ça marche? »

Comment traiter les valeurs manquantes ?

lovely analytics missing value.pngDans une base de données, il arrive que des données soient manquantes : elles ne sont pas renseignées pour tous les individus. Ce qui rend les choses un peu plus complexes, c’est qu’il y a plusieurs manières de considérer et de traiter (on parle d’imputation des données) ces données manquantes selon les cas. La plus simple et la moins contraignante serait de supprimer les lignes qui contiennent une valeur manquante. Mais attention on risque vite d’éliminer beaucoup d’individus et de se retrouver avec des données qui ne sont plus représentatives.

Lire la suite de « Comment traiter les valeurs manquantes ? »

Comment faire quand la CAH est dépassée?

3 solutions pour faire des clusters avec de gros volumes de données

lovely analytics CAH.png

La CAH permet de créer des groupes d’individus homogènes, c’est une méthode de clustering et elle donne vraiment de bons résultats. L’inconvénient de cette méthode c’est que les temps de calcul peuvent être très longs lorsque le nombre de clients à segmenter augmente. Certains outils refusent même de calculer une CAH à partir d’un certain seuil.

Problème : Comment faire un clustering efficace quand le nombre d’individus devient tellement important qu’on ne peut plus utiliser la CAH?

Lire la suite de « Comment faire quand la CAH est dépassée? »

Optimiser un modèle avec Grid Search

Grid Search 3La plupart des modèles de machine learning doivent être paramétrés pour donner les meilleurs résultats. Par exemple pour un Random Forest, on doit choisir le nombre d’arbres à créer et le nombre de variables à utiliser à chaque division d’un noeud. Si on paramètre à la main, cela peut vite s’avérer très coûteux en temps (et pas forcément très intéressant) …

C’est là que le Grid search intervient. C’est une méthode d’optimisation (hyperparameter optimization) qui va nous permettre de tester une série de paramètres et de comparer les performances pour en déduire le meilleur paramétrage.

Lire la suite de « Optimiser un modèle avec Grid Search »

Random Forest, tutoriel pas à pas avec R

Apprenez à utiliser un Random Forest avec R

lovely analytics Random Forest

L’algorithme Random Forest (forêt aléatoire) fait partie de la famille des modèles d’agrégation et donne de très bons résultats dans la plupart des problématiques de prédiction. Je vous propose dans ce tutoriel de voir comment appliquer un algorithme Random Forest avec R de la préparation des données jusqu’à la restitution des résultats.

Lire la suite de « Random Forest, tutoriel pas à pas avec R »

Réseau de neurones comment ça marche ?

lovelyanalytics Réseaux de neuronesS’il y a un algorithme qui fait parler de lui en ce moment, un algorithme que tout le monde veut afficher fièrement sur son CV, c’est bien celui du réseau de neurones (Neural Network). C’est l’algorithme de base qui se cache derrière le Deep Learning et les intelligences artificielles. Il est souvent utilisé pour les reconnaissances d’image et de voix. Mais sans aller jusque là, je vous propose de comprendre comment les réseaux de neurones fonctionnent pour pouvoir les utiliser. Alors accrochez vous, à la fin de l’article vous saurez comment ça marche. 

Lire la suite de « Réseau de neurones comment ça marche ? »

Ni boîte noire Ni usine à gaz

Simplifiez la Data science !

lovelyanalytics_boite_noire

Un data scientist doit maitriser de nombreux aspects : la collecte, la préparation des données, l’analyse, les algorithmes, les outils, la dataviz, la restitution, … Les sujets ne sont pas simples, c’est sûr et cela demande un réel effort de comprendre et d’expliquer simplement le fonctionnement des algorithmes comme les réseaux de neurones ou les forêts aléatoires. Souvent face à ces difficultés on rencontre 2 comportements : la boîte noire et l’usine à gaz qui sont tous 2 de très mauvais choix. Je vous explique ce que c’est et comment éviter de tomber dans ces pièges.

Lire la suite de « Ni boîte noire Ni usine à gaz »

CAH : Classification ascendante hiérarchique

Apprenez à utiliser simplement une CAH en comprenant le fonctionnement de l’algorithme.

Exemple de dendrogramme pour une CAH

La CAH (classification ascendante hiérarchique) est un algorithme de machine learning de la catégorie non supervisée. Comme les k-means, elle permet d’identifier des groupes homogènes dans une population, on parle aussi de clustering. C’est une de mes méthodes préférées. Nous allons voir quels sont les avantages et les inconvénients de la CAH, quand l’utiliser avec des explications simples sur son fonctionnement.

Lire la suite de « CAH : Classification ascendante hiérarchique »

Comment identifier les spécificités d’une sous-population ?

L’indice base 100 est mort, vive la valeur test

lovely-analytics-sous-populationLe profiling c’est un grand classique de l’analyse de données. L’objectif est de décrire le profil d’une population et de mettre en avant ses spécificités par rapport à une population de référence. Par exemple on peut analyser le profil de nos clients par rapport à la population française pour identifier le coeur de cible de notre marque. Ou on peut comparer les différents segments d’une segmentation client (pour en savoir plus sur la segmentation : ici, ou ici )

Souvent les chargés d’études utilisent les indices base 100 pour comparer les populations. Je suis absolument contre l’utilisation de ces index qui ne prennent absolument pas en compte la significativité. J’utilise toujours les valeurs tests. Je vous dis pourquoi et comment les calculer.

Lire la suite de « Comment identifier les spécificités d’une sous-population ? »

Suivre sa segmentation client avec un diagramme de Sankey

lovely-analytics-sankey-diagram

Et si on dépoussiérait l’analyse de segmentation client? Fini les vieilles matrices de passage. Vous voyez de quoi je parle? Quand vous faites une segmentation client, il faut suivre son évolution dans le temps pour vérifier que le plan d’actions que vous avez mis en place vous permet bien d’être plus performant. Pour cela vous voudrez vérifier que les segments à faible valeur diminuent au profit d’autres segments plus importants.

Lire la suite de « Suivre sa segmentation client avec un diagramme de Sankey »

Comment réussir sa segmentation client?

segmentation-clientUn grand classique du marketing c’est la segmentation client. Il en existe plusieurs sortes mais elles ont toutes le même objectif, celui de passer d’une vision complexe et individuelle des clients à une vision agrégée en créant des groupes de clients suivant leur ressemblance. Certains pièges sont à éviter pour construire une segmentation efficace pour les équipes marketing

Lire la suite de « Comment réussir sa segmentation client? »

Gradient Boosting, comment ça marche?

gradient-boosting

Après le Bagging et l’algorithme Random Forest j’avais envie de creuser un peu plus le boosting avec le cas particulier de l’algorithme Gradient Boosting Machine (GBM).

Il s’agit là encore d’une méthode d’agrégation de modèles et je vous propose de découvrir le principe de fonctionnement de cet algorithme.

Lire la suite de « Gradient Boosting, comment ça marche? »

k-means, comment ça marche?

k-means


Le k-means est un algorithme de clustering, en d’autres termes il permet de réaliser des analyses non supervisées, d’identifier un pattern au sein des données et de regrouper les individus ayant des caractéristiques similaires. C’est une méthode simple et rapide.

Le cas d’usage le plus classique pour les méthodes de clustering c’est la segmentation client. On peut aussi les utiliser de manière plus descriptive pour comprendre et synthétiser une population. En revanche, pour construire une segmentation client robuste, avec plusieurs axes je vous recommande plutôt d’utiliser la classifiation ascendante hiérarchique ou la méthode mixte. Lire la suite de « k-means, comment ça marche? »

Arbre de décision, comment ça marche?

Illustration arbre de décision

L’arbre de décision (decision tree en anglais) c’est un algorithme de machine learning facile et interprétable, idéal quand on débute en Data Science. Nous allons voir quels sont ses avantages et inconvénients, quand l’utiliser avec des explications simples sur son fonctionnement.

Lire la suite de « Arbre de décision, comment ça marche? »

Comment créer un échantillon représentatif ?

Comment réaliser un échantillon représentatif, quelle méthode utiliser?

Echantillonnage.pngAvec les technologies Big Data il n’est plus nécessaire d’échantillonner les données, on peut utiliser directement des algorithmes distribués sur des données massives.

Est ce qu’il faut pour autant oublier les bonnes vieilles méthodes d’échantillonnage? Of course not! Il y a bien d’autres contextes pour lesquels vous serez amenés à échantillonner. Par exemple pour extraire un échantillon de client pour faire des tests sur un produit, une offre, un email, ou pour réaliser une enquête de satisfaction, un sondage, …

L’échantillonnage, un seul objectif avoir un échantillon représentatif de la population. Comment s’y prendre?

Lire la suite de « Comment créer un échantillon représentatif ? »

Et pourquoi pas un Treemap?

Les treemap permettent d’avoir une représentation hiérarchique de vos données

Treemap

Dans mon précédent article 5 conseils pour présenter vos résultats d’analyses je parlais de Treemap. De premier abord ce type de graphique peut paraître compliqué voire inutile s’il n’est pas utilisé pour la bonne problématique. Pourtant comme la plupart des visualisations, si vous savez l’utiliser à bon escient il deviendra un véritable allié de vos tableaux de bords.

Lire la suite de « Et pourquoi pas un Treemap? »

Qu’est ce que le Process Mining?

Le process Mining est une combinaison des méthodes de BPM et de datamining

process-mining

Le Process Mining est une discipline qui se positionne entre l’analyse de processus (BPM) et l’analyse de données (machine learning, big data,…)

Pour faire simple c’est le fait d’utiliser des méthodes d’analyse de données sur des problématiques liées à un processus pour l’optimiser. Lire la suite de « Qu’est ce que le Process Mining? »