Talvez essa seja uma pergunta tola, mas, ao gerar um modelo com sinal de intercalação e usar algo como LOOCV
ou (ainda mais direto ao ponto) LGOCV
, qual é o benefício de dividir dados em conjuntos de trens e testes, se é basicamente isso que a etapa de validação cruzada faz assim mesmo?
Eu li algumas das perguntas relacionadas e elas sugeriram que alguns dos métodos de validação cruzada (por exemplo, o que é descrito aqui no site de intercalação ) são para fins de seleção de recursos . Mas, no meu caso, estou usando randomForest
( method = "rf"
) e kernlab
( method = svmRadial
), que não estão listados no grupo que tenta eliminar os preditores.
Portanto, minha pergunta é se eu uso algo como cross_val <- trainControl(method = "LGOCV", p = 0.8)
, não é o mesmo que treinar 80% dos meus dados, testar o modelo resultante nos 20% restantes e fazer isso repetidamente para ter uma idéia de quão bem o modelo está funcionando?
Em caso afirmativo, é necessário dividir meus dados em conjuntos de trem / teste?
PS: Em parte pergunto enquanto estou conduzindo modelos em protótipos do DOE gerados empiricamente (pense em bens duros onde ajustamos as entradas e depois usamos métodos de teste para medir vários atributos sobre o protótipo).
Como tal, não tenho um grande conjunto de dados com muitos níveis de preditores sobrepostos para modelar - geralmente executamos uma avaliação em cada ponto de interesse do DOE, pois a geração de dados é cara nesse caso. Assim, eu gostaria de usar todos os dados possíveis para um modelo preciso, mas queria verificar aqui que não estou perdendo algo óbvio e criando um modelo ruim por não dividir as coisas.
Edit: Em resposta à pergunta do @ topepo, estou modelando atributos medidos fisicamente de um composto com base no ajuste das entradas químicas da fórmula. Não posso discutir minha aplicação real, mas vou fazer um exemplo com base na formulação de tinta látex interior. Estou realizando experimentos projetados em que misturamos 4-5 produtos químicos, talvez brinque com% de sólidos e uma quantidade de tempo para aquecer a solução de polímero para ajustar o grau de polimerização.
Poderemos então medir reologia, peso molecular, dureza do revestimento de tinta, resistência à água, etc.
Temos réplicas decentes de várias variáveis, mas poucas réplicas verdadeiras no sentido de que todos os níveis de DOE eram exatamente iguais. O conjunto total de dados é de ~ 80 observações e talvez 4-5 sejam repetições exatas. Realizamos 15 testes diferentes, e talvez 5 a 6 deles foram feitos para cada observação. Algumas das respostas estão presentes para 25-50% dos dados.
A partir daqui, gostaríamos de modelar os efeitos de nossos 7 preditores nas propriedades de saída e, em seguida, otimizar para direcionar novos espaços de design com maior probabilidade de fornecer as propriedades desejadas.
(Daí minha pergunta AQUI . Depois de ter um modelo treinado, seria bom fazer o "inverso" e alimentar as respostas desejadas para obter a melhor estimativa dos possíveis níveis de entrada para tentar a seguir).
data_set1
, com o que considero a etapa executada pela LGOCV
validação cruzada? Pela minha leitura, estou assumindo que 1) caret
repete os parâmetros de ajuste data_set1
e, em seguida, 2) mantém esses parâmetros fixos e 3) cria um "submodelo" usando parâmetros do nº 1 para cada p = 0.8
amostra data_set1
e testa previsões nos 0,2 restantes para medir a precisão . Esse é um resumo razoável?