Você está na página 1de 1

Pré-processamento Métricas de perfomance

caret Pacote Transformações, filtros e outras operações podem ser aplicadas Para escolher como resumir o modelo, a função trainControl
Folha de referência aos preditores com a opção preProc. é utilizada novamente.
trainControl(summaryFunction = <R function>,
train(, preProc = c("method1", "method2"), ...)
classProbs = <logical>)
Especificando o Modelo Métodos incluem: Funções configuradas do R podem ser usadas, mas o pacote
caret inclui diversas: defaultSummary (para acurácia,RMSE,
Possíveis sintaxes para especificar as variáveis no modelo: • "center", "scale" e "range" para normalizar os
train(y ~ x1 + x2, data = dat, ...) etc), twoClassSummary (para curvas ROC) e prSummary
preditores.
train(x = predictor_df, y = outcome_vector, ...) (para recuperação de informação). Para as duas últimas funções, a
• "BoxCox", "YeoJohnson" ou "expoTrans" para opção classProbs deve ser definida como TRUE.
train(recipe_object, data = dat, ...)
transformar os preditores.
• rfe, sbf, gafs, e safs possuem somente x/y interface. • "knnImpute", "bagImpute" ou "medianImpute"
• A fórmula do método train sempre criará variáveis
para importar. Grid Search
dummy. • "corr", "nzv", "zv" e "conditionalX" para filtrar.
Para permitir que train determine os valores de otimização, a
• A x/y interfacepara train não criará variáveis dummy • "pca", "ica" ou "spatialSign" para transformar grupos.
opção tuneLength controla quantos valores por parâmetro
(porém a função submetida ao modelo talvez faça). train determina a ordem das operações; a ordem que os per tuning para avaliar.
Lembre-se: métodos são declarados não importa.
Alternativamente,valores específicos de hiperparâmetros
• De nomear colunas em seus dados. O pacote recipes possui uma lista mais extensa de operações podem ser declarados utilizando o argumento tuneGrid :
• De usar fatores para o resultado de classificação (não 0/1 ou de pré-processamento.
inteiros). grid <- expand.grid(alpha = c(0.1, 0.5, 0.9),
• De ter nomes válidos em R para classificar níveis (não “0”/”1”)
Opções adicionais lambda = c(0.001, 0.01))
Muitas opções de train podem ser especificadas utilizando a
• Defina o numero aleatório antes de executar train train(x = x, y = y, method = "glmnet",
função trainControl:
repetidamente antes de obter as mesmas reamostragens. preProc = c("center", "scale"),
train(y ~ ., data = dat, method = "cubist", tuneGrid = grid)
• Use o train com opção na.action = na.pass se
você for importar dados ausentes. Também use a trControl = trainControl(<options>))
opção para predição de novos dados ausentes.
Opções de reamostragem Random Search
Para passar opções para a função do modelo, você pode trainControl é utilizado para escolher um método
executá-las em train via ellipses: de reamostragem: Para otimização, train pode também gerar combinações
train(y ~ ., data = dat, method = "rf", aleatórias de parâmetros de ajuste em uma ampla faixa.
trainControl(method = <method>, <options>)
# options to `randomForest`: tuneLength controla o total de combinações para avaliar.
importance = TRUE) Métodos e opções são: Para usar random search:
• "cv" para K-fold validação cruzada (number define o n° de
Processamento Paralelo partes). trainControl(search = "random")

O pacote foreach é utilizado para executar o modelo em • "repeatedcv" para validação cruzada repetida(repeats
para n° de repetições).
Subamostragem
paralelo. O código de train não muda, porém um pacote
“do” deve ser acionado primeiro. • "boot" para bootstrap (number define as interações).
Com uma grande classe desequilibrada, train pode
• "LGOCV" para leave-group-out (number e p são opções). subamostrar os dados para balancear as classes anterior ao
# em MacOS ou Linux # em Windows
library(doMC) library(doParallel) • "LOO" para validação cruzada leave-one-out. ajuste do modelo.
registerDoMC(cores=4) cl <- makeCluster(2) • "oob" para reamostragemout-of-bag (somente para alguns
registerDoParallel(cl) modelos). trainControl(sampling = "down")

• "timeslice" para dados temporais (as opções são Outros valores são "up", "smote" ou "rose". Os dois últimos
A função parallel::detectCores também pode ajudar.
initialWindow, horizon, fixedWindow e skip). talvez necessitem instalar pacotes adicionais.

CC BY SA Max Kuhn •max@rstudio.com •https://github.com/topepo/ Aprenda mais em: https://topepo.github.io/caret/ •Atualizado: 9/17
Traduzido por Karen da Silva Lopes •https://www.linkedin.com/in/karen-lopes/

Você também pode gostar