Aplicar PCA al dataset de proteínas

Autor: | Última modificación: 14 de noviembre de 2022 | Tiempo de Lectura: 2 minutos

En el ejemplo de hoy vamos a aplicar PCA al dataset de proteínas, con el que ya hemos trabajado anteriormente.

Recordemos que el PCA o análisis de componentes principales es una técnica estadística de aprendizaje no supervisado utilizada en machine learning para, entre otras cosas, reducir la dimensionalidad, analizar una matriz de covarianza, hacer un análisis de componentes del dataset original para determinar el número de componentes de un determinado conjunto de datos, etc.

Aplicar PCA al dataset de proteínas

Vamos a aplicar PCA al dataset de proteínas:

#Aplicar PCA al dataset de proteínas
mouse <- read.csv ("data/Data_Cortex Nuclear.csv")
mouse data <- mouse [ , 2 : 78]
for (i in 1 : ncol (mouse_data)) {

mn <- mean (mouse_data [ , 1], na.rm = T)
sd <- sd (mouse _data [ , 1], na.rm = T)
mouse_data [is.na (mouse_data[ , 1]), 1] <- mn

mouse_data [ , 1] <- (mouse_data [ , 1] -mn) / sd
}

dim (mouse_data)

1080 . 77

Tenemos, pues, 77 columnas y 1080 componentes.

#Aplicar PCA al dataset de proteínas
#Utilizamos prcomp para calcular el pca
prmouse_data <- prcomp (mouse_data, center = FALSE, scale = FALSE)
#Comprobamos que los 28 primeros autovalores contienen aproximadamente el 90% de la varianza
plot (cumsum (prmouse_data$sdev ^ 2 / sum (prmouse_data$sdev ^ 2)), main = "Autovalores")
grid()
Aplicar PCA al dataset de proteínas

De las 77 muestras, de manera general, podríamos decir que para alcanzar alrededor de un 90% de varianza tenemos que llegar a más o menos 20 autovalores.

Vamos a quedarnos con tres componentes principales y vamos a pintarlos:

#Aplicar PCA al dataset de proteínas
head (mouse)
prmouse_data_pca <- as.data.frame (prmouse_data$x[ , c ("PC1", "PC2", "PC3")])
prmouse_data_pca$cl <- mouse [ , "class"]
prmouse_data_pca$Genotype <- mouse [ , "Genotype"]
prmouse_data_pca$Treatment <- mouse [ , "Treatment"]
library (ggplot2)
ggplot (prmouse_data_pca, aes (x = PC2, y = PC3, color = Treatment)) + geom_point () ggplot (prmouse_data_pca, aes (x = PC1, y = PC2, color = Genotype)) + geom_point ()
Aplicar PCA al dataset de proteínas 1
Aplicar PCA al dataset de proteínas 2

Vamos a probar a hacer un k-means con solo dos dimensiones del PCA:

#Aplicar PCA al dataset de proteínas
mouse_data14 <- prmouse_data$x [ , 1 : 2]
q <- c ()
for (k in 1 : 20) {
myclust <- kmeans (mouse_data14, k)
q [k] <- myclust$betweenss / myclust$totss
}
plot (q)
Aplicar PCA al dataset de proteínas 3

Ahora haremos un clustering a partir de 10 muestras y dos componentes principales:

#Aplicar PCA al dataset de proteínas
set.seed (123)
myclustpca <- kmeans (mouse_data14, 10)
myclust <- kmeans (mouse_data, 10)

table (mouse$class, myclustpca$cluster)
table (mouse$class, myclustscluster)
table (mouse$Behavior, myclustpca$cluster)
table (mouse$Behavior, myclust$cluster)

plot (prmouse_data$x [ , c(1, 2)], col = myclustpca$cluster)
text (x = myclustpca$centers [ , 1], y = myclustpca$centers [ , 2], cex = 1, pos = 4, labels = (1 : nrow (myclustpca$centers)), col = "blue")
12345678910
c-CS-m111101353219311117
c-CS-s2230402026222315
c-SC-m059212211500032
c-SC-s021711271300155
t-CS-m400001115925305
t-CS-s33310116619206
t-SC-M02928302500041
t-SC-s015131233410228
12345678910
c-CS-m43162351117110024
c-CS-s2422290328001514
c-SC-m01003131170700
c-SC-s125010230701500
t-CS-m12383802000045
t-CS-s111841301100021
t-SC-M1000342010481300
t-SC-s261408218544018
12345678910
C / S10617117178360978443
S / C012457747367103156
12345678910
C / S90941318165611015104
S / C4829083762919379018
Aplicar PCA al dataset de proteínas 4

¿Quieres seguir aprendiendo?

Una vez abordada esta temática, podemos darnos cuenta de que al aplicar PCA al dataset de proteínas vemos y practicamos muchos conceptos diferentes. Si te gustaría profundizar en ellos, podrás lograrlo por medio de nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Con esta formación intensiva podrás adquirir todos los conocimientos necesarios para convertirte en un gran profesional e incursionar rápidamente en un mercado laboral lleno de oportunidades. ¡Anímate y solicita más información!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.