Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Valeurs Manquantes dans analyse par cluster
3 participants
Page 1 sur 1
Valeurs Manquantes dans analyse par cluster
Bonjour,
dans le cadre de mon stage, je dois déterminer des profils sur des bases de données de clients.
Ces bases de données sont pleines de valeurs manquantes, et donc les fonctions kmeans, mclust et cie ne fonctionnent pas
J'ai une BDD de 10 000 individus (avec les NAs)
J'ai utilisé ces lignes de code pour enlever les NAs
et
après ces étapes, j'ai une bdd avec 8701 individus
Mais quand je lance le kmeans, j'ai en réponse:
Que faut il que je fasse pour vraiment enlever les NAs puisque R semble toujours les voir?
Merci d'avance.
dans le cadre de mon stage, je dois déterminer des profils sur des bases de données de clients.
Ces bases de données sont pleines de valeurs manquantes, et donc les fonctions kmeans, mclust et cie ne fonctionnent pas
J'ai une BDD de 10 000 individus (avec les NAs)
J'ai utilisé ces lignes de code pour enlever les NAs
- Code:
nutris=na.omit(nutris)
et
- Code:
mvc = sapply(nutris[vars], function(x) sum(is.na(x)))
mvn = names(which(mvc == nrow(nutris)))
après ces étapes, j'ai une bdd avec 8701 individus
Mais quand je lance le kmeans, j'ai en réponse:
- Code:
> nutrik=kmeans(nutrim, 3)
Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In kmeans(nutrim, 3) : NAs introduced by coercion
Que faut il que je fasse pour vraiment enlever les NAs puisque R semble toujours les voir?
Merci d'avance.
Didine34790- Nombre de messages : 7
Age : 35
Date d'inscription : 18/03/2014
Re: Valeurs Manquantes dans analyse par cluster
Bonjour,
Ce n'est pas un problème lié aux NA initiaux qui sont parfaitement supprimés par la fonction na.omit.
Il est probable que tu essaies de faire un clustering sur des variables de type "character". La fonction kmeans n'arrive pas à convertir ces valeurs en numérique comme dans l'exemple ci-dessous
Si ce n'est pas ça le problème il faut fournir un exemple des données.
Nik
Ce n'est pas un problème lié aux NA initiaux qui sont parfaitement supprimés par la fonction na.omit.
Il est probable que tu essaies de faire un clustering sur des variables de type "character". La fonction kmeans n'arrive pas à convertir ces valeurs en numérique comme dans l'exemple ci-dessous
- Code:
as.numeric(LETTERS[1:3])
[1] NA NA NA
Message d'avis :
NAs introduits lors de la conversion automatique
Si ce n'est pas ça le problème il faut fournir un exemple des données.
Nik
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: Valeurs Manquantes dans analyse par cluster
Bonjour,
Je n'ai pas de variables de type character, mais quelques de type factor :
Faut il que je change les types "factor" en "integer"?
Je n'ai pas de variables de type character, mais quelques de type factor :
- Code:
> sapply(nutris, class)
age idinfoperso civilite prenom codep taille
"numeric" "integer" "factor" "factor" "integer" "integer"
poids sexe objectif ossature impedance_5 impedance_50
"factor" "factor" "factor" "factor" "integer" "integer"
impedance_100 Vt Ve Vi MNG MG
"integer" "factor" "factor" "factor" "factor" "factor"
Mu tour_taille tour_hanche IMC
"factor" "integer" "integer" "factor"
Faut il que je change les types "factor" en "integer"?
Didine34790- Nombre de messages : 7
Age : 35
Date d'inscription : 18/03/2014
Re: Valeurs Manquantes dans analyse par cluster
Non les facteurs sont convertis automatiquement en numeric sans problème.
Est-ce normal que le poids soit un facteur ?
Est-ce normal que le poids soit un facteur ?
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: Valeurs Manquantes dans analyse par cluster
J'ai changé dans le csv les "," séparateurs des décimales en "." (je pense que le formatage d'excel posait problème)
J'ai pu lancer le kmeans sans problème.
Merci.
Par contre, est ce qu'il existe une fonction dans R qui permette de distinguer des groupes (ou profils) d'individus en fonction de variables pas forcément numériques?
J'ai pu lancer le kmeans sans problème.
Merci.
Par contre, est ce qu'il existe une fonction dans R qui permette de distinguer des groupes (ou profils) d'individus en fonction de variables pas forcément numériques?
Didine34790- Nombre de messages : 7
Age : 35
Date d'inscription : 18/03/2014
Re: Valeurs Manquantes dans analyse par cluster
Didine34790 a écrit:
Par contre, est ce qu'il existe une fonction dans R qui permette de distinguer des groupes (ou profils) d'individus en fonction de variables pas forcément numériques?
Le clustering devrait te sortir des "groupes d'individus" normalement éloignés.
Tu as une autre méthode FAMD ou ACM en fonction des variables que tu choisis qui te permet d'obtenir tes cluster si tu n'as pas de données manquantes.
Un statisticien explique dans des vidéos comment faire :
https://www.youtube.com/playlist?list=PLnZgp6epRBbQu2QtCyqYL80In1P-A_Iud&feature=view_all
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: Valeurs Manquantes dans analyse par cluster
le kmeans est une méthode de classification comme une autre qui peut tout à fait se faire sur des variables nominales.
Il faut faire la distinction entre le type de variable et comment on gère numériquement la variable en elle-même.
Du coup, je ne vois pas bien ce que tu entends par "distinguer des groupes en fonction de variables non numériques"
Il faut faire la distinction entre le type de variable et comment on gère numériquement la variable en elle-même.
Du coup, je ne vois pas bien ce que tu entends par "distinguer des groupes en fonction de variables non numériques"
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: Valeurs Manquantes dans analyse par cluster
Par exemple une chaine de caractère comme le prénom, ou l'hébergeur email
Didine34790- Nombre de messages : 7
Age : 35
Date d'inscription : 18/03/2014
Re: Valeurs Manquantes dans analyse par cluster
oui je vois bien les valeurs des variables mais je ne vois pas bien ce que tu fais comme différence avec ce que tu as fait précédemment.
Tes variables non numériques pourront être traitée comme des facteurs. Chaque modalité sera alors prise sous forme d'une indicatrice.
Tes variables non numériques pourront être traitée comme des facteurs. Chaque modalité sera alors prise sous forme d'une indicatrice.
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: Valeurs Manquantes dans analyse par cluster
J'ai
j'ai réduit la dimension de la matrice initiale à 1000 pour réduire le temps d'attente
Quand j'applique la fonction kmeans de base de R, j'ai
je suis passée par la package ClustOfVar, et la fonction kmeansvar qui m'a bien fait des groupes.
- Code:
> sapply(part, class)
age prénom civilité_1_m_2_mme_3_mlle
"numeric" "factor" "integer"
nom_de_domaine_2 nom_de_domaine_3
"factor" "factor"
> dim(part)
[1] 1000 5
j'ai réduit la dimension de la matrice initiale à 1000 pour réduire le temps d'attente
Quand j'applique la fonction kmeans de base de R, j'ai
- Code:
> km=kmeans(part, 3)
Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In kmeans(part, 3) : NAs introduced by coercion
je suis passée par la package ClustOfVar, et la fonction kmeansvar qui m'a bien fait des groupes.
Didine34790- Nombre de messages : 7
Age : 35
Date d'inscription : 18/03/2014
Sujets similaires
» Valeurs manquantes dans R
» valeurs manquantes
» Prise en compte valeurs NA dans GLM
» Logiciel Statistica - Valeurs manquantes
» Les valeurs manquantes, faut-elles les considérer ?
» valeurs manquantes
» Prise en compte valeurs NA dans GLM
» Logiciel Statistica - Valeurs manquantes
» Les valeurs manquantes, faut-elles les considérer ?
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum