IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Clustering avec contrainte sur le nombre d'éléments


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur en science de l'environnement
    Inscrit en
    Août 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur en science de l'environnement

    Informations forums :
    Inscription : Août 2013
    Messages : 97
    Points : 149
    Points
    149
    Par défaut Clustering avec contrainte sur le nombre d'éléments
    Hello,

    J'ai une question concernant un problème de "location allocation".

    La problématique:

    J'ai environ 400 points répartis sur une portion de territoire. Chacun de ces points est définis par un nombre X de paramètres (ensoleillement, densité de population, nombre de moutons dans la zone...). Je cherche à effectuer un clustering qui puisse prendre en compte une condition.

    Exemple

    Je veux créer une clusterisation de ces points. Mais si on somme le nombre de moutons par cluster, ce nombre ne doit pas excéder 1000. Si un des clusters est pas exemple constituer de 40 points mais que la somme des moutons de ces 40 points dépassent 1000 alors il faut réduire la taille du cluster.

    Je connais différents moyens d'effectuer un cluster (PCA,k-means... etc) mais aucune de ces méthodes permet d'imposer une conditions. Toutes se basent uniquement sur la maximisation de la variance des paramètres.

    Connaissez-vous donc un algorithme/méthode capable d'intégrer une condition à une clusterisation ?

    Merci =)

  2. #2
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour Petchi,

    Ton problème me semble très spécifique et je ne sais pas si tu vas trouver un algorithme exact que tu cherches.

    Je pense que tu vas devoir toi même devoir implémenter une partie de ton problème.

    À l'aide d'un arbre de décision, ne peux-tu pas segmenter de nouveau les "grappes" que tu trouves trop importantes ? Ce qui n'est sans une solution sans effet de bord.

    Cordialement.

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut


    En y réfléchissant quelques secondes (moins de temps que la rédaction de ce message), je tenterais avec un nombre de groupes décroissant : d'abord avec k (le nombre de groupes que tu souhaites atteindre) ; si cette solution ne te satisfait pas, tu essaies avec k-1 : si un groupe ne satisfait pas ta condition, tu peux tenter de le séparer en deux, avec le même algorithme de groupement, mais uniquement sur ces données (si plusieurs groupes ne satisfont pas la contrainte, passer à k-2). C'est peut-être plus intelligent de décroître du nombre de groupes qui violent ta contrainte, à voir (les deux variantes ne doivent pas être compliquées à implémenter).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par petchi Voir le message
    Je connais différents moyens d'effectuer un cluster (PCA,k-means... etc) mais aucune de ces méthodes permet d'imposer une conditions. Toutes se basent uniquement sur la maximisation de la variance des paramètres.

    Connaissez-vous donc un algorithme/méthode capable d'intégrer une condition à une clusterisation ?
    Ben un paramètre à ajouter (si on considère ta condition comme un paramètre) pourrait être le nombre total dans le cluster, avec une variance = 0 tant que c'est inférieur à 1000, = 1 si supérieur (pas calculée mais forcée à ce chiffre).

    Sinon de toutes façons tu dois avoir une fonction dans les methodes de clustering dans laquelle tu peux insérer ce nombre total et rejeter cette solution si nb total > 1000, non ?

    Je ne connais pas les algos de clustering en tant que tels mais ça doit être faisable....
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

Discussions similaires

  1. Réponses: 12
    Dernier message: 14/04/2015, 17h07
  2. Modéle mixte avec contraintes sur les paramètres
    Par AstridG dans le forum SAS STAT
    Réponses: 6
    Dernier message: 18/02/2011, 10h46
  3. Réponses: 3
    Dernier message: 30/08/2010, 11h34
  4. Réponses: 0
    Dernier message: 30/10/2008, 12h29
  5. Réponses: 13
    Dernier message: 12/01/2006, 10h45

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