Estoy usando la biblioteca 'caret' para hacer algunas validaciones cruzadas en algunos árboles.parámetros con el mismo nombre
La biblioteca proporciona una función llamada train
, que toma un argumento con nombre "método". A través de sus puntos suspensivos se supone que permite que otros argumentos caigan en otra función que llama. Esta otra función (rpart
) toma un argumento del mismo nombre, "método".
Por lo tanto, quiero pasar dos argumentos con el mismo nombre ... y claramente está fallando. Traté de evitar las cosas como se muestra a continuación, pero me sale el error:
"Error en train.default (x = myx, y = myy, method =" rpart2 ", preProcess = NULL,: argumento formal" método "acompañado de varios argumentos reales"
cualquier ayuda es muy apreciada! gracias!
train.wrapper = function(myx, myy, mytrControl, mytuneLenght, ...){
result = train(
x=myx,
y=myy,
method="rpart2",
preProcess=NULL,
...,
weights=NULL,
metric="Accuracy",
trControl=mytrControl,
tuneLength=mytuneLenght
)
return (result)
}
dtree.train.cv = train.wrapper(training.matrix[,2:1777],
training.matrix[,1],
2, method="class")
¿Qué hace 'entrenar' con el argumento 'método', que no sea pasarlo a rpart? –
tren usa el argumento "its" method para elegir a qué función llamar internamente ... así que arriba, train llamaría internamente a la función "rpart" que tiene un argumento de "método" y al cual estoy tratando de acceder pasando por las elipsis del tren. – Diego