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 et approximation de courbes


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Par défaut Clustering et approximation de courbes
    Bonjour à tous.

    Je cherche à analyser un graphique composé de points.
    Mon graphique, à première vue, peut être partionné en 3 amas de points distincts, chaque amas représentant une courbe du 3ème degré.
    Mes questions sont les suivantes :

    1. Comment distinguer ces 3 amas les uns des autres ?
    2. Comment, une fois "séparés" les uns des autres, obtenir 3 fonctions fittant au mieux les points situés dans chaque amas ?

    Algorithmiquement un clustering par k-mean me semble être une bonne idée pour obtenir ces amas.
    Pour l'approximation des courbes, c'est une autre histoire...

    En fait, je parcours le site Mathwork, ainsi que le help, mais il y a tellement de fonctions différentes que je ne sais pas trop lesquelles seraient adaptées à ce problème.

    Pourriez-vous me donner une indication ou des pistes à envisager ?

    Merci d'avance pour vos réponses !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Par défaut
    Personne ?

    J'aimerais vraiment parvenir à trouver un "cluster" par courbe. Ces courbes ne se croisent pas...

    Lorsque j'utilise kmeans, il me donne des clusters reprenant des points de ces deux courbes.

    Comment puis-je arriver à les distinguer l'une de l'autre ?

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Bonjour,

    peux-tu nous montrer une image de la disposition de tes points?

    Pour l'ajustement de tes courbes, si tu as accès à la curve fitting toolbox, elle est dédié à ce genre de problème. (sinon, tu peux jeter un coup d'oeil sur le matlab file exchange)
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Par défaut
    Voila.

    Comme vous le voyez, j'ai énormément de points (d'où l'aspect "épais" de mes traits).

    Idéalement, je souhaiterais obtenir deux clusters :

    1. Le premier avec le petit segment de droite tout au-dessus, et le second segment de droite en partant du dessus (donc celui juste après lui)
    2. Le second avec le segment de droite tout en bas

    Je voudrais ensuite fitter une courbe sur les points de chacun de ces clusters afin d'en comparer les équations...

    Pensez-vous que c'est possible ?
    Images attachées Images attachées  

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Tout d'abord, je commencerai par faire un peu de tri dans tes données : si j'ai bien compris, les nuages de point entre ton premier et deuxième segment sont inutile, tu peux donc les supprimer.

    Ensuite pour le kmean, je le ferai avec 3 clusters puis si il arrive trouver les trois, tu fusionnes les 2 du haut. Par contre je ne vois pas bien comment tu veux ajuster une courbe sur le premier nuage que tu as décrit.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Par défaut
    Merci Magelan pour tes conseils.
    Je vais essayer de supprimer les points inutiles.

    En ce qui concerne l'ajustement de la courbe, comment dire, je veux trouver une courbe qui va, grossièrement, me donner une idée générale de l'allure de mon "cluster de segments de droite". Par exemple, est-ce que ces segments forment une fonction plutôt linéaire, ou plutôt du second degré, etc.

    En fait, j'avais lancé un kmean pour k=3 un peu "comme ça" histoire de voir ce que la fonction MATLAB pouvait donner, et j'ai obtenu trois clusters que je décrirais comme ça : Mon graphique avait l'air divisé de manière très équitable en trois, comme si on l'avait divisé par 2 droites verticales (type drapeau français !). J'ai trouvé cela assez étrange...
    Peut-être dois-je aussi spécifier des paramètres particuliers afin qu'il ne prenne pas des données en "tas" mais plutôt des données étalées en longueur (type algorithme de Jarvis-Patrick, plus appliqué aux problèmes de clustering de data biologiques) ?

Discussions similaires

  1. Clustering et approximation de fonction
    Par nanath02 dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 12/01/2011, 13h30
  2. [Bézier] Approximation de courbes
    Par Cthulhu_RLyeh dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 26/10/2008, 16h33
  3. Réponses: 4
    Dernier message: 22/05/2007, 17h08
  4. approximation de courbes
    Par diam's dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 09/03/2007, 01h06
  5. approximation de courbe par des segments
    Par dseguret dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 27/02/2007, 21h03

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