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 :

Representation graphique du k means


Sujet :

R

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Points : 0
    Points
    0
    Par défaut Representation graphique du k means
    Bonsoir, s'il vous plaît qulqu'un peu m'aider à faire une représentation graphique de ce code-là :
    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
     
     
     
    require(cluster) 
    require(class)
    require(stats)
     
    options(max.print=1000000) 
     
    dat<-read.table("https://archive.ics.uci.edu/ml/machine-learning-databases/ionosphere/ionosphere.data",sep=",")
    names(dat) <- c('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35')
    head(dat)
    dat[order(dat[,"35"],decreasing=FALSE),]
     
     
     
    a <- kmeans(dat[,c(1:34)], 2) 
    table(a$cluster,dat[,35])
    Je sais que c'est la fonction plot mais je ne sais pas quel paramètre merci.

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

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

    Informations forums :
    Inscription : Février 2013
    Messages : 134
    Points : 351
    Points
    351
    Par défaut
    Bonjour,
    Déjà tu as un grand nombre de variables et plot ne permettra que de visualiser deux variables à la fois (nuage de point). Si tu veux tout visualiser plusieurs variables d'un coup, selon moi il faudrait effectuer une ACP (je te laisse le choix des paramètres), interpréter les premiers axes et représenter les coordonnées des deux premiers axes en x et y. De mémoire ça ressemble à quelque chose du genre res.acp$ind$coord[,1].

    Pour mettre de la couleur en fonction de la classe, tu peux utiliser le paramètre col de plot, comme ci-dessous.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(dat[,3],dat[,4],col=a$cluster)
    Bon courage.

  3. #3
    Membre averti
    Homme Profil pro
    Data Scientist
    Inscrit en
    Août 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data Scientist
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 139
    Points : 316
    Points
    316
    Par défaut
    Un lien qui pourrait t'intéresser avec des exemples pour de la classification.
    http://www.math.univ-toulouse.fr/~be...plo-bourse.pdf
    La classification peut être souvent représenté dans le plan d'une analyse en composante multiple.
    En espérant que cela puisse t'aider.

  4. #4
    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,

    Voilà du code pour afficher la classification de tes données après avoir exécuté une ACP.

    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
    20
    21
    22
    require(cluster) 
    require(class)
    require(stats)
    require(ade4)
     
    options(max.print=1000000) 
     
    dat<-read.table("https://archive.ics.uci.edu/ml/machine-learning-databases/ionosphere/ionosphere.data",sep=",")
    names(dat) <- c('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35')
    head(dat)
    dat[order(dat[,"35"],decreasing=FALSE),]
     
    deug.dudi <- dudi.pca(dat[,3:34], scannf = FALSE , nf=2)
     
    cl <- kmeans(deug.dudi$li, 2) 
    deug.dudi$li$cluster=factor(cl$cluster)
    centers=as.data.frame(cl$centers)
     
    library(ggplot2)
     
    p<-ggplot(data=deug.dudi$li, aes(x=Axis1, y=Axis2, color=cluster )) + geom_point() 
    p
    Comme Emmanuel le note, pour représenter plus lisiblement tes données, il serait bon de réduire le nombre de paramètres. Pour cela j'ai inclus une ACP dans le code.

    Cordialement.

Discussions similaires

  1. Représentation graphique
    Par Gébix dans le forum MATLAB
    Réponses: 7
    Dernier message: 25/11/2006, 22h25
  2. représentation graphique d' un tableau en c
    Par Le Lion dans le forum C
    Réponses: 5
    Dernier message: 05/07/2006, 22h46
  3. Representation graphique
    Par Landolf dans le forum 2D
    Réponses: 1
    Dernier message: 12/05/2006, 14h46
  4. Réponses: 2
    Dernier message: 14/11/2005, 15h47

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