[R-es] Random Forest para clasificación

Jesús Para Fernández j.para.fernandez en hotmail.com
Mar Abr 12 11:33:22 CEST 2016


Mi matriz de datos inicial estaba muy desbalanceada (5% de la clase minoritaria), por lo que he creado con el algoritmo SMOTE un dataset balanceado con el que he creado el modelo, y luego sobre ese modelo he creado la matriz de confusión con los datos originales.

Respecto a lo que me comentas, Carlos, creo que además de todo lo que comentas, que está bien, en micaso es necesario también saber no sólo que variable influye sino como influye, y esto en un randomForest es complejo, ya que es una caja negra. 

Por ello es por lo que buscaba la mejor manera, y una era medainte partialPlot y la otra mediante árboles de clasificación, pero esta segunda manera me empobrece el modelo.

Un saludo
Jesús

Date: Tue, 12 Apr 2016 11:01:16 +0200
Subject: Re: [R-es] Random Forest para clasificación
From: cof en qualityexcellence.es
To: j.para.fernandez en hotmail.com
CC: r-help-es en r-project.org

Hola,
Entonces si tienes:La importancia de las variables (esto lo obtienes directamente con "importance").Tienes la matriz de confusión.Con esto tienes bastante información sobre la bondad de tu modelo y sobre qué variables influyen más en tu variable objetivo.Lo único que veo que te haría falta es determinar:La precisión utilizando cualquiera de las medidas de error que existen: Accuracy, Kappa, LogLoss, RSE, RMSE....Y quizás evaluar un poco más finamente tu modelo con un CV para ver con amplitud si es que no estás haciendo overfitting.¿Has hecho tu modelo directamente?. Quiero decir sin utilizar una parte para entrenar y otra parte para hacer "test".
Saludos,Carlos.

El 12 de abril de 2016, 10:39, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:




No no, eso lo he sacaod, es decir, tengo la matriz de confusión para las OK/NOK, lo que no entiendo es como extraer las conclusiones sobre el modelo, de cara a como afectan las variables. He seguido dos estrategias:

1-Crear arboles de clasificacion con las variables más importantes del random Forest, pero el modelo se empobrece bastante.
2- Sacar los partialPlot, para ver la influencia de cada variable, pero no termino de entender el significado del eje Y para estos gráficos. Por lo que he visto, con tu aportación primera, es que es el porcentaje de Votos OK/NOK, pero me queda la duda de saber si el 1 es el OK y el -1 el NOK o al revés.

Gracias Carlos!
Jesús
Date: Tue, 12 Apr 2016 10:28:44 +0200
Subject: Re: [R-es] Random Forest para clasificación
From: cof en qualityexcellence.es
To: j.para.fernandez en hotmail.com
CC: r-help-es en r-project.org

Hola,
Entonces, por tu última pregunta, tu duda no es realmente sobre el significado de "partialPlot" si no realmente si a la hora de hacer tu modelo, "randomForest" está haciendo una buena o mala clasificación. ¿Es así?. Porque entonces lo que hay que aclarar es otra cosa.
Si lo que quieres determinar con precisión es si cuando "randomForest" (o cualquier otro modelo) te está indicando que un individuo (una fila) pertenece o no a una clase determinada (en tu caso "OK" o "KO") lo que tienes que plantearte son otras cosas. Antes de hablar de ellas, prefiero confirmar contigo si es esto lo que buscas o no.
Saludos,Carlos Ortegawww.qualityexcellence.es

El 12 de abril de 2016, 10:17, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:




Gracias por la pronta respuesta, pero tras leer la contestación de la gente, sigo sin entender muy bien la explicación.

Le responden lo siguiente:
"Each point on the partial dependence plot is the average vote 
percentage in favor of the "Yes trees" class across all observations, 
given a fixed level of TRI.

It's not a probability of correct classification. It has absolutely 
nothing to do with accuracy, true negatives, and true positives.


When you see the phrase



  Values greater than TRI 30 begin to have a positive influence for classification in your model



is an puffed-up way of saying



  Values greater than TRI 30 begin to predict "Yes trees" more strongly than values lower than TRI 30"


    Es decir, que el eje Y es el total de votos de una clase frente a la otra, pero como está codificado con -1 y +1, como se cual es la clase OK y la NOK?

Gracias
Jesús
Date: Tue, 12 Apr 2016 10:04:15 +0200
Subject: Re: [R-es] Random Forest para clasificación
From: cof en qualityexcellence.es
To: j.para.fernandez en hotmail.com
CC: r-help-es en r-project.org

Hola,
Aquí tienes una explicación:
http://stats.stackexchange.com/questions/121383/interpreting-y-axis-of-a-partial-dependence-plots

Saludos,Carlos Ortegawww.qualityexcellence.es
El 12 de abril de 2016, 7:13, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:
Buenas,



Cuando estoy haciendo un random Forest para clasificación y hago el gráfico partialPlot, siendo mi respuesta OK/NOK, me sale en el eje X el valor de la variable, pero en el eje Y me salen valores de entre -1 y 1. ¿Qué significado tiene?



Adjunto un ejemplo:



https://www.dropbox.com/s/4b92lqxi3592r0d/Captura.JPG?dl=0





Gracias!!!



        [[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
 		 	   		  


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
 		 	   		  


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
 		 	   		  
	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es