Eu prefiro o sinal de intercalação por sua capacidade de ajuste de parâmetros e interface uniforme, mas observei que ele sempre exige conjuntos de dados completos (ou seja, sem NAs), mesmo que o modelo "nu" aplicado permita NAs. Isso é muito incômodo, pois é necessário aplicar métodos de imputação trabalhosos, que não são necessários em primeiro lugar. Como evitar a imputação e ainda usar vantagens de sinal de intercalação?
r
missing-data
data-imputation
caret
Fredrik
fonte
fonte
Respostas:
Para a função de trem em circunflexo, você pode passar o parâmetro na.action = na.pass e sem pré-processamento (não especifique pré-processo, deixe-o como seu valor padrão NULL). Isso passará os valores de NA não modificados diretamente para a função de previsão (isso fará com que as funções de previsão que não suportam valores ausentes falhem, para aqueles que você precisaria especificar pré-processo para imputar os valores ausentes antes de chamar a função de previsão). Por exemplo:
Nesse caso, o C5.0 manipulará os valores ausentes por si só.
fonte
train
ter ana.action = na.pass
opção definida, causará o seguinte erro:Something is wrong; all the RMSE metric values are missing
Você já tentou recodificar as NAs? Algo> 3 desvios-padrão fora de seus dados (por exemplo, -12345) deve incentivar o C5.0 a prever esses dados separadamente, como acontece com os NAs.
fonte
Eu acho que sua solução seria imputar os valores enquanto usava a função predict () .
Veja
?predict.train
para mais detalhes.Você pode usar
na.omit
para permitir que o acento circunflexo imute valores. Por exemplo:de http://www.inside-r.org/packages/cran/caret/docs/predict.train
Outra solução seria imputar durante o pré - processamento dos dados:
de http://www.inside-r.org/node/86978
fonte