Matlab is undoubtedly the best tool for pattern recognition. Its very simple the learning curve is small when compared to other programs such as open CV, Scilab, Octave etc.,
The Matlab File Exchanger is a boon for programmers and researchers.
You can use classification learner in Matlab 2016a, which will help you to find the best machine learning classifier for your dataset. Depending upon the accuracy you can import the classifier into your workspace for predicting new data.
Lib SVM with a non linear kernel can be a best tool. Matlab SVM or ANN can be second option. There are variety of classification tools like weka, Knime etc
I have worked with both Libsvm and matlab svm and in my experience libsvm is bit faster. As far as parameter selection is concerned it is independent of the tool that we use. I use k-fold cross validation for that.
What do you mean with best tool? The simplest, the easiest, completest, etc.?
Please keep in mind "a tool is a tool". If you have no knowledge in what you are doing, even the "best" tool dies nit help. I pass on to enumerate different tools because the main ones are found in the comments above.