O CARET usará automaticamente uma grade de ajuste pré-especificada para criar vários modelos antes de selecionar um modelo final e depois treinar o modelo final com os dados completos do treinamento. Eu posso fornecer à minha própria grade de sintonia apenas uma combinação de parâmetros. No entanto, mesmo neste caso, o CARET "seleciona" o melhor modelo entre os parâmetros de ajuste (embora exista apenas um neste caso) e, em seguida, ajusta o modelo final a todos os dados de treinamento. Este é um passo extra que eu gostaria de evitar.
Como eu simplesmente pulo a etapa de pesquisa de modelo entre as variações na grade de ajuste e forço o CARET a criar todos os dados de treinamento (além de chamar diretamente a biblioteca de modelos subjacente)?
Respostas:
Você pode especificar
method="none"
notrainControl
. Por exemplo:Não tenho certeza de quando isso foi implementado.
fonte
A melhor maneira seria fornecer explicitamente o quadro de dados tuneGrid. Por exemplo, a floresta aleatória possui apenas um parâmetro de ajuste, 'mtry', que controla o número de recursos selecionados para cada árvore.
Para definir mtry em um valor específico, você pode escolher o padrão randomForest (? RandomForest):
onde M é o valor único do parâmetro de ajuste que você deseja usar.
para vários parâmetros de ajuste, faça o seguinte:
fonte
method="none"
é a melhor solução.Eu não acho que é possível (pelo menos não era possível a partir de algumas versões atrás). Pode-se reduzir o impacto no desempenho configurando apenas uma única partição de reamostragem nos dados de treinamento (mas o cursor ainda treinaria um modelo duas vezes)
Isso soa como um recurso útil, então eu gostaria de executar ping no autor do pacote.
fonte