I have trained in supervised way several ML algorithms such as GNB,SVM, KNN. I have multi-class classification model (not multi-label). The input format has ~22 features and the output is one-hot encoding like [1,0,0,0,0,0], [0,0,1,0,0,0], [0,0,0,0,0,1]. The dataset is balanced.
The models work fine using train/validation/test data.
Now I am doing a simple test generating random input (np.rand.random to generate (N_samples,22_features)) to evaluate the output. I expect to see that my models will "guess the output". But here I have two main questions:
1 - Why for some of that (random)test datapoints KNN.predict give [0,0,0,0,0,0] ??
2 - Does it make sense to generate a confusion matrix for such kind of random input? E.g. create artificial y_true(balanced with the classes) for the random input and compare them with the prediction of the generated random data KNN.predict(X_test_random)