Accuracy score of my KNN model is constant as k increases? This is my first time using a machine learning algorithm. It is for a school project. My model is attempting to predict from inputs: Weight, Height, and Age whether an Olympic athlete (100-meter dash) wins a medal or not. Here is the relevant code:
#Normalize the data
train_athletics_m = min_max_normalization(train_athletics_m)
test_athletics_m = min_max_normalization(test_athletics_m)
X = train_athletics_m[['Age', 'Weight', 'Height']]
y = train_athletics_m['Medal']

test = test_athletics_m[['Age', 'Weight', 'Height']]
test_labels = test_athletics_m['Medal']

classifier = KNeighborsClassifier()
classifier.score(test, test_labels)

I tested various k values. The worst accuracy is when k=1 (88%), but for k > 3, the accuracy stays constant (94%). I was under the impression that the usual behavior would be for accuracy to reach a peak and then decrease until it stabilizes as k goes onward. Also, my accuracy scores are higher than I expected. I am wondering if this is normal, and if not, where would my error most likely be in?

The way KNN works is by taking votes from adjacent points.
If your data is well separated then as you increase K then the model won't be as confused.
In some cases, the performance would decrease; this is when K is so big that it's more than the number of samples inside a class.
If I were you I would plot the points to make sure I understand how this behavior is happening.
And with algorithms like KNN, it's straight-forward to understand the reason why it made the prediction with simple plotting.
Also check you test data is big enough and there's no data leakage between the training and test.
I hope that'll be helpful
