1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : février 2017
    Messages : 1
    Points : 1
    Points
    1

    Par défaut Comment aborder un problème d'analyse de données ?

    Bonjour à tous.

    J'aurais une petite question à poser aux experts du domaine que vous êtes

    Je voudrais utiliser un algorithme de data mining (pour commencer, un algorithme assez basique, disons K-Means) sur une base de données clients (plusieurs millions de lignes).
    Comment aborderiez-vous le problème pour éviter la lenteur de l'exécution d'un algorithme de data mining ?

    Plus globalement, quelle est la meilleure méthode d'aborder un problème de data mining? en partant seulement du fait que j'ai une base de données et un objectif (Par exemple, est-ce que mon client est un client reviendra dans mon magasin dans les 3 prochains mois?).

    J'espère avoir été clair dans ma question,
    Merci à tous,
    Bonne journée.

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur en études décisionnelles
    Inscrit en
    février 2013
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur en études décisionnelles

    Informations forums :
    Inscription : février 2013
    Messages : 110
    Points : 260
    Points
    260

    Par défaut

    Hello,

    Désolé pour la réponse un peu tardive, mais la question est assez complexe et c'est difficile de répondre en quelques mots.

    Déjà quelque chose me gêne. Tu parles de k-means, et ensuite, tu indiques que tu as un objectif : "est-ce que mon client reviendra dans 3 mois" ?
    Les k-means sont un algorithme de classification non supervisé. Cela veut dire que tu ne connais pas les classes, les "groupes d'individus", que tu vas avoir à l'avance.
    Ici, tu es dans le cadre d'une classification supervisée, car tu as une question, un objectif, et tu connais déjà les groupes que tu vas avoir ("il revient dans 3 mois" ou "il ne revient pas dans 3 mois").
    Il faut donc se tourner vers d'autres méthodes qui répondront mieux à ce que tu recherches.


    Ton but final est la modélisation. Soit. Dans un premier temps, il y a quelques étapes :
    • La préparation des données (traiter les valeurs manquantes, les valeurs aberrantes, la cohérence des données / traiter les individus un peu extrêmes et les mettre de côté si besoin, car ils peuvent focaliser l'analyse statistique sur leur particularité)
    • Créer des variables intéressantes : tu peux typiquement créer ta variable à expliquer en binaire (0/1) par rapport à ton historique, ou créer/calculer de nouvelles variables explicatives
    • L'exploration des données : faire des traitements descriptifs, analyser la répartition des données selon que ta variable à expliquer soit 0 ou 1.
    • Discrétiser les variables continues, pour pouvoir utiliser davantage de méthodes statistiques (mais s'il y a plus de quantitatives continues que de qualitatives, ça vaut peut-être le coup de ne pas les discrétiser et d'utiliser des algorithmes plus adaptés, comme des arbres de régression : tout dépend de ton jeu de données !)
    • Analyser le lien entre les variables explicatives : ca te permettra d'en savoir plus sur ton jeu de données et d'écarter les variables qui ont trop de lien entre elles (cela nuit à la qualité des modèles)
    • Des analyses descriptives multivariées : ACP, AFC, ACM...
    • La sélection des variables suite à ton analyse descriptive : mettre 300 variables dans le modèle et voir ce qu'il en sort, ça complexifie
    • ... et tout ce qui sera nécessaire pour appréhender la complexité de ton jeu de données


    Cette partie peut déjà permette d'apprendre énormément.


    Concernant la modélisation.
    Tu as plusieurs millions de lignes, tu vas pouvoir te faire plaisir.

    Un modèle peut mettre du temps à être construit, mais tout dépend de ton nombre d'individus et de variables...
    Si tu ne maîtrises pas encore ce genre de techniques, que tu n'as aucun script existant à dispo, je commencerais simple. Tu peux parfaitement te faire la main sur un nombre restreint d'observations (si c'est échantillonné correctement). Cela te permettra d'essayer et de réessayer, jusqu'à maîtriser ce que tu fais. N'oublie pas de prendre des données assez récentes : les habitudes de consommation peuvent changer dans le temps...

    A terme, il est envisageable de prendre de plus en plus de lignes. Et si à un moment, les temps de traitements deviennent vraiment énormes, faire faire les calculs par des clusters. J'avoue n'avoir pas encore eu l'occasion de tester. Mais globalement, ça peut se louer pour des utilisations ponctuelles...


    Tu peux déjà séparer tes observations en deux échantillons : un d'apprentissage, un autre de validation.
    L'idée, c'est de construire un ou plusieurs modèle(s) (régression logistique, arbre de décision, forêts aléatoires, AFD.. sur une 0/1) sur l'échantillon d'apprentissage.
    Par la suite, le valider sur l'échantillon de validation, et comparer le taux de "bons prédits" et le taux de "mauvais prédits". Typiquement, cela se fait par la superposition de courbes ROC. A la fin, tu choisis le meilleur modèle. Tu pourras alors l'appliquer sur de nouvelles observations "entrantes".

    NB : on voit parfois parler de trois échantillons : un d'apprentissage, un de validation, un de test. Je te laisse te renseigner.


    Pour l'étape de création du modèles, je ne saurais que trop te conseiller de te renseigner sur la validation croisée ("cross-validation") qui donne de bons résultats.


    Pour moi, un bon ouvrage de référence est "Modélisation prédictive et Apprentissage statistique avec R", de Stéphane Tufféry.
    Il y déroule une étude de data-mining en se concentrant sur la partie modélisation, c'est vraiment inspirant, même si tu n'utilises pas R.

    Bon courage

    Emmanuel

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/10/2016, 14h40
  2. [XL-2010] Comment analyser les données d'une combobox?
    Par VinceVDB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/12/2012, 20h58
  3. Réponses: 1
    Dernier message: 13/01/2009, 11h14
  4. Réponses: 5
    Dernier message: 11/05/2007, 11h00
  5. Réponses: 1
    Dernier message: 22/12/2005, 09h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo