I trained a few different models, (Perceptron, Stochastic Gradient Descent and Naive Bayes), each with different parameters. I then scored their accuracy on a cross validation set.
The scores on the best parameter Perceptron, SGD and NB models were 93%, 91% and 94% respectively.
I didn't expect such similar results and I'm at a bit confused because I feel that the possibility of variance makes choosing the NB as the best model questionable.
Am I supposed to test all 3 on the test set and use the model with the best unbiased error? Or is that implicitly cherry picking the best model ?