-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path20210327-manha-exercicio-titanic.R
63 lines (48 loc) · 1.67 KB
/
20210327-manha-exercicio-titanic.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
library(titanic)
# Define os subconjuntos
train <- titanic_train
test <- titanic_test
test <- merge(test, titanic_gender_class_model, by="PassengerId")
# Verificando as variáveis
str(train)
# Verificando se há dados ausentes
colSums(is.na(train))
colSums(is.na(test))
# Verifica se há valores vazios
colSums(train == '')
colSums(test == '')
# Remover valores faltantes e vazios
train <- train[-which(train$Embarked == ""),]
test <- test[-which(is.na(test$Fare)),]
# Colocando a mediana para valores faltantes
train$Age[is.na(train$Age)] <- median(train$Age, na.rm=T)
test$Age[is.na(test$Age)] <- median(test$Age, na.rm=T)
# Remover variáveis não necessárias
train <- subset(train, select = -c(Cabin, PassengerId, Ticket, Name))
test <- subset(test, select = -c(Cabin, PassengerId, Ticket, Name))
# Converter colunas para fatores
for (i in c("Survived","Pclass","Sex","Embarked")){
train[,i] <- as.factor(train[,i])
}
for (j in c("Survived","Pclass","Sex","Embarked")){
test[,j] <- as.factor(test[,j])
}
# Correlação das variáveis
library(dlookr)
correlate(train)
plot_correlate(train)
# Removendo linhas com dados ausentes
train <- train[complete.cases(train),]
# Vendo se a classe está balanceada
table(train$Survived)
prop.table(table(train$Survived))
# Modelo 1
mod1 <- glm(formula = Survived ~ ., data = train, family = "binomial")
mod1
summary(mod1)
# É possível identificar as variáveis significantes: Pclass2, Pclass3, Sexmale, Age e SibSp
exp(mod1$coefficients)
# Algumas análises:
# A cada sobrevivente, 0.40 pessoas da segunda classe sobreviveram
# A cada sobrevivente, 0.11 pessoas da terceira classe sobreviveram
# A cada sobrevivente, 0.066 homens sobreviveram