Brincando com o Boston Housing Dataset e RandomForestRegressor
(com parâmetros padrão) no scikit-learn, notei algo estranho: a pontuação média de validação cruzada diminuiu à medida que aumentava o número de dobras além de 10. Minha estratégia de validação cruzada era a seguinte:
cv_met = ShuffleSplit(n_splits=k, test_size=1/k)
scores = cross_val_score(est, X, y, cv=cv_met)
... onde num_cvs
foi variado. I definido test_size
para 1/num_cvs
espelhar o comportamento tamanho dividida trem / teste de CV k vezes. Basicamente, eu queria algo como CV k-fold, mas também precisava de aleatoriedade (daí o ShuffleSplit).
Este estudo foi repetido várias vezes, e pontuações médias e desvios padrão foram plotados.
(Observe que o tamanho de k
é indicado pela área do círculo; o desvio padrão está no eixo Y.)
Consistentemente, aumentar k
(de 2 para 44) produziria um breve aumento na pontuação, seguido de uma diminuição constante à medida que k
aumentasse ainda mais (além de ~ 10 dobras)! Se alguma coisa, eu esperaria que mais dados de treinamento levassem a um pequeno aumento na pontuação!
Atualizar
Alterar os critérios de pontuação para significar erro absoluto resulta em um comportamento que eu esperaria: a pontuação melhora com um número maior de dobras no CV com dobras K, em vez de se aproximar de 0 (como no padrão, ' r2 '). A questão permanece: por que a métrica de pontuação padrão resulta em baixo desempenho nas métricas média e de DST para um número crescente de dobras?