我想知道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