Higher accuracy in training set than test set in KNN classifier If I got an accuracy of 95% in the training set, and 80% accuracy in the test set, what could be the explanation for that? it sounds like a pretty basic question, but I just can't put it into words correctly.
It's supposed to be like that, I know that far. I interpret it like this:
" There is overfitting in the KNN model, the model learned the training data too well, and now it uses the features it learned in the training data in a false way. The model is familiar with the training data more, after all, it was trained on it, and the test data it has never seen before so it's only natural to get these results ".
What do you think of this explanation?

The explanation for this situation: your testing data contains features which are not in the training data (so the model see the new features as unknown and make wrong prediction)
You can use one (or both) of the methods bellow:
1-Split the data again but with random_state >80 according to your dataset
2-Resize the training and the testing set
if you have a large data you must use another algorithm KNN is bad for large data
