I like the machine algorithm for clustering systems. Weka has larger capabilities. There are multiple algorithms that can be used for clustering. It depends upon the user requirements. For clustering, I've used DBSCAN, whereas for supervised learning, I've used AVM and RFT.

