Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2022-04-19
3 – Limpieza y pre-procesamiento
Una vez eliminadas las variables que no será n ú tiles en nuestra investigació n, se
observa las variables que tienen datos faltantes así:
colSums(is.na(titanic_train))
Se observa que la variable edad tiene 177 datos faltantes, por lo cual se decide
completar los datos faltantes en esta variable con la media de la variable, usamos
summary para calcular la media y luego la asignamos en los datos faltantes así:
summary(titanic_train)
titanic_train$Age[is.na(titanic_train$Age)]<-29
colSums(is.na(titanic_train))
titanic_train=na.omit(titanic_train)
#unir variables
titanic_train=data.frame(titanic_train,dum_sex[,2],dum_embarque[,2:4])
titanic_train$Sex=dum_sex[,2]
titanic_train$embarque=dum_embarque[,2:4]
titanic_train$dum_sex=NULL
titanic_train$dum_embarque=NULL
RL_titanic=glm(Survived~Pclass+Sex+Age+SibSp+Fare+embarqueC+embarqueS
+embarqueQ, data = datos.entreno,family = binomial)
summary(RL_titanic)
##
## Call:
## glm(formula = Survived ~ Pclass + Sex + Age + SibSp + Fare +
## embarqueC + embarqueS + embarqueQ, family = binomial, data =
datos.entreno)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.7070 -0.6269 -0.4283 0.6607 2.4779
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 16.150568 535.411444 0.030 0.97594
## Pclass -1.096340 0.171038 -6.410 1.46e-10 ***
## Sex -2.629373 0.232181 -11.325 < 2e-16 ***
## Age -0.043586 0.009387 -4.643 3.43e-06 ***
## SibSp -0.337501 0.119510 -2.824 0.00474 **
## Fare 0.002101 0.002693 0.780 0.43517
## embarqueC -10.733693 535.411272 -0.020 0.98401
## embarqueS -11.310052 535.411245 -0.021 0.98315
## embarqueQ -10.862074 535.411366 -0.020 0.98381
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 834.27 on 623 degrees of freedom
## Residual deviance: 558.38 on 615 degrees of freedom
## AIC: 576.38
##
## Number of Fisher Scoring iterations: 12
## 2 3 14 16 21 23
## 2.4765543 0.4349063 -3.0495203 0.2842126 -1.4524194 1.3625527
mod_pred=ifelse(pred_rl>0.5,1,0)
ss<-data.frame(mod_pred,datos.test$Survived)
head(ss)
## mod_pred datos.test.Survived
## 2 1 1
## 3 0 1
## 14 0 0
## 16 0 1
## 21 0 0
## 23 1 1
# Matriz de confusión
library("caret")
datos.test$Survived=factor(datos.test$Survived)
mod_pred=factor(mod_pred)
confusionMatrix(mod_pred,datos.test$Survived)
library(rpart.plot)
arbol_titanic=rpart(Survived~Pclass+Sex+Age+SibSp+Fare+embarqueC+embarque
S
+embarqueQ, data = datos.entreno,method = "class")
#grafica
rpart.plot(arbol_titanic)
• Predicciones y evaluació n del modelo
pred_arbol=predict(arbol_titanic,datos.test,type = "class")
comp2=data.frame(pred_arbol,datos.test$Survived)
head(comp2)
## pred_arbol datos.test.Survived
## 2 1 1
## 3 0 1
## 14 0 0
## 16 1 1
## 21 0 0
## 23 1 1
# Matriz de confusión
library("caret")
datos.test$Survived=factor(datos.test$Survived)
pred_arbol=factor(pred_arbol)
confusionMatrix(pred_arbol,datos.test$Survived)
## nuevo.Name prediccion_AR
## 1 Christiam Pistala 0
## 2 Inés R 1