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

avec Java Discussion :

Classification hiérarchique ascendante


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 20
    Points
    20
    Par défaut Classification hiérarchique ascendante
    Bonjour,

    J'aimerais implémenter l'algorithme du classification hiérarchique ascendante de documents (CAH) en Java.

    Quelqu'un saurait-il me guider un peu ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Bonjour,

    Je ne connais pas cette algorithme, mais wikipédia peut aider:
    La classification ascendante hiérarchique (CAH)

    Celui-ci propose un implémentation en pseudo-code :
    Entrées:

    individus: liste d'individus
    nbClasses: nombre de classes qu'on veut obtenir au final

    Sortie:

    classes: liste de classes initialement vide, une classe est vue comme une liste d'individus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Pour i=1 à individus.longueur Faire
        classes.ajouter(nouvelle classe(individu[i]));
    Fin Pour
    Tant Que classes.longueur > nbClasses Faire
        // Calcul des dissimilarités entre classes dans une matrice triangulaire supérieure
        matDissim = nouvelle matrice(classes.longueur,classes.longueur);
        Pour i=1 à classes.longueur Faire
            Pour j=i+1 à classes.longueur Faire
                matDissim[i][j] = dissim(classes[i],classes[j]);
           Fin Pour
        Fin Pour
        // Recherche du minimum des dissimilarités
        Soit (i,j) tel que matDissim[i][j] = min(matDissim[k][l]) avec 1<=k<=classes.longueur et k+1<=l<=classes.longueur;
        // Fusion de classes[i] et classes[j]
        Pour tout element dans classes[j] Faire
            classes[i].ajouter(element);
        Fin pour
        supprimer(classes[j]);
    Fin Tant Que
    Je te propose de traduire cela en java. Si tu as besoin d'aide n'hésite pas.
    Si tu as un implémentation de ce code qui fonctionne n'hésite pas non plus à l'ajouter à wikipédia.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    Merci Patrick Kolodziejczyk
    je vais essayer

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    je n'arrive pas à résoudre l’algorithme de CAH

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Bonjour,

    et tu as quelque chose à dire, à propos des problèmes que tu rencontres ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    Bonjour,
    je veux classer des nombres réel qui présentent la pertinence des documents que j'ai.
    Donc je doit classer ces scores pour les regrouper en document qui ont des scores très élevé, moyenne et faible
    je doit les classer avec l'algorithme CAH en Java

  7. #7
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    je n'arrive pas à résoudre l’algorithme de CAH
    Qu'à tu fait ? Peux-tu nous montrer un morceau de code ? (même bugger)
    Pour t'aider, il nous faut de quoi discuter.

    Donne nous ce que tu as fait et non ce que tu dois faire. Nous t'aiderons à aller de ce que tu as à ce que tu veux.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    package cah;
    import java.math.*;
    import java.io.*;
    import index.Document;
    import searcher.Searcher;

    public class CAH
    {
    int i,j,n;


    // mp : matrice 2 lignes qui contient les doc et leurs poids;
    for ( i=0 ; i<n ; i++ )
    {
    mp[i][0] := getDocument();
    mp[i][1] := getPertinence();
    }
    // m : matrice qui contient les doc avec la diff des poids % au doc;
    m[0][0]:=0;
    for (i=1; i<n; i++)
    {
    m[i][0] := mp[i][0];
    m[0][i] := mp[i][0];
    }
    for (i=0; i<n; i++)
    {
    m[i,j] := Math.abs( mp[i][1] - mp[j][1] );
    }
    // recherche min;
    for (i=1;i<n-1;i++)
    {
    for (j=2; j<n ; j++)
    {

    }
    }

    }
    je doit chercher a chaque fois le min entre deux poids (pertinence) puis les fusionner. Chaque fois deux a deux jusqu’à j'arrive a séparé les documents pertinent et non pertinent selon leur pertinence
    ----
    Cette méthode commence par le regroupement des deux éléments les plus similaires, on continu par le rapprochement jusqu’au regroupement complet de tous les éléments en un seul groupe. Cette action ce fait par le regroupement des scores deux à deux.
    Algorithme :
    1- C :=1
    2- Pour i : 1 à n faire
    3- Gi := {xi}
    4- Fin pour
    5- Faire
    6- Trouver les deux groupes les plus proches Gi de Gj
    7- Fusionner Gi et Gj
    8- C := C-1
    9- Jusqu'à (C==1)
    10- Fin.

    comment je doit continuer mon programme ???

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/05/2015, 00h46
  2. Réponses: 1
    Dernier message: 29/02/2012, 12h33
  3. classification hiérarchique ascendante
    Par helmouch dans le forum MATLAB
    Réponses: 11
    Dernier message: 02/05/2011, 10h20
  4. Problème de classification hiérarchique
    Par carine974 dans le forum R
    Réponses: 0
    Dernier message: 12/02/2009, 16h54
  5. Classification hierarchique ascendante
    Par MBAYE BABACAR GUEYE dans le forum MATLAB
    Réponses: 6
    Dernier message: 28/08/2008, 12h41

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