Bonjour;
Je voudrais développer la fonction Fuzzy C-means (FCM) en utilisant le modèle MapReduce.
Y a-t-il quelqu'un qui pourrait m'orienter ?
Merci d'avance !
Bonjour;
Je voudrais développer la fonction Fuzzy C-means (FCM) en utilisant le modèle MapReduce.
Y a-t-il quelqu'un qui pourrait m'orienter ?
Merci d'avance !
Bonjour Mohammed.
Je ne pense pas que cette question retourne de R, mais plutôt d’un problème plus large sur le Big Data et l'Algorithmie.
Je n’ai pas trouvé d’article de recherche sur le type de questions à savoir «*C-mean*» en dehors du Chinois. Je sais qu’un outil comme Spark implémente déjà les «*K-mean*», peut être que cela peut être une piste.
Je peux difficilement t’aider. Cela me semble relativement difficile et non trivial comme question.
As-tu de la littérature de ce sujet ?
Bien cordialement.
Bonjour dev_ggy;
Merci d'avoir pris l'initiative de répondre à ma question. oui j'ai de la littérature sur le sujet, mais j'ai rencontré des difficultés d'implémentation sous R.
Cordialement.
Bonjour Mohammed_Z,
Si tu as de la documentation sur l'algo en lui-même et que c'est son implémentation en R qui te pose problème, nous pouvons peut-être t'aider.
Peut-être pourrais-tu nous décrire les différentes étapes de l'algorithme et ce que tu as essayé de faire en R (avec un exemple de code reproductible) et ce qui t'a posé problème ?
As-tu regardé s'il n'existait pas déjà des packages R autour de ce sujet ? Pour faire une telle recherche, tu peux commencer par exemple par regarder la liste des packages disponibles sur le CRAN ou faire une recherche (mots-clés en anglais) sur le site RSiteSearch.
Bonne continuation
Cordialement,
A.D.
Forum R
Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .
Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.
Bonjour A.D.
Merci pour votre intention. En fait il existe une fonction qui traite les problèmes de "fuzzy clustering" , il s'agit de la fonction "cmeans.R" dans le package "e1071",
dont le prototype est le suivant :
Elle prend comme arguments entre-autres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 cmeans <- function(x, centers, iter.max = 100, verbose = FALSE, dist = "euclidean", method = "cmeans", m = 2, rate.par = NULL, weights = 1, control = list())
- un dataset "x" (c'est un ensemble de lignes où chaque ligne est formée de plusieurs colonnes, ce sont les caractéristiques) imaginons que chaque ligne est un point. Tous les point ont le mêmes nombre de caractéristiques (il s'agit d'un espace de dimension donnée).
- un ensemble clusters (appelés encore classes ou groupes) dont les "centres" sont choisis aléatoirement parmi les points du dataset.
- etc...
Comme résultat et après un certain nombre d'itérations, cette fonction retourne les nouveaux coordonnées des centres (voir Eq. 3 du papier ci-joint) et la répartition des différents points de la base autour des centres (voir Eq. 2 du papier ci-joint) en se basant sur la distance euclidienne (voir Eq. 1 du papier ci-joint) de chaque point par rapport au centre. La répartition est représentée sous forme d'une matrice [U](n x c) (n= nbre de lignes du dataset, c=nbre de clusters) où chaque chaque cellule (uij) représente de degré d'appartenance du ième point au jème cluster. Un point peut appartenir à un ou plusieurs clusters. La contrainte est que la somme des degrés d’appartenance uij d'un point donnés =1.
Cette fonction tourne bien pour les petites bases de données, mais pour des bases de quelques millions de lignes et quelques centaines de colonnes, un seul PC ne supporte pas la charge de calcul et de mémoire. Le calcul prend des heures et des heures, même des jours. On a pensé de répartir le calcul sur plusieurs noeuds en utilisant le modèle MapReduce et la technologie Hadoop.
Vous trouverez ci-joint un papier que décrit l'algorithme MapReduce et les différentes étapes.
Merci pour votre collaboration.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager