我想知道java中简单的k-means算法。我想仅使用k-means来分组一维数组而不是多个。 例如, 之前分组数组包括2,4,7,5,12,34,18,25 如果我们想要四个组,然后我们得到了 组1:2,4,5 组2:7, 12 组3:18,25 组4:34如何在java中实现简单分组的k-means
3
A
回答
1
您可以在Weka的implementation看看或者干脆使用Weka的API,如果你需要的是群集,而不是执行。
1
用于K均值聚类的标准(启发式)算法在Wikipedia page上提供,连同变体和一些现有实现的链接。
(这是编程论坛,所以这是合理的假设,你能够自己编写Java代码......如果你不能找到一个现有的实现,它是适合的。)
1
You can implement k-Means as:
SimpleKMeans kmeans = new SimpleKMeans();
kmeans.setSeed(10);
// This is the important parameter to set
kmeans.setPreserveInstancesOrder(true);
kmeans.setNumClusters(numberOfClusters);
kmeans.buildClusterer(instances);
// This array returns the cluster number (starting with 0) for each instance
// The array has as many elements as the number of instances
int[] assignments = kmeans.getAssignments();
int i=0;
for(int clusterNum : assignments) {
System.out.printf("Instance %d -> Cluster %d", i, clusterNum);
i++;
}
0
你可以检查我的软件:SPMF data mining software。
它提供了KMeans在3个文件中的高效实现,所以它应该很容易理解。
该软件还提供了许多其他算法。但你不需要它们。
但另一件事是,还有一个用于启动KMeans和其他算法的图形用户界面。
相关问题
- 1. 在Java中使用数组的简单HashTable实现?
- 2. 如何在angular2中实现一个简单的html表分页
- 3. KMeans在OpenCV 2中的实现
- 4. 如何实现单折叠在Java中
- 5. 注销简单的Java实现
- 6. Java:简单命令的实现
- 7. 如何实现简单的C++函数
- 8. MVP如何实现简单的登录
- 9. 在AS3中最简单的onReleaseOutside实现?
- 10. 在C++中实现简单的getopt
- 11. 如何在Java中实现
- 12. 如何在Java中实现
- 13. 如何在Java中实现
- 14. 如何在Java中实现
- 15. 在Java中实现一个简单的游戏(图形相关)
- 16. 简单终极版Counter组件实现
- 17. 在ASP.NET MVC中实现分页的简单方法是什么?
- 18. 如何简单地实现一个KeyListener?
- 19. 如何在这个简单的场景中开始实现JMS?
- 20. 如何在我的简单应用程序中实现反射?
- 21. 如何在HTML5中实现简单的音频播放列表
- 22. 如何在C#中实现一个简单的通用比较#
- 23. 如何在Xamarin PCL中实现简单的进度条?
- 24. 如何在Android中实现简单的聊天客户端?
- 25. 如何在PyQt中实现一个简单的按钮
- 26. 如何在简单的ListView中实现水平滚动视图?
- 27. 在Java中实现分水岭分割
- 28. 在python中简单实现会话?
- 29. Simpleton的简单实现
- 30. 简单的OpenID实现
你正在使用哪个库? – Karussell 2014-12-15 20:47:59