[R-es] Problema con tabla de metadatos
Buen día estimada comunidad, Actualmente tengo un problema cuando carga mi tabla de metadatos, una vez importada de excel, escribo el siguiente código para preparar mis metadatos para crear mi objeto phyloseq, sin embargo a la hora de realizar esto me elimina la primera columna con los datos de las muestras. El código es el siguiente: > row.names(metadata) <- metadata$sample > metadata <- metadata %>% select (-sample) **Aquí es donde me borra la primer columna** *El resto del codigo.* > METADA = sample_data(metadata, errorIfNULL = T) > carbom <- phyloseq(OTU, TAX, metadata) > total = median(sample_sums(carbom)) > standf = function(x, t=total) round(t * (x / sum(x))) > carbom = transform_sample_counts(carbom, standf) > carbom_ord <- ordinate(carbom, "PCoA", "bray") > carbom_ord <- ordinate(carbom, "NMDS", "bray") Lo platique con unos compañeros y me dicen que probablemente uno de los paquetes que estoy utilizando no se instaló bien, sin embargo, ya he vuelto a instalar los paquetes y la situación es la misma. Gracias de antemano, Saludos cordiales [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] Fwd: weighted random forest
Gracias Jesús, sí, haré remuestreos. Yo suelo usar una función que me pasó un colega: # A function to generate the equal number of samples (n) for different classes bsample <- function(data,cname,n) { d <- data[-c(1:nrow(data)),] u <- unique(data[,cname]) for (uu in u) { w <- which(data[,cname] == uu) if (length(w) >= n) { s <- sample(w,n) } else { s <- sample(w,n,replace=TRUE) } d <- rbind(d,data[s,]) } d } # for your data: table(data$Clst) mean<-mean(table(data$Clst)) data <- bsample(data,'Clst',mean) # this takes 100 records for each class in your dataset table(data$Clst) Por si le sirve a alguien, Clst sería la variable objetivo. En vez de bsample(data,'Clst',mean) se puede, p.e., (data,'Clst', *2**mean) Manuel El vie, 22 ene 2021 a las 16:10, Jesús Para Fernández (< j.para.fernan...@hotmail.com>) escribió: > Has probado en usar en vez de algoritmos sensibles al coste, usar técnicas > de remuestreo? Hay un paquete de la UGR llamado imbalance que funciona muy > bien. > > > -- > *De:* R-help-es en nombre de Manuel > Mendoza > *Enviado:* viernes, 22 de enero de 2021 11:43 > *Para:* Lista R > *Asunto:* [R-es] weighted random forest > > Buenos días, tengo una base de datos desequilibrados (unbalanced) en la que > las ausencias son 9 veces más abundantes que las presencias (*ratio *= 9). > Para árboles de clasificación utilizo una matriz de pérdidas > parms=list(loss=matrix(c(0, > FP, *ratio *,0)))o un vector de ponderación que le da 9 veces más peso a > las presencias. Como cabría esperar, la sensibilidad y sensitividad se > hacen parecidas. Pasan de ser > 89/39 a 79/76 y kappa sube de 0.24 a 0.30. > > El problema surge cuando intento hacer lo mismo con random forest, y > supongo que no lo estoy haciendo bien. Uso RFfit <- randomForest(Dep ~. , > classwt = c(1, *ratio * ), data=data). La sensibilidad y sensitividad se > quedan casi igual 90/40 y kappa también 0.25. > > Sé que se puede hacer con ranger, pero, por razones que no vienen al caso, > no me viene bien cambiar. > > Gracias, como siempre, > Manuel > > [[alternative HTML version deleted]] > > ___ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] weighted random forest
Gracias Carlos, la verdad es que no me lo solucionó, seguramente por falta mía de conocimientos. Haré remuestreo como dice Jesús. El vie, 22 ene 2021 a las 12:46, Carlos Ortega () escribió: > Hola Manuel, > > No dan una respuesta concluyente, pero sí algunas pistas... > > > https://stackoverflow.com/questions/57076570/how-to-calculate-class-weights-for-random-forests > > Gracias, > Carlos Ortega > www.qualityexcellence.es > > El vie, 22 ene 2021 a las 11:43, Manuel Mendoza (< > mmend...@fulbrightmail.org>) escribió: > >> Buenos días, tengo una base de datos desequilibrados (unbalanced) en la >> que >> las ausencias son 9 veces más abundantes que las presencias (*ratio *= 9). >> Para árboles de clasificación utilizo una matriz de pérdidas >> parms=list(loss=matrix(c(0, >> FP, *ratio *,0)))o un vector de ponderación que le da 9 veces más peso a >> las presencias. Como cabría esperar, la sensibilidad y sensitividad se >> hacen parecidas. Pasan de ser >> 89/39 a 79/76 y kappa sube de 0.24 a 0.30. >> >> El problema surge cuando intento hacer lo mismo con random forest, y >> supongo que no lo estoy haciendo bien. Uso RFfit <- randomForest(Dep ~. , >> classwt = c(1, *ratio * ), data=data). La sensibilidad y sensitividad se >> quedan casi igual 90/40 y kappa también 0.25. >> >> Sé que se puede hacer con ranger, pero, por razones que no vienen al caso, >> no me viene bien cambiar. >> >> Gracias, como siempre, >> Manuel >> >> [[alternative HTML version deleted]] >> >> ___ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es > [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] weighted random forest
Has probado en usar en vez de algoritmos sensibles al coste, usar t�cnicas de remuestreo? Hay un paquete de la UGR llamado imbalance que funciona muy bien. De: R-help-es en nombre de Manuel Mendoza Enviado: viernes, 22 de enero de 2021 11:43 Para: Lista R Asunto: [R-es] weighted random forest Buenos d�as, tengo una base de datos desequilibrados (unbalanced) en la que las ausencias son 9 veces m�s abundantes que las presencias (*ratio *= 9). Para �rboles de clasificaci�n utilizo una matriz de p�rdidas parms=list(loss=matrix(c(0, FP, *ratio *,0)))o un vector de ponderaci�n que le da 9 veces m�s peso a las presencias. Como cabr�a esperar, la sensibilidad y sensitividad se hacen parecidas. Pasan de ser 89/39 a 79/76 y kappa sube de 0.24 a 0.30. El problema surge cuando intento hacer lo mismo con random forest, y supongo que no lo estoy haciendo bien. Uso RFfit <- randomForest(Dep ~. , classwt = c(1, *ratio * ), data=data). La sensibilidad y sensitividad se quedan casi igual 90/40 y kappa tambi�n 0.25. S� que se puede hacer con ranger, pero, por razones que no vienen al caso, no me viene bien cambiar. Gracias, como siempre, Manuel [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] weighted random forest
Hola Manuel, No dan una respuesta concluyente, pero sí algunas pistas... https://stackoverflow.com/questions/57076570/how-to-calculate-class-weights-for-random-forests Gracias, Carlos Ortega www.qualityexcellence.es El vie, 22 ene 2021 a las 11:43, Manuel Mendoza () escribió: > Buenos días, tengo una base de datos desequilibrados (unbalanced) en la que > las ausencias son 9 veces más abundantes que las presencias (*ratio *= 9). > Para árboles de clasificación utilizo una matriz de pérdidas > parms=list(loss=matrix(c(0, > FP, *ratio *,0)))o un vector de ponderación que le da 9 veces más peso a > las presencias. Como cabría esperar, la sensibilidad y sensitividad se > hacen parecidas. Pasan de ser > 89/39 a 79/76 y kappa sube de 0.24 a 0.30. > > El problema surge cuando intento hacer lo mismo con random forest, y > supongo que no lo estoy haciendo bien. Uso RFfit <- randomForest(Dep ~. , > classwt = c(1, *ratio * ), data=data). La sensibilidad y sensitividad se > quedan casi igual 90/40 y kappa también 0.25. > > Sé que se puede hacer con ranger, pero, por razones que no vienen al caso, > no me viene bien cambiar. > > Gracias, como siempre, > Manuel > > [[alternative HTML version deleted]] > > ___ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] weighted random forest
Buenos días, tengo una base de datos desequilibrados (unbalanced) en la que las ausencias son 9 veces más abundantes que las presencias (*ratio *= 9). Para árboles de clasificación utilizo una matriz de pérdidas parms=list(loss=matrix(c(0, FP, *ratio *,0)))o un vector de ponderación que le da 9 veces más peso a las presencias. Como cabría esperar, la sensibilidad y sensitividad se hacen parecidas. Pasan de ser 89/39 a 79/76 y kappa sube de 0.24 a 0.30. El problema surge cuando intento hacer lo mismo con random forest, y supongo que no lo estoy haciendo bien. Uso RFfit <- randomForest(Dep ~. , classwt = c(1, *ratio * ), data=data). La sensibilidad y sensitividad se quedan casi igual 90/40 y kappa también 0.25. Sé que se puede hacer con ranger, pero, por razones que no vienen al caso, no me viene bien cambiar. Gracias, como siempre, Manuel [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es