Prefiero preocuparme por su capacidad de ajuste de parámetros y su interfaz uniforme, pero he observado que siempre requiere conjuntos de datos completos (es decir, sin NA), incluso si el modelo "desnudo" aplicado permite NA. Eso es muy molesto, ya que uno debe aplicar métodos de imputación laboriosos, que no son necesarios en primer lugar. ¿Cómo se puede evadir la imputación y seguir utilizando las ventajas de los cuidados?
r
missing-data
data-imputation
caret
Fredrik
fuente
fuente
Respuestas:
Para la función train en caret, puede pasar el parámetro na.action = na.pass y no preprocesar (no especifique preProcess, déjelo como su valor predeterminado NULL). Esto pasará los valores de NA sin modificar directamente a la función de predicción (esto hará que las funciones de predicción que no admiten valores faltantes fallen, para aquellos que necesitaría especificar preProcess para imputar los valores faltantes antes de llamar a la función de predicción). Por ejemplo:
En este caso, C5.0 manejará los valores faltantes por sí mismo.
fuente
train
tener lana.action = na.pass
opción establecida, se producirá el siguiente error:Something is wrong; all the RMSE metric values are missing
¿Has intentado recodificar las NA? Algo> 3 desviaciones estándar fuera de sus datos (por ejemplo, -12345) debería alentar a C5.0 a predecirlas por separado, como sucede con las NA.
fuente
Creo que su solución sería imputar los valores mientras usa la función predict () .
Ver
?predict.train
para más detalles.Puede usar
na.omit
para permitir que caret impute valores. Por ejemplo:de http://www.inside-r.org/packages/cran/caret/docs/predict.train
Otra solución sería imputar mientras se preprocesan los datos:
de http://www.inside-r.org/node/86978
fuente