knitr::opts_chunk$set(echo = TRUE) library(tidyverse) library(magrittr)
En este cuaderno se van a preprocesar los datos obtenidos para el clasificador. Comenzamos cargando el archivo csv con todos los descriptores.
df.caret.numeric <- read_csv("df.caret.numeric.csv") dim(df.caret.numeric)
A continuación, vamos eliminar aquellas variables que tengan un único valor (varianza cero) de las numéricas de protR y las cercanas al cero las variables dummies.
library(caret) nzv.numeric <- df.caret.numeric %>% nearZeroVar(saveMetrics= TRUE)%>% rownames_to_column(var = "var") nzv.numeric %>% filter(zeroVar | nzv) df.caret.numeric %<>% select(-all_of(nzv.numeric %>% filter(zeroVar| nzv) %>% pull(var))) dim(df.caret.numeric)
A continuación, vamos a eliminar aquellas variables que se encuentren correlacionadas en más de un .99. Así eliminamos la columna DC_GR.
highlyCorrelated <- findCorrelation(cor(df.caret.numeric, use = "pairwise.complete.obs", ), cutoff=0.99, names = TRUE) df.caret.numeric <- df.caret.numeric %>% select(-all_of(highlyCorrelated)) dim(df.caret.numeric)
A continuación, vamos a eliminar posibles combinaciones lineales. Tendremos cuidado de que no se eliminen aquellas variables que usamos en el clustering y que por bibliografía nos interesan. Destacar, que las variables con NA's en este punto corresponden a aquellas secuencias de menor longitud al lag utilizado por algunos descriptores de protR.
comboInfo <-df.caret.numeric %>% drop_na %>% findLinearCombos() print("Después de aplicar el combo lineal") df.caret.numeric<- df.caret.numeric[, -comboInfo$remove] dim(df.caret.numeric) #colnames(features.df.numeric) View(df.caret.numeric)
df.final <- df.caret.numeric %>% mutate(ann = protR_desc$annotation) preProcValues <- preProcess(df.final, method = c("center", "scale")) preProcValuesTransformed <- predict(preProcValues, df.final)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.