Nota: Si la librería no es parte del entorno de trabajo, será necesario ejecutar:
#install.packages(librería)
In [59]:
# Load libreries
library(party)
require(ggplot2)
require(rpart)
library(rattle)
library(rpart.plot)
library(RColorBrewer)
In [64]:
# Load csv file
titanic <- read.csv("titanic_clean.csv", header = TRUE, sep = ",")
# Clean data set
titanic <- titanic[-1310,] # Last data does not contain relevant info
In [65]:
plot(factor(titanic$age))
summary(titanic$age)
plot(factor(titanic$fare))
summary(titanic$fare)
Out[65]:
Out[65]:
Información útil: Gracias a este pequeño resumen estadísticos, podemos observar que el mayor sector de la población se encontraba en el rango de edades de 18 a 30 años de edad.
In [66]:
# Create the tree.
tree_tp <- ctree( survived ~ pclass + sex + age , data = titanic)
# Plot the tree.
plot(tree_tp)
In [67]:
# Build the decision tree
tree_qr <- rpart(survived ~ pclass + sex + age, data = titanic, method = "class")
fancyRpartPlot(tree_qr, main = "[Examen] Titanic Decision Tree\n\n",
sub = " Considerando [Sexo, Edad, Clase]",
palettes = c("Reds", "Greens"))
Conclusión: Desde el primer nodo podemos notar que la mayor población de sobrevivientes fueron en su mayoría mujeres, o niños mayores de 10 años.
In [83]:
# Build a linear model
age_model <- lm(titanic$survived ~ titanic$age, data=titanic)
age_model
summary(age_model)
{
plot(titanic$age, titanic$survived, xlab = "Age", ylab = "Survived", col = "blue", lwd = 2)
abline(age_model, col = "red")
}
Out[83]:
Out[83]:
Conclusiones: Con un valor de p-value <= 0.05 podríamos decir que nuestro modelo es fiel al cambio, pero no es el caso (p-value: 0.06943), por otro lado un valor bajo de MRS indica que nuestro modelo no hace tan buen ajuste con los datos.
In [84]:
# Build a linear model
class_model <- lm(titanic$survived ~ titanic$pclass, data=titanic)
class_model
summary(class_model)
{
plot(titanic$pclass, titanic$survived, xlab = "Class", ylab = "Survived", col = "blue", lwd = 2)
abline(class_model, col = "red")
}
Out[84]:
Out[84]:
Conclusiones: Para este modelo se ha mejorado ambos aspectos, MRS y p-value, por lo cual podemos ver que existe fuerte relación entre la supervivencia y la clase en la que viajaban los pasajeros.
In [85]:
# Build a linear model
sex_model <- lm(titanic$survived ~ titanic$sex, data=titanic)
sex_model
summary(sex_model)
{
plot(titanic$sex, titanic$survived, xlab = "Sex", ylab = "Survived", col = "blue", lwd = 2)
abline(sex_model, col = "red")
}
Out[85]:
Out[85]:
Conclusiones: Buen valor de p-value pero con un MRS algo bajo.
In [ ]: