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

R Discussion :

Les outils (de base) de classification


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut Les outils (de base) de classification
    Bonjour,

    J'ai besoin de votre aide pour résoudre un petit problème classification. Je ne connais pas les outils (de base) que propose R... et je suis certain qu'il en existe beaucoup

    Voici un petit problème de type "hello word" de classification.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    V1 <- c( rnorm(n=100,mean=4) , rnorm(n=100,mean=-4) , rnorm(n=100))
    V2 <- c( rnorm(n=100,mean=4) , rnorm(n=100,mean=-4) , rnorm(n=100))
    V3 <- c( rnorm(n=100,mean=4) , rnorm(n=100,mean=-4) , rnorm(n=100))
    V4 <- c( rnorm(n=100,mean=4) , rnorm(n=100,mean=-4) , rnorm(n=100))
     
    datas <- data.frame(V1=V1 , V2=V2 , V3=V3 , V4=V4)

    Il y a donc ici dans "datas": 300 échantillons, 4 variables et trois classes.

    Pourriez-vous svp me montrer les méthodes (simple, basique) pour trouver les 3 classes.

    merci!

  2. #2
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    Bonjour,

    Pour commencer une piste (sans doute parmi d'autres) : Et en bonus une petite méthode (un peu trop) artisanale pour trouver le nombre optimal de groupes
    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
    n.1 <- nrow(datas)
    # find the within group sum of squares (ss) for all the data:
    wss1.1 <- (n.1-1)*sum(apply(datas, 2, var))
     
    # Calculate the within group ss for 2 to 15 group partitions given by K-mean clustering:
    wss.1 <- numeric(0)
    for(i in 2:15){
       w <- sum(kmeans(datas, i, iter.max=100, nstart=25)$withinss)
       wss.1 <- c(wss.1, w)
    }
     
    wss.1 <- c(wss1.1, wss.1)
     
    ## Looking for abrupt changes in the slope:
    plot(1:15, wss.1, type="l", xlab="Number of groups",
         ylab="Within group sum of squares", main="Find the break...", lwd=2)
    Bon, bin là, pas de doute, c'est 3

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut
    merci :-)

  4. #4
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    Re,

    Concernant les classifications hiérarchiques : Voir également les packages cluster et mclust... Et d'une manière générale, tous ceux chargés par le package clValid qui - avec la fonction éponyme - permet de comparer plusieurs méthodes.
    Concernant ce dernier, jeter également un œil à la fonction optimalScores().

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut
    Bonjour,

    J'ai 2 petite questions si vous me le permettez.
    1-que représente au juste le WSS pour un cluster.


    3- Est ce que vous avez d'autres références concernant les fonctions de validation du clustering sous R , nottament Kmeans, Cmeans....

    Merci à l'avance.


    Citation Envoyé par pitipoisson Voir le message
    Bonjour,

    Pour commencer une piste (sans doute parmi d'autres) : Et en bonus une petite méthode (un peu trop) artisanale pour trouver le nombre optimal de groupes
    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
    n.1 <- nrow(datas)
    # find the within group sum of squares (ss) for all the data:
    wss1.1 <- (n.1-1)*sum(apply(datas, 2, var))
     
    # Calculate the within group ss for 2 to 15 group partitions given by K-mean clustering:
    wss.1 <- numeric(0)
    for(i in 2:15){
       w <- sum(kmeans(datas, i, iter.max=100, nstart=25)$withinss)
       wss.1 <- c(wss.1, w)
    }
     
    wss.1 <- c(wss1.1, wss.1)
     
    ## Looking for abrupt changes in the slope:
    plot(1:15, wss.1, type="l", xlab="Number of groups",
         ylab="Within group sum of squares", main="Find the break...", lwd=2)
    Bon, bin là, pas de doute, c'est 3

  6. #6
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    Citation Envoyé par dz_robotix Voir le message
    1-que représente au juste le WSS pour un cluster.
    WSS = Within sum of squares, soit la somme des carrés des écarts à la moyenne...
    comme le suggère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wss1.1 <- (n.1-1)*sum(apply(datas, 2, var))
    Sur plusieurs variables, ce doit être la somme des distances au barycentre du groupe, au carré.
    Citation Envoyé par dz_robotix Voir le message
    3- Est ce que vous avez d'autres références concernant les fonctions de validation du clustering sous R , nottament Kmeans, Cmeans....
    Toute aide bien faite d'une fonction statistique doit comporter des références.
    Pour K-means par exemple, faire
    pour accéder à l'aide.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut
    Merci beaucoup petit Poisson,

    J'ai utilisé la fonction fclustIndex pour valider mon clustering avec cmeans,...
    Mais j'obtiens cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Erreur dans solve.defalt(scatteer[, , i]): sous programme Lapack dgesv : le systeme est exactement singulier.
    une idée sur ça?

    merci d'avance.


    Citation Envoyé par pitipoisson Voir le message
    WSS = Within sum of squares, soit la somme des carrés des écarts à la moyenne...
    comme le suggère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wss1.1 <- (n.1-1)*sum(apply(datas, 2, var))
    Sur plusieurs variables, ce doit être la somme des distances au barycentre du groupe, au carré.

    Toute aide bien faite d'une fonction statistique doit comporter des références.
    Pour K-means par exemple, faire
    pour accéder à l'aide.

  8. #8
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    Citation Envoyé par dz_robotix Voir le message
    J'ai utilisé la fonction fclustIndex pour valider mon clustering avec cmeans,...
    Mais j'obtiens cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Erreur dans solve.defalt(scatteer[, , i]): sous programme Lapack dgesv : le systeme est exactement singulier.
    une idée sur ça?
    Je ne peux pas te répondre sans voir le code qui génère l'erreur (et même avec, je n'en suis pas certain).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Outil pour lister les objets de base
    Par kouillo dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 24/10/2011, 10h55
  2. Réponses: 0
    Dernier message: 21/06/2010, 15h28
  3. Réponses: 0
    Dernier message: 25/05/2010, 15h29
  4. Base sur les outils de Reporting
    Par briantyo dans le forum Autres outils décisionnels
    Réponses: 1
    Dernier message: 18/04/2007, 10h09
  5. [BDE] [D2005] Comment avoir les outils base de donnée
    Par melles dans le forum Bases de données
    Réponses: 7
    Dernier message: 18/09/2006, 10h57

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