Ajuste do parâmetro KNN com validação cruzada: empate de pontuação

7

Estou tentando usar o método KNN para classificação binária. Ao tentar encontrar o melhor parâmetro 'k' (a quantidade de vizinhos que o algoritmo analisa), treino um modelo no meu conjunto de treinamento e analiso sua precisão em um conjunto de validação separado que obtive com meus dados. Este conjunto de validação possui apenas 12 amostras, o que causa um empate na precisão de 3 k (1,3,5).

Agora, estou procurando uma maneira de escolher um desses 3 k para o modelo definitivo. Eu tinha a seguinte abordagem em mente: para os 3 k's, faço a validação cruzada em K-fold para um determinado K no conjunto de treinamento e depois vejo qual deles tem a melhor precisão média aqui. É uma abordagem decente ou existem melhores opções? Também pensei em escolher um k aleatório (1, 3 ou 5), porque o 'procedimento de validação' me diz que posso escolher qualquer um dos 3.

xzeo
fonte

Respostas:

7

Esse problema ocorre quando você tem um pequeno conjunto de teste, que pode causar vários modelos para amarrar , por alcançar o mesmo número de previsões corretas.

O método que você disse primeiro deve fazer. Como no CV, cada modelo vê cada amostra de treinamento uma vez, considero improvável que seus três modelos tenham a mesma precisão. Se isso persistir, é seguro escolher aleatoriamente (eu usaria 3 porque é o elemento do meio)

kfn95
fonte
1

O princípio de Occam sugere que você opte pelo modelo mais simples possível. Então você deve ir para esse. Mas, para ter uma idéia melhor da generalização do modelo, sugiro que você use a validação cruzada aninhada.

Burple
fonte