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 ...)
Respostas:
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.
fonte
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.
fonte
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
fonte
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.
fonte
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.
fonte
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.
fonte