我想知道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. Java:簡單命令的實現
- 8. 簡單的Java接口實現
- 9. 如何在一組簡單對象上實現排序?
- 10. 如何實現可以簡單地部署在Java中的web服務(如Jenkins)
- 11. 如何實現簡單的C++函數
- 12. MVP如何實現簡單的登錄
- 13. 在C++中實現簡單的getopt
- 14. 在AS3中最簡單的onReleaseOutside實現?
- 15. 在Android中實現簡單的服務
- 16. 如何在Java中實現
- 17. 如何在Java中實現
- 18. 如何在Java中實現
- 19. 如何在Java中實現
- 20. JVM中如何實現Java int []數組?
- 21. 在Java中實現定時器事件的最簡單方法
- 22. 在C++中實現簡單的Java程序(抽象類)
- 23. 在Java中實現一個簡單的遊戲(圖形相關)
- 24. 在Java中實現Scala PartialFunction的最簡單方法是什麼?
- 25. 簡單終極版Counter組件實現
- 26. 在ASP.NET MVC中實現分頁的簡單方法是什麼?
- 27. 在Fortran中實現一組隊列的簡單方法?
- 28. 如何簡單地實現一個KeyListener?
- 29. 如何在IOS中實現簡單的搜索欄
- 30. 如何在android中實現簡單的無限傳送帶?
你正在使用哪個庫? – Karussell 2014-12-15 20:47:59