Weka and Mahout are not algorithms ... they are computer libraries. They include the implementation of a wide range of algorithms. So, your best choice is to choose a library and try several different algorithms to see which one is best for your specific problem (where the "best works" will be a function of the cost of training, cost of classification and accuracy of classification).
If it were me, I would start with naive bayes, closest neighbors and supporting vector machines. They are well-established, well-understood methods with very different compromises. Naive Bayes is cheap, but not particularly accurate. K-NN is cheap during training, but (maybe) expensive during grading, and although it is usually very accurate, it can be prone to overtraining. SVMs are expensive to learn and have many meta-options to configure, but they are cheap to use and are usually at least as accurate as k-NN.
If you tell us more about the problem you are trying to solve, we can give more focused recommendations. But if you are just looking for one true algorithm, then there is none - the No Free Lunch theorem guarantees this.
rmalouf
source share