Algorithme K - means
Je suis en train de programmer un algorithme k-means en Java. J'ai calculé un certain nombre de tableaux, chacun d'eux contenant un certain nombre de coefficients. J'ai besoin d'utiliser un algorithme k-means afin de regrouper toutes ces données. Connaissez-vous une implémentation de cet algorithme?
Grâce
OriginalL'auteur dedalo | 2009-06-28
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas étudié le code moi-même, mais il y a une multithread K-moyens de mise en œuvre donnés dans cette JavaWorld article qui ressemble assez instructif.
OriginalL'auteur jtb
Classification, Clustering et de regroupement sont bien développés domaines de l'IR. Il y a une très bonne (Java) bibliothèque/logiciel (open source) ici Appelé WEKA. Il existe plusieurs algorithmes de clustering. Bien qu'il existe une courbe d'apprentissage, il peut être utile si vous rencontrez des problèmes plus compliqués.
OriginalL'auteur minoriole
Il y a une très belle Python de mise en œuvre de clustering K-means dans "La Programmation De L'Intelligence Collective". Je le recommande fortement.
Je me rends compte que vous aurez à le traduire en Java, mais il n'a pas l'air trop difficile.
OriginalL'auteur duffymo
OpenCV est l'un des plus horriblement écrit des bibliothèques que j'ai jamais eu à l'utiliser.
Sur l'autre main, Elle le fait très soigneusement.
Si vous avez le code vous-même, l'algorithme est très simple, pour la façon dont elle est efficace.
Matlab est lent si vous n'avez pas le code correctement. Si vous avez écrit un "pour" en boucle dans matlab, vous le faites mal.
OriginalL'auteur Marcin
Vraiment, KMeans est vraiment facile de l'algorithme. Une bonne raison pourquoi ne pas coder vous-même? Je l'ai fait en Qt et puis porté le code de la plaine de vieux STL, sans trop de problèmes.
Je suis a commencé à être un fan de Joël idée: pas de dépendances externes, donc n'hésitez pas à me dire ce qui est bon sur un grand morceau de logiciel que vous n'avez pas de contrôle, et d'autres, sur cette question ont déjà mentionné, c'est pas un bon morceau de logiciel/
Talk est bon marché, de l'homme réel montrent leur code pour le monde:
http://github.com/elcuco/data_mining_demo
Je dois nettoyer un peu le code pour être plus générique, et la version actuelle n'est pas porté à la STL, mais c'est un début!
OriginalL'auteur
Très vieille question, mais j'ai remarqué qu'il y est fait aucune mention de la Java Apprentissage De La Machine De La Bibliothèque qui a une implémentation de K-Means et comprend une partie de la documentation à propos de son utilisation.
Le projet n'est pas très actif, mais la dernière version est relativement récente (juillet 2012)
OriginalL'auteur madth3
Il semble que tout le monde qui a posté oublié de parler de la defacto bibliothèque de traitement d'images: OpenCV http://sourceforge.net/projects/opencvlibrary/. Vous devez écrire un JNI wrapper autour de la C OpenCV de code pour obtenir des KMeans de travail, mais l'avantage serait
Le principal attrait de retour est que vous avez à écrire un JNI wrapper. Une fois, j'ai besoin d'un modèle de correspondance de routine et a été confronté à de nombreuses solutions de rechange, mais j'ai trouvé OpenCV pour être de loin le meilleur, même si j'ai été forcé d'écrire un JNI wrapper.
OriginalL'auteur ldog
OriginalL'auteur shailendra pathak