Modelos de empilhamento / montagem com circunflexo

21

Costumo me encontrar treinando vários modelos preditivos diferentes usando caretem R. Vou treiná-los todos nas mesmas dobras de validação cruzada, usando caret::: createFoldse depois escolho o melhor modelo com base em erro de validação cruzada.

No entanto, a previsão mediana de vários modelos geralmente supera o melhor modelo único em um conjunto de testes independente. Estou pensando em escrever algumas funções para empilhar / agrupar modelos de intercalação que foram treinados com as mesmas dobras de validação cruzada, por exemplo, fazendo previsões medianas de cada modelo em cada dobra ou treinando um "metamodelo".

Obviamente, isso pode exigir um loop externo de validação cruzada. Alguém sabe de algum pacote existente / código-fonte aberto para modelos de intercalação de conjuntos (e possivelmente validação cruzada desses conjuntos)?

Zach
fonte

Respostas:

19

Parece que Max Kuhn realmente começou a trabalhar em um pacote para montar modelos de sinal de intercalação , mas ainda não teve tempo para finalizá-lo. Era exatamente isso que eu estava procurando. Espero que o projeto termine um dia!

edit: eu escrevi meu próprio pacote para fazer isso: caretEnsemble

Zach
fonte
1
Excelente trabalho neste pacote!
Mikeycgto
8

O que você está procurando é chamado de "conjunto de modelos". Um tutorial introdutório simples com código R pode ser encontrado aqui: http://viksalgorithms.blogspot.jp/2012/01/intro-to-ensemble-learning-in-r.html

thiakx
fonte
3
Não é exigente, mas "ensembling" está no título do meu post. Estou procurando especificamente um pacote R para montar modelos arbitrários, o que parece não existir. Obrigado por postar o código, no entanto. Talvez eu escreva meu próprio pacote!
Zach
1

Não sei bem o que você está procurando, mas isso pode ajudar: http://www.jstatsoft.org/v28/i05/paper

É como usar vários modelos no cursor. A parte em que você pode estar interessado é a seção 5 na pág. 13)

Coruja
fonte
O que estou procurando é um pacote que receba como entrada uma lista de objetos de sinal de intercalação e, em seguida, produza a média mediana, média ou média ponderada de suas previsões. Funcionalidades mais avançadas podem incluir otimizar os pesos por meio da validação cruzada aninhada.
Zach