Data Science Stack Exchange is a question and answer site for Data science professionals, Machine Learning specialists, and those interested in learning more about the field. It only takes a minute to sign up.

2 Answers
2

Technically: Because grid search creates subsamples of the data repeatedly. That means the SVC is trained on 80% of x_train in each iteration and the results are the mean of predictions on the other 20%.

Theoretically: Because you conflate the questions of hyperparameter tuning (selection) and model performance estimation. GridSearch is used for selecting a combination of hyperparameters, performance estimation has not yet happened. The only comparison you should be making is between the parameter combinations within the CV itself (grid_results.cv_results). In my opinion, the reported CV train accuracy is within acceptable boundaries from non-CV training (meaning your SVC is able to extract a lot of generalization from subsamples). See e.g Cawley 2010

It would be interesting to see the reported performance on x_test on the retrained estimator grid_results.best_estimator_.predict(x_test), if it was kept separate from x_train, and how it is different from the first results.

$\begingroup$@Tauno Indeed the winning model has the same parameters as the one you trained first. If you are interested in attempting to tune further consider values of C around 1.$\endgroup$
– ludanJun 30 '19 at 9:58