Está en la página 1de 6

INTRODUCCIÓN AL APRENDIZAJE AUTOMÁTICO

NOMBRE Y APELLIDOS Julia Gallego Casanueva

DNI / NIF 20068532C

FECHA REALIZACIÓN 09/12/2023

ACTIVIDAD PRÁCTICA

Contesta en esta hoja de respuesta a los ejercicios que se plantean. Cuando


finalices, sube este mismo archivo al buzón correspondiente.

TÍTULO: “Implementar algoritmo de aprendizaje profundo”.

OBJETIVO GENERAL: Implementar algoritmo de clasificación utilizando el


lenguaje R.

DURACIÓN: 2 horas.

DESARROLLO DE LA ACTIVIDAD:

Partimos de una página en la que se analizan los algoritmos de clasificación del


aprendizaje profundo, y se ofrece una implementación en lenguaje R. La página
tiene la siguiente url:

https://www.edureka.co/blog/classification-algorithms/

Si necesita aprender R, puede encontrar un manual en la siguiente dirección:

https://myrbooksp.netlify.com

Nota: No dude en pedir ayuda a su tutor con este lenguaje.

Pág. 1
INTRODUCCIÓN AL APRENDIZAJE AUTOMÁTICO

1. Elegir un algoritmo de clasificación y probar la implementación.

Un árbol de decisión es una estructura ramificada que muestra las diferentes


opciones y sus consecuencias. Los puntos en los que hay que tomar decisiones se
muestran como nodos, las ramas unen estos nodos y las decisiones últimas son las
hojas, donde el camino termina (también se denominan nodos terminales).
Existen varios paquetes de R que permiten hacer árboles de decisión.
Esta librería rpart hace árboles de decisión a partir de tablas. La función principal
es rpart() que crea, a partir de un conjunto de datos, y de una fórmula de
predicción, un árbol de decisión que puede usarse para pronosticar con la
función predict.

R-Code:

library(rpart)
x <- cbind(x_train,y_train)# grow tree
fit <- rpart(y_train ~ ., data = x,method="class")summary(fit)
#Predict Output
predicted= predict(fit,x_test)
çCreamos los datos de ejemplo. Una tabla con alturas del padre la madre, el sexo
del hijo y la altura.

Creamos la data frame

Pág. 2
INTRODUCCIÓN AL APRENDIZAJE AUTOMÁTICO

a.padre<- redondea5(rnorm(1000, 168, 25),10)> a.madre<-


redondea5(rnorm(1000, 150, 10),10)> s.hijo<-factor(rbinom(1000,1,0.5),
levels=c(0,1),labels=c("M","F"))

levels "M","F": 2 1 1 1 2 1 2 1 1 1 ...


$ a.hijo : int 160 150 130 140 180 150 160 150 140 130 ...

> knitr::kable(head(t.alturas,10), "markdown")

| a.padre| a.madre|s.hijo | a.hijo|


|-------:|-------:|:------|------:|
| 160| 160|F | 160|
| 170| 160|M | 150|
| 150| 140|M | 130|
| 140| 170|M | 140|
| 220| 150|F | 180|
| 180| 150|M | 150|
| 160| 160|F | 160|
| 160| 160|M | 150|
| 150| 160|M | 140|
| 150| 140|M | 130|

Creamos un modelo de clasificación en el que intervengan todas las variables. El


coeficiente cp nos extiende o acorta el arbol, simplifica resultados. Por último,
pintamos el modelo.

Pág. 3
INTRODUCCIÓN AL APRENDIZAJE AUTOMÁTICO

2. Comprobar el funcionamiento del programa desarrollado frente a unos


datos de prueba.

Para este caso, vamos a usar la base de daros “titanic” que nos proporciona R por
defecto.
Nos va a interesar estudiar la supervivencia de los pasajeros.
Lo más interesante de este problema, es detectar, a través de la información del
pasajero, si éste llega a sobrevivir o no.
Una pregunta de interés pudiera ser si un pasajero de cuatro años de edad que
tuviera género masculino sobrevivirá.

# paquete de datos
# install.packages('titanic')
library(titanic)
# cargar librarias de analisis
install.packages("tidyverse")
library(tidyverse)
# cargar librerias de datos
library(titanic)
data("titanic_train")
head(titanic_train)

Pág. 4
INTRODUCCIÓN AL APRENDIZAJE AUTOMÁTICO

Bien, para entender este modelo de árboles de decisión es importante tener en


cuenta varias cosas:
Si es mujer o no; Si tú me dices que sí, entonces se clasificaría como alguien que
vive. Por otro lado, si me dices que no, entonces lo que yo haría sería hacerte una
nueva pregunta: ¿Es niño?
En el caso que me digas que sí, pues clasificaría como que vive. En caso contrario,
se clasificaría como que no vive.
Así que, ya teniendo esta idea en mente vamos a ver cómo se programa un árbol
de decisión.
install.packages(rpart)
library(rpart)
install.packages(rpart.plot)
Library (rpart.plot)

Vamos a agregarle method = class para que calcule la clase (sobrevive o no) y no
la probabilidad de supervivencia. El código:
> library(rpart.plot)> arbol <- rpart(+ formula = Survived ~ Sex + Age,+
data = titanic_train,+ method = 'class'+ )
rpart.plot(arbol)

Pág. 5
INTRODUCCIÓN AL APRENDIZAJE AUTOMÁTICO

El 0 recuerda que no sobrevive.


La primera separación que hace es sobre el género. Es decir, a la izquierda iría el
género masculino y del otro lado el femenino. Lo que nos estaría diciendo es que
las mujeres sobreviven y representan el 35% e los datos.
Por otro lado, si el género es masculino la predicción sería de 0 y sería el 65% de
los datos. Fíjate que esto junto con el
35 sumaría el 100%.
Nuestro modelo se ha abierto en otras dos ramas considerando ahora la edad.
Entonces ahora lo que separaría sería si la edad es mayor o igual a 6.5. A la
izquierda sería que sí a la derecha no. Es decir, que hombres mayores de 6.5 años
no sobreviven.

Pág. 6

También podría gustarte