erreur dans la fonction "dissimilarity"

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

caroline domerg
Messages : 5
Enregistré le : 20 Oct 2006, 12:23

erreur dans la fonction "dissimilarity"

Messagepar caroline domerg » 22 Nov 2006, 09:55

Bonjour,

Juste pour signaler que l'on pense avoir détecté une erreur dans la fonction "dissimilarity" du package "arules" en ce qui concerne le calcul de l'indice de similarité de Dice.

En théorie, elle retourne la valeur 2 * a / (2*a + b + c) pour cet indice mais dans le code source, il est calculé de la manière suivante :
d = (2 * a / (2*a_b_c)) avec a_b_c = a+b+c

Il est donc égal ici à l'indice de Jaccard qui est de la forme a/(a + b + c), alors qu'il est sensé doubler le poids du nombre de couples 1-1 (a) .

Nous avons vérifié sur des exemples simples et comparé les résultats à ceux de la fonction dist.binary du package "ade4".

Si nous n'avons pas fait d'erreur, savez vous comment il est possible de modifier la fonction?

Merci.

Caroline Domerg et Frédéric Chiroleu
UMR 53 PVBMT (Peuplements Végétaux et Bio-agresseurs en Milieu Tropical)
CIRAD
Pôle de Protection des Plantes (3P) - Saint-Pierre
Île de la Réunion

E.V. Dennst

Re: erreur dans la fonction "dissimilarity"

Messagepar E.V. Dennst » 22 Nov 2006, 19:06

caroline domerg a écrit :Bonjour,
Juste pour signaler que l'on pense avoir détecté une erreur dans la fonction "dissimilarity" du package "arules" en ce qui concerne le calcul de l'indice de similarité de Dice.
Si nous n'avons pas fait d'erreur, savez vous comment il est possible de modifier la fonction?
Merci.

Si c'est bien une erreur, l'usage recommandé, du moins sur R-help, est de contacter les auteurs.
http://cran.r-project.org/src/contrib/D ... rules.html

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 22 Nov 2006, 19:20

Et s'il n'y a pas de réponse rapide des auteurs, il est toujours possible de charger les sources du package, de modifier la fonction en cause et d'installer le package modifié. Un très bon exercice pour apprendre à manipuler les sources des packages !

Renaud

Marine Cadoret
Messages : 8
Enregistré le : 05 Déc 2006, 14:19

Messagepar Marine Cadoret » 08 Mar 2007, 08:28

Bonjour,

Je voudrais savoir si vous avez modifié ou non cette erreur.
Merci.

Marine

Marine Cadoret
Messages : 8
Enregistré le : 05 Déc 2006, 14:19

Messagepar Marine Cadoret » 08 Mar 2007, 08:31

J'ai ma réponse (en comparant les résultats avec Dice et Jaccard) : la réctification n'a pas été faite...
Oubliez mon post.

Marine

Marine Cadoret
Messages : 8
Enregistré le : 05 Déc 2006, 14:19

Messagepar Marine Cadoret » 22 Mar 2007, 14:43

Bonjour,

Mon problème ne correspond pas aux posts précédents, mais c'est dans la même lignée.
En fait, je veux obtenir une matrice de dissimilarités avec l'indice de Jaccard, et ensuite faire une CAH à partir de cette matrice. Sur un premier jeu de données, ça marche sans problème.
Mais sur un deuxième, j'ai un message d'erreur qui dit qu'il ne faut pas de valeurs manquantes dans la matrice de dissimilarités (ce qui est logique). Sauf qu'en vérifiant, ma matrice n'a pas de NA...

jaccard=dist.binary(don, method=1)
cah=agnes(jaccard,diss=T,method="ward")
Erreur dans agnes(jaccard2, diss = T, method = "ward") :
NA-values in the dissimilarity matrix not allowed.

which(jaccard=="NA")
integer(0)

Et si j'utilise l'indice de Sokal&Sneath sur ce même jeu de données, je n'ai pas de problèmes...


Marine

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 22 Mar 2007, 17:39

Si c'est un nouveau post, merci de commencer un nouveau sujet.

Renaud


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron