Gostaria de saber que tipo de validação cruzada de modelo escolher para o problema de classificação: dobra K ou subamostragem aleatória (amostragem de inicialização)?
Meu melhor palpite é usar 2/3 do conjunto de dados (que é ~ 1000 itens) para treinamento e 1/3 para validação.
Nesse caso, a dobra em K fornece apenas três iterações (dobras), o que não é suficiente para ver um erro médio estável.
Por outro lado, não gosto do recurso de subamostragem aleatória: alguns itens nunca serão selecionados para treinamento / validação e outros serão usados mais de uma vez.
Algoritmos de classificação utilizados: floresta aleatória e regressão logística.
cross-validation
sampling
IharS
fonte
fonte
Respostas:
Se você tem um número adequado de amostras e deseja usar todos os dados, a validação cruzada com dobra k é o caminho a percorrer. Ter ~ 1.500 parece muito, mas se é adequado para a validação cruzada k-fold também depende da dimensionalidade dos dados (número de atributos e número de valores de atributos). Por exemplo, se cada observação tiver 100 atributos, 1.500 observações serão baixas.
Outra desvantagem potencial da validação cruzada k-fold é a possibilidade de um único outlier extremo distorcer os resultados. Por exemplo, se você tem um erro externo extremo que pode influenciar fortemente o seu classificador, em uma validação cruzada de 10 vezes, 9 das 10 partições serão afetadas (embora para florestas aleatórias, eu não acho que você teria esse problema )
A subamostragem aleatória (por exemplo, amostragem de autoinicialização) é preferível quando você está subamostrado ou quando tem a situação acima, em que não deseja que cada observação apareça em dobras k-1.
fonte
Acho que você diz que deseja usar a validação cruzada três vezes porque conhece alguma coisa sobre seus dados (que usar k = 10 causaria super adequação? Estou curioso para o seu raciocínio). Não tenho certeza de que você saiba disso; caso contrário, pode simplesmente usar um k maior.
Se você ainda acha que não pode usar a validação cruzada de dobras k padrão, pode modificar um pouco o algoritmo: diga que divide os dados em 30 dobras e sempre use 20 para treinamento e 10 para avaliação (e depois mude para cima uma dobra e use o primeiro e o último 9 como avaliação e o restante como treinamento). Isso significa que você pode usar todos os seus dados.
Quando uso a validação cruzada k-fold, normalmente executo o processo várias vezes com uma randomização diferente para garantir que eu tenha dados suficientes; caso contrário, você verá desempenhos diferentes, dependendo da randomização. Nesses casos, eu sugeriria amostragem. O truque então é fazê-lo com bastante frequência.
fonte