Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
CLASSIFICATION
2 participants
Page 1 sur 2
Page 1 sur 2 • 1, 2
CLASSIFICATION
Je travaille actuellement sur une étude : on fait passer à des enfants des 45 exercices [6réponses proposées]. L'enfant a le droit de choisir une réponse parmi les 6 proposées.
Les données en ma possession, sont le numéro de l'exercice, le numéro du sujet et la réponse donnée par ce dernier.
Concernant le sujet, j'ai des informations : âge + pays. Dans notre étude, nous avons plus de 600 sujets.
Mon but est de trouver les profils d'enfants en fonction des réponses données. Je souhaite réaliser en fait une classification.
J'ai essayé la méthode des k-means mais je n'ai pas abouti sur quelque chose d'intéressant.
Auriez-vous une autre méthode ???
Je vous remercie d'avance.
Les données en ma possession, sont le numéro de l'exercice, le numéro du sujet et la réponse donnée par ce dernier.
Concernant le sujet, j'ai des informations : âge + pays. Dans notre étude, nous avons plus de 600 sujets.
Mon but est de trouver les profils d'enfants en fonction des réponses données. Je souhaite réaliser en fait une classification.
J'ai essayé la méthode des k-means mais je n'ai pas abouti sur quelque chose d'intéressant.
Auriez-vous une autre méthode ???
Je vous remercie d'avance.
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Bonjour, étant donné que tes trois variables semble toutes factorielles, tu peux réaliser un classification suite à une ACM (Analyse en Correspondance Multiple).
Il faut recoder tes données en polychotomique (1, 2 ,3 ...) comme tes deux premières variables.
(exemple : oui=1/non=2)
Quel logiciel utilises-tu ?
Il faut recoder tes données en polychotomique (1, 2 ,3 ...) comme tes deux premières variables.
(exemple : oui=1/non=2)
Quel logiciel utilises-tu ?
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: CLASSIFICATION
Je vous remercie pour votre réponse rapide ! J'utilise le logiciel R. Me conseilleriez vous un autre logiciel ? ou R est suffisant pour traiter mon étude ?
Quant au recodage, les réponses données sont déjà codées en 1,2,3....6 car le sujet choisit la réponses 1 ou 2 ou 3 ...ou 6. Je peux donc réaliser une ACM directement ?
Quant au recodage, les réponses données sont déjà codées en 1,2,3....6 car le sujet choisit la réponses 1 ou 2 ou 3 ...ou 6. Je peux donc réaliser une ACM directement ?
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Oui le codage est parfait et R est adapté pour ce genre de cas.
Il faut juste que R reconnaisse les données de votre tableau en tant que factorielles donc vérifiez à l'aide de la fonction str().
Je vous conseille de regarder ce tutoriel permettant de réaliser l'ACM.
https://www.youtube.com/watch?v=OJKVGNM1ANw
Par la suite, je vous expliquerais rapidement comment faire la classification si vous avez réussi.
https://www.youtube.com/watch?v=3tT29UtHqd0
Il faut juste que R reconnaisse les données de votre tableau en tant que factorielles donc vérifiez à l'aide de la fonction str().
Je vous conseille de regarder ce tutoriel permettant de réaliser l'ACM.
https://www.youtube.com/watch?v=OJKVGNM1ANw
Par la suite, je vous expliquerais rapidement comment faire la classification si vous avez réussi.
https://www.youtube.com/watch?v=3tT29UtHqd0
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: CLASSIFICATION
Je vous remercie. Je vais donc réaliser l'ACM et je vous fais signe.
Merci encore !
Merci encore !
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Bonjour.
J'ai beaucoup avancé grâce à la vidéo sur l'ACM, que vous m'avez conseillée et je vous en remercie !
J'ai une petite question à vous poser à ce propos : lorsque je réalise l'ACM, je considère la variable "Pays" comme une variable qualitative supérieure ???
(J'ai essayé de traiter les deux cas et j'obtiens deux graphes totalement différents.)
Merci d'avance.
J'ai beaucoup avancé grâce à la vidéo sur l'ACM, que vous m'avez conseillée et je vous en remercie !
J'ai une petite question à vous poser à ce propos : lorsque je réalise l'ACM, je considère la variable "Pays" comme une variable qualitative supérieure ???
(J'ai essayé de traiter les deux cas et j'obtiens deux graphes totalement différents.)
Merci d'avance.
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Les variables supplémentaires n'interviennent pas dans la création des dimensions de ton ACM.
En général on met une variable en supplémentaire lorsque :
-elle est mal codée
-elle est très peu pertinente
-elle est codée de la même manière qu'une autre variable (exemple : taille d'un ballon / largeur d'un ballon)
En l’occurrence, toutes tes variables semblent intéressantes donc je te conseille de ne mettre aucune variable supplémentaire.
En général on met une variable en supplémentaire lorsque :
-elle est mal codée
-elle est très peu pertinente
-elle est codée de la même manière qu'une autre variable (exemple : taille d'un ballon / largeur d'un ballon)
En l’occurrence, toutes tes variables semblent intéressantes donc je te conseille de ne mettre aucune variable supplémentaire.
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: CLASSIFICATION
Ah ok, je comprends mieux le sens de "variable supplémentaire"...Merci.
C'est parfait ! En faisant ainsi, j'obtiens deux groupes distincts ce qui m'arrange vraiment .
Je vais donc continuer l'ACM, et je vous tiens au courant de mon avancée.
Merci.
C'est parfait ! En faisant ainsi, j'obtiens deux groupes distincts ce qui m'arrange vraiment .
Je vais donc continuer l'ACM, et je vous tiens au courant de mon avancée.
Merci.
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Pour les valeurs manquantes (NA), je peux les laisser ou est-il plus judicieux de les supprimer avant de poursuivre mon ACM ?
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Alors pour les valeurs manquantes, il y a deux choix :
-sois tu supprime les ligne contenant des NA (tu perds énormément d'information)
-sois tu fais une imputation avant de lancer ton ACM (les NA sont remplacés automatiquement par des valeurs calculées par R)
pour cela il faut utiliser la fonction
Et là, l'ACM est faite correctement avec toutes les lignes de ton tableau.
-sois tu supprime les ligne contenant des NA (tu perds énormément d'information)
-sois tu fais une imputation avant de lancer ton ACM (les NA sont remplacés automatiquement par des valeurs calculées par R)
pour cela il faut utiliser la fonction
- Code:
complete=imputeMCA(data,ncp=2)
res=MCA(data,tab.disj=complete$tab.disj)
Et là, l'ACM est faite correctement avec toutes les lignes de ton tableau.
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: CLASSIFICATION
en essayant de réaliser l'imputation, j'ai ce message qui apparait :
"Erreur dans aggregate.data.frame(as.data.frame(x), ...) :
arguments must have same length"
dans le code que vous m'avez fournie, j'ai juste modifié le data par data2 ( car mes données s'appelent ainsi)... sinon je n'ai pas touché au reste...
je ne comprends pas pourquoi ce message d'erreur apparaît ?
"Erreur dans aggregate.data.frame(as.data.frame(x), ...) :
arguments must have same length"
dans le code que vous m'avez fournie, j'ai juste modifié le data par data2 ( car mes données s'appelent ainsi)... sinon je n'ai pas touché au reste...
je ne comprends pas pourquoi ce message d'erreur apparaît ?
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Pouvez-vous me copier votre code en entier ?
Avez-vous des variables unimodales, avec un seul type de réponse (exemple : que des "oui").
(faites str(data) pour vérifier, il faut avoir nlevels>=2)
L'imputation et l'ACM ne marchent pas sur ce type de données.
Avez-vous des variables unimodales, avec un seul type de réponse (exemple : que des "oui").
(faites str(data) pour vérifier, il faut avoir nlevels>=2)
L'imputation et l'ACM ne marchent pas sur ce type de données.
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: CLASSIFICATION
Oui je vous mets ci dessus le code :
j'ai donc réalisé l'imputation avec le code ci-dessus :
Non, je n'ai pas de variables unimodales
numéro du sujet
numéro essai
réponse données (numéro de 1 à 6)
pays ( variable avec deux modalités)
Lorsque je fais str(data2): j'obtiens le message suivant, mais je ne parviens pas à le comprendre ?
En vous remerciant encore,
- Code:
data2
data2<-read.table("E:/dataUS-MUN2.txt",header=TRUE)
data2
res.mca2<-MCA(data2)
summary(res.mca2)
j'ai donc réalisé l'imputation avec le code ci-dessus :
- Code:
package (missMDA)
library(missMDA)
complete=imputeMCA(data2,ncp=2)
res=MCA(data2,tab.disj=complete$tab.disj)
Non, je n'ai pas de variables unimodales
numéro du sujet
numéro essai
réponse données (numéro de 1 à 6)
pays ( variable avec deux modalités)
Lorsque je fais str(data2): j'obtiens le message suivant, mais je ne parviens pas à le comprendre ?
- Code:
'data.frame': 22238 obs. of 2 variables:
$ V1: Factor w/ 512 levels "1","10","1000001",..: 5 5 5 5 5 5 5 5 5 5 ...
$ V2: int 2 3 4 6 2 2 2 3 4 5 ...
En vous remerciant encore,
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Alors, le str vous indique que vous avez une variable factorielle à 512 modalités (V1). D'ailleurs qu'est-ce qu'elle représente ?
512 modalités, c'est beaucoup trop pour une variable factorielle, l'ACM ne va rien retenir, chaque réponse de chaque enfant sera différente. Je ne vois pas d'ailleurs à quelle variable cela peut correspondre.
Pour lancer l'ACM, il faut n'avoir que des variables factorielles :
data2=lapply(data2, as.factor)
512 modalités, c'est beaucoup trop pour une variable factorielle, l'ACM ne va rien retenir, chaque réponse de chaque enfant sera différente. Je ne vois pas d'ailleurs à quelle variable cela peut correspondre.
Pour lancer l'ACM, il faut n'avoir que des variables factorielles :
data2=lapply(data2, as.factor)
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: CLASSIFICATION
D'après moi, les 521 modalités correspond au nombre de sujet.
Mes données sont codées de la manière suivantes
Numéro du sujet Numéro essai (1 à 45) Numéro de la réponse donnée [1 à 6] Pays
1 4 2 US
1 3 1 US
......
5 7 5 MUN
est-ce que vous pensez que l'ACM reste applicable ?
Mes données sont codées de la manière suivantes
Numéro du sujet Numéro essai (1 à 45) Numéro de la réponse donnée [1 à 6] Pays
1 4 2 US
1 3 1 US
......
5 7 5 MUN
est-ce que vous pensez que l'ACM reste applicable ?
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Si je résume bien, tu as 4 variables :
-numéro du sujet (donc l'identifiant de tes lignes, qui n'est pas vraiment une variable mais un rowname).
-numéro de l'essai (que tu dois mettre en factoriel)
-numéro de la réponse (qui tu dois mettre en factoriel)
-pays (qui est déjà en factoriel)
Pour mettre ta "variable" numéro du sujet (sujet=individu ?), il faut utiliser cette fonction :
rownames(data2)=data2[,1]
je te conseille de faire une fix(data2) avant et après avoir utilisé la fonction rownames.
Une fois que tu as fait ça, tu fais data2=lapply(data2, as.factor)
Tu vérifies que tu n'as que tu factoriel avec str(data2) et c'est bon
-numéro du sujet (donc l'identifiant de tes lignes, qui n'est pas vraiment une variable mais un rowname).
-numéro de l'essai (que tu dois mettre en factoriel)
-numéro de la réponse (qui tu dois mettre en factoriel)
-pays (qui est déjà en factoriel)
Pour mettre ta "variable" numéro du sujet (sujet=individu ?), il faut utiliser cette fonction :
rownames(data2)=data2[,1]
je te conseille de faire une fix(data2) avant et après avoir utilisé la fonction rownames.
Une fois que tu as fait ça, tu fais data2=lapply(data2, as.factor)
Tu vérifies que tu n'as que tu factoriel avec str(data2) et c'est bon
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: CLASSIFICATION
Oui c'est exactement cela.
Les sujets correspondent aux individus. J'ai appliqué la fonction rownames.
Mais il m'affiche un message d'erreur expliquant que les valeurs ne sont pas uniques :
"Erreur dans `row.names<-.data.frame`(`*tmp*`, value = value) :
les duplications dans 'row.names' ne sont pas autorisées
De plus : Message d'avis :
non-unique values when setting 'row.names': ‘1’, ‘10’, ‘1000001’, ‘10001’, ‘1001’, ‘1001001’, ‘1002001’, ‘1003001’, ‘1004001’, ‘1005001’, ‘1006001’, ‘1"
Comment puis-je faire ?
Les sujets correspondent aux individus. J'ai appliqué la fonction rownames.
Mais il m'affiche un message d'erreur expliquant que les valeurs ne sont pas uniques :
"Erreur dans `row.names<-.data.frame`(`*tmp*`, value = value) :
les duplications dans 'row.names' ne sont pas autorisées
De plus : Message d'avis :
non-unique values when setting 'row.names': ‘1’, ‘10’, ‘1000001’, ‘10001’, ‘1001’, ‘1001001’, ‘1002001’, ‘1003001’, ‘1004001’, ‘1005001’, ‘1006001’, ‘1"
Comment puis-je faire ?
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
D'accord, tu as des doublons, c'est à dire que tu as plusieurs réponses pour certaines variables selon un individu.
Si tu regardes dans ton tableau Excel, est-ce que tu trouves beaucoup de doublons ou il n'y en a que quelques-un ?
S'il y en a peu alors il y a un problème au niveau de tes données, tu as mal recopié.
S'il y en a beaucoup alors c'est voulu et dans ce cas c'est compliqué de faire une ACM. Il faudrait créer une variable rowname toi-même (1,2,3,4,5...) qui remplace le nom de tes individus et alors tu pourrais lancer l'ACM. Mais elle serait quand même faussée...
J'espère que tu as peu de doublons
Si tu regardes dans ton tableau Excel, est-ce que tu trouves beaucoup de doublons ou il n'y en a que quelques-un ?
S'il y en a peu alors il y a un problème au niveau de tes données, tu as mal recopié.
S'il y en a beaucoup alors c'est voulu et dans ce cas c'est compliqué de faire une ACM. Il faudrait créer une variable rowname toi-même (1,2,3,4,5...) qui remplace le nom de tes individus et alors tu pourrais lancer l'ACM. Mais elle serait quand même faussée...
J'espère que tu as peu de doublons
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: CLASSIFICATION
En fait, j'ai beaucoup de doublons car pour chaque individu, il apparait en 45 exemplaires, puisqu'il y a 45 essais. Il y a -t-il un autre moyen de traiter le problème ?
Et j'avais aussi une autre question :
pour y voir plus clair, je veux représenter sur un graphique : le numéro de l'essai (en abscisse donc gradué de 1 à 45) et le numéro de la réponse donnée (ordonnée donc gradué de 1 à 6) : en fait, je souhaiterai avoir une courbe par sujet....
J'imagine bien que cela va faire un truc peu lisible, mais j'aimerai le faire juste pour avoir une idée.
En faisant plot( numéro essai, numéro réponse), je ne parviens pas à avoir ce que je recherche....auriez vous une idée ??
Merci encore !
Et j'avais aussi une autre question :
pour y voir plus clair, je veux représenter sur un graphique : le numéro de l'essai (en abscisse donc gradué de 1 à 45) et le numéro de la réponse donnée (ordonnée donc gradué de 1 à 6) : en fait, je souhaiterai avoir une courbe par sujet....
J'imagine bien que cela va faire un truc peu lisible, mais j'aimerai le faire juste pour avoir une idée.
En faisant plot( numéro essai, numéro réponse), je ne parviens pas à avoir ce que je recherche....auriez vous une idée ??
Merci encore !
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Je n'arrive pas très bien à voir ce que représente vos données, pourriez-vous déposer votre tableau ici ? ça m'aiderait à répondre aux deux questions.
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: CLASSIFICATION
Je ne parviens pas à envoyer toutes les données en un seul message, je vais essayer de décomposer :
ess suj rep pays
1 1001 2 US
2 1001 3 US
3 1001 4 US
23 1001 6 US
25 1001 2 US
44 1001 2 US
32 1001 2 US
42 1001 3 US
26 1001 4 US
40 1001 5 US
ess suj rep pays
1 1001 2 US
2 1001 3 US
3 1001 4 US
23 1001 6 US
25 1001 2 US
44 1001 2 US
32 1001 2 US
42 1001 3 US
26 1001 4 US
40 1001 5 US
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
20 1001 3 US
21 1001 4 US
13 1001 6 US
39 1001 6 US
7 1001 4 US
29 1001 2 US
15 1001 1 US
10 1001 2 US
8 1001 5 US
12 1001 2 US
4 1001 1 US
28 1001 5 US
9 1001 5 US
38 1001 2 US
19 1001 5 US
11 1001 3 US
17 1001 2 US
14 1001 6 US
27 1001 2 US
33 1001 4 US
22 1001 4 US
41 1001 2 US
43 1001 6 US
34 1001 3 US
30 1001 3 US
24 1001 5 US
6 1001 6 US
18 1001 5 US
16 1001 6 US
37 1001 3 US
31 1001 6 US
21 1001 4 US
13 1001 6 US
39 1001 6 US
7 1001 4 US
29 1001 2 US
15 1001 1 US
10 1001 2 US
8 1001 5 US
12 1001 2 US
4 1001 1 US
28 1001 5 US
9 1001 5 US
38 1001 2 US
19 1001 5 US
11 1001 3 US
17 1001 2 US
14 1001 6 US
27 1001 2 US
33 1001 4 US
22 1001 4 US
41 1001 2 US
43 1001 6 US
34 1001 3 US
30 1001 3 US
24 1001 5 US
6 1001 6 US
18 1001 5 US
16 1001 6 US
37 1001 3 US
31 1001 6 US
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
je vous envoie la suite aussi ?
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Re: CLASSIFICATION
Non, là je ne peux pas comprendre les données de cette manière. Vous avez surement des doublons (même si je n'en vois aucun).
Mais là je ne sais pas comment traiter des données comportant autant de doublons. Je préfère ne pas dire de bêtises.
Au niveau de la 2ème et 4ème variable, tu as toujours la même modalité, est-ce qu'elle change dans ton tableau ?
(sélectionne la première ligne, Données => Filter => appuies sur la variable et vérifie le nombre de modalités)
Mais là je ne sais pas comment traiter des données comportant autant de doublons. Je préfère ne pas dire de bêtises.
Au niveau de la 2ème et 4ème variable, tu as toujours la même modalité, est-ce qu'elle change dans ton tableau ?
(sélectionne la première ligne, Données => Filter => appuies sur la variable et vérifie le nombre de modalités)
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: CLASSIFICATION
Oui les variables 2 et 4 changent dans le tableau.
Pour la 1ère variable, il existe 45 modalités
Pour la 2ème variable, il y a 516 modalités.
Pour la 3ème variable, il existe 6 modalités.
Pour la 4ème variable, il y a 2 modalités.
Est-ce qu'il faudrait que je présente mes données autrement dans un tableau différent ?
Merci encore
Pour la 1ère variable, il existe 45 modalités
Pour la 2ème variable, il y a 516 modalités.
Pour la 3ème variable, il existe 6 modalités.
Pour la 4ème variable, il y a 2 modalités.
Est-ce qu'il faudrait que je présente mes données autrement dans un tableau différent ?
Merci encore
AriniSL- Nombre de messages : 20
Date d'inscription : 01/07/2013
Page 1 sur 2 • 1, 2
Sujets similaires
» classification SVM
» ACP, Classification
» classification
» Classification
» AIC et erreur de classification
» ACP, Classification
» classification
» Classification
» AIC et erreur de classification
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum