Qual o tipo de validação cruzada mais adequado ao problema de classificação binária


7

O conjunto de dados se parece com:

  • 25000 observações
  • até 15 preditores de diferentes tipos: numérico, multi-classe categórica, binário
  • variável de destino é binária

Qual método de validação cruzada é típico para esse tipo de problema?

Por padrão, estou usando o K-Fold. Quantas dobras é suficiente neste caso? (Um dos modelos que eu uso é a floresta aleatória, que consome tempo ...)


2
Com k = 5, você obterá 20k observações no conjunto de treinamento e 5k no conjunto de testes. Com k = 25, você receberá 24k para treinamento e 1k para teste. Se você acredita que registros adicionais de 4k afetarão muito a generalização, use k maior. Se você acha que mesmo, digamos, 10k registros já oferecem boa generalização, use k menor. Se não tiver certeza, use a validação cruzada padrão de 10 vezes, o que é um bom compromisso na maioria dos casos.
ffriend

Respostas:


5

Você terá melhores resultados se desejar criar as dobras para que cada variável (e mais importante a variável de destino) seja distribuída aproximadamente de forma idêntica em cada dobra. Isso é chamado, quando aplicado à variável de destino, dobra k estratificada. Uma abordagem é agrupar as entradas e garantir que cada dobra contenha o mesmo número de instâncias de cada cluster proporcional ao seu tamanho.


4

Eu acho que no seu caso um CV de 10 vezes será bom

Eu acho que é mais importante randomizar o processo de validação cruzada do que selecionar o valor ideal para k.

Portanto, repita o processo CV várias vezes aleatoriamente e calcule a variação do resultado da sua classificação para determinar se os resultados são confiáveis ​​ou não.


2

Eu tenho que concordar que o k-fold deve funcionar "muito bem". No entanto, há um bom artigo sobre o método "Bootstrap .632+" (basicamente uma validação cruzada suavizada) que deve ser superior (no entanto, eles fizeram as comparações de dados não binários, tanto quanto eu sei)

Talvez você queira conferir este artigo aqui: http://www.jstor.org/stable/2965703


0

O K-Fold deve funcionar bem para problemas de classificação binária. Dependendo do tempo que leva para treinar seu modelo e prever o resultado, eu usaria de 10 a 20 dobras.

No entanto, às vezes, uma única dobra leva vários minutos; nesse caso, uso 3-5 dobras, mas não menos que 3. Espero que ajude.


0

Para ser honesto, a classificação binária é o tipo mais fácil em comparação com a classificação de várias classes, pois às vezes por erro você pode classificar uma classe errada para a correta. Portanto, se você tiver um conjunto de dados com várias classes, precisará de uma boa distribuição entre elas. No entanto, em caso de classificação binária, se sua distribuição de classes for equilibrada o suficiente, você pode facilmente ir para CV = 10 para observações de 25k, no entanto, se a distribuição de classes for distorcida, é melhor você ir com menos CV.

Então, em poucas palavras, no caso de distribuição binária, o valor do CV realmente depende da distribuição da classe e não muito do número de observações.


0

A menos que a distribuição do rótulo seja equilibrada, a amostragem estratificada de dobras fornecerá uma estimativa de desempenho melhor do que a amostragem aleatória.

Além disso, tente evitar que as amostras correlacionadas acabem em dobras diferentes. Caso contrário, é provável que seus modelos estejam sobreajustados e o erro seja subestimado. Por exemplo, se seus dados contiverem correlação temporal, sempre divida por tempo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.