Diego Martín
2020-Jan-03 18:59 UTC
[R-es] A modern object-oriented machine learning framework in R
Estimados amigos: Esta tarde he estado probando la librería mlr3, que me resulta muy interesante para trabajos de clasificación. En concreto, para entender su funcionamiento he probado un ejemplo simple (viene en CRAN). Sin embargo, cuando cambio el parámetro de clasifiación en la función de aprendizaje, me aparece el error siguiente: *Error: Element with key 'classif.ranger' not found in DictionaryLearner!* La situación es la siguiente: library(ranger) library(mlr3) task_iris <- TaskClassif$new(id = "iris", backend = iris, target = "Species", positive = NULL) # learner <- lrn("classif.rpart", cp = 0.01) learner <- lrn("classif.ranger", cp = 0.01) De forma que, no entiende, no halla, "classif.ranger". Lo cual no ocurre con "classif.rpart". Si bien es el que usa en el ejemplo de CRAN. No veo dónde está el problema. La librería "ranger" carga perfectamente, he consultado *https://mlr3book.mlr-org.com/list-learners.html <https://mlr3book.mlr-org.com/list-learners.html>*, y es una de las posibilidades. La ayuda de lrn(), con la que cuento cuando hago help("lrn"), en mi opinión no es precisa, y no se trata de que esté en inglés, se trata de que no va al grano y, de modo muy genéricio, habla del aprendizaje en esta librería. No corresponde, pero por curiosidad he empleado también la opción "classif.xgboost", y obtengo el mismo error. No me digan, por favor, que xgboost, no sirve para variables categóricas, lo sé, se trata solo de una prueba para ver si esa sí la encontraba en el directorio de la librería. Por adelantado agradezco a todos su atención a mi duda y, por supuesto, la dedicación que le otorguen. Gracias. Diego Martín-Oliva. Geógrafo. [[alternative HTML version deleted]]
Carlos Ortega
2020-Jan-03 22:41 UTC
[R-es] A modern object-oriented machine learning framework in R
Hola Diego, El problema que estás teniendo es por el hiperparámetro "cp" que has usado. Ese hiperparámetro es propio del algoritmo de árbol de decisión "rpart", pero no de "ranger". Mira los hiperparámetros propios de "ranger" y prueba con uno de ellos (por ejemplo n.trees o también mtry). De igual forma, tienes el mismo problema usando xgboost que tampoco tiene "cp" como hiperparámetro. Saludos, Carlos Ortega www.qualityexcellence.es El vie., 3 ene. 2020 a las 20:00, Diego Martín (<ako.sistemas en gmail.com>) escribió:> Estimados amigos: > > Esta tarde he estado probando la librería > mlr3, que me resulta muy interesante para trabajos de clasificación. En > concreto, para entender su funcionamiento he probado un ejemplo simple > (viene en CRAN). Sin embargo, cuando cambio el parámetro de clasifiación en > la función de aprendizaje, me aparece el error siguiente: > > > *Error: Element with key 'classif.ranger' not found in DictionaryLearner!* > > La situación es la siguiente: > > library(ranger) > library(mlr3) > task_iris <- TaskClassif$new(id = "iris", > backend = iris, > target = "Species", > positive = NULL) > # learner <- lrn("classif.rpart", cp = 0.01) > learner <- lrn("classif.ranger", cp = 0.01) > > De forma que, no entiende, no halla, > "classif.ranger". Lo cual no ocurre con "classif.rpart". Si bien es el que > usa en el ejemplo de CRAN. No veo dónde está el problema. La librería > "ranger" carga perfectamente, he consultado > *https://mlr3book.mlr-org.com/list-learners.html > <https://mlr3book.mlr-org.com/list-learners.html>*, y es una de las > posibilidades. > > La ayuda de lrn(), con la que cuento cuando > hago help("lrn"), en mi opinión no es precisa, y no se trata de que esté en > inglés, se trata de que no va al grano y, de modo muy genéricio, habla del > aprendizaje en esta librería. > > No corresponde, pero por curiosidad he empleado > también la opción "classif.xgboost", y obtengo el mismo error. No me digan, > por favor, que xgboost, no sirve para variables categóricas, lo sé, se > trata solo de una prueba para ver si esa sí la encontraba en el directorio > de la librería. > > Por adelantado agradezco a todos su atención a > mi duda y, por supuesto, la dedicación que le otorguen. > > Gracias. > Diego Martín-Oliva. > Geógrafo. > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Diego Martín
2020-Jan-04 12:46 UTC
[R-es] A modern object-oriented machine learning framework in R
Estimadísimo Carlos: Muchísimas gracias por responderme y hacerlo tan rápido. Contemplé esa posibilidad, es decir, que el hiperparámetro estuviera suponiendo un problema, y probé de esta forma:> learner <- lrn("classif.ranger", num.trees = 5, mtry = NULL)Error: Element with key 'classif.ranger' not found in DictionaryLearner! Pero obtuve el mismo error. Como muestro. Reconozco el error de imprecisión al plantear la duda, por no poner esta experiencia. Este resultado, por decirlo de alguna manera, me mueve a pensar que el problema está en el reposititorio de la librería mlr3, al buscar la técnica de clasificación. No sé si hay algo más que no he hecho, además de cargar las librerías que entiendo deben estar, es decir: library(ranger) library(mlr3) Agradeceré cualquier comentario que me hagáis. Gracias Carlos. Diego Martín-Oliva. Geógrafo. PS. Hoja del libro sobre mlr3, donde estuve buscando los *Learners* integrados en el paquete. El vie., 3 ene. 2020 a las 23:42, Carlos Ortega (<cof en qualityexcellence.es>) escribió:> Hola Diego, > > El problema que estás teniendo es por el hiperparámetro "cp" que has usado. > > Ese hiperparámetro es propio del algoritmo de árbol de decisión "rpart", > pero no de "ranger". > Mira los hiperparámetros propios de "ranger" y prueba con uno de ellos > (por ejemplo n.trees o también mtry). > > De igual forma, tienes el mismo problema usando xgboost que tampoco tiene > "cp" como hiperparámetro. > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > El vie., 3 ene. 2020 a las 20:00, Diego Martín (<ako.sistemas en gmail.com>) > escribió: > >> Estimados amigos: >> >> Esta tarde he estado probando la librería >> mlr3, que me resulta muy interesante para trabajos de clasificación. En >> concreto, para entender su funcionamiento he probado un ejemplo simple >> (viene en CRAN). Sin embargo, cuando cambio el parámetro de clasifiación >> en >> la función de aprendizaje, me aparece el error siguiente: >> >> >> *Error: Element with key 'classif.ranger' not found in DictionaryLearner!* >> >> La situación es la siguiente: >> >> library(ranger) >> library(mlr3) >> task_iris <- TaskClassif$new(id = "iris", >> backend = iris, >> target = "Species", >> positive = NULL) >> # learner <- lrn("classif.rpart", cp = 0.01) >> learner <- lrn("classif.ranger", cp = 0.01) >> >> De forma que, no entiende, no halla, >> "classif.ranger". Lo cual no ocurre con "classif.rpart". Si bien es el que >> usa en el ejemplo de CRAN. No veo dónde está el problema. La librería >> "ranger" carga perfectamente, he consultado >> *https://mlr3book.mlr-org.com/list-learners.html >> <https://mlr3book.mlr-org.com/list-learners.html>*, y es una de las >> posibilidades. >> >> La ayuda de lrn(), con la que cuento cuando >> hago help("lrn"), en mi opinión no es precisa, y no se trata de que esté >> en >> inglés, se trata de que no va al grano y, de modo muy genéricio, habla del >> aprendizaje en esta librería. >> >> No corresponde, pero por curiosidad he >> empleado >> también la opción "classif.xgboost", y obtengo el mismo error. No me >> digan, >> por favor, que xgboost, no sirve para variables categóricas, lo sé, se >> trata solo de una prueba para ver si esa sí la encontraba en el directorio >> de la librería. >> >> Por adelantado agradezco a todos su atención a >> mi duda y, por supuesto, la dedicación que le otorguen. >> >> Gracias. >> Diego Martín-Oliva. >> Geógrafo. >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es >[[alternative HTML version deleted]]