Leer el conjunto de datos del Titanic

[codesyntax lang=“php”]train <- read.csv(“C:/[PFAD]/train.csv”, header = TRUE)[/codesyntax]

Información sobre la estructura de los datos

[codesyntax lang=“php”]str (train)[/codesyntax]

Resultado: ’train.frame’: 891 obs. of 11 variables: $ survived: int 0 1 1 1 0 0 0 0 1 1 … $ pclass : int 3 1 3 1 3 3 1 3 3 2 … $ name : Factor w/ 891 levels “Abbing, Mr. Anthony”,..: 109 191 358 277 16 559 520 629 417 581 … $ sex : Factor w/ 2 levels “female”,“male”: 2 1 1 1 2 2 2 2 1 1 … $ age : num 22 38 26 35 35 NA 54 2 27 14 … $ sibsp : int 1 1 0 1 0 0 0 3 0 1 … $ parch : int 0 0 0 0 0 0 0 1 2 0 … $ ticket : Factor w/ 681 levels “110152”,“110413”,..: 524 597 670 50 473 276 86 396 345 133 … $ fare : num 7.25 71.28 7.92 53.1 8.05 … $ cabin : Factor w/ 148 levels “”,“A10”,“A14”,..: 1 83 1 57 1 1 131 1 1 1 … $ embarked: Factor w/ 4 levels “”,“C”,“Q”,“S”: 4 2 4 4 4 3 4 4 4 2 …

Mostrar los primeros registros (incluyendo encabezados de columnas)

[codesyntax lang=“php”]head (train)[/codesyntax]

Resultado: survived pclass name sex age sibsp parch ticket fare cabin embarked 1 0 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.2500 S 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38 1 0 PC 17599 71.2833 C85 C 3 1 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.9250 S 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.1000 C123 S 5 0 3 Allen, Mr. William Henry male 35 0 0 373450 8.0500 S 6 0 3 Moran, Mr. James male NA 0 0 330877 8.4583 Q

Número de filas y columnas o registros

[codesyntax lang=“php”]dim(tableName)

oder

nrow (train) ncol (train)[/codesyntax]

Resultado: 891 11

Número de pasajeros sobrevivientes y fallecidos

[codesyntax lang=“php”]table (train$survived)x[/codesyntax]

Resultado: 342 sobrevivientes 549 fallecidos

Representación: [codesyntax lang=“php”]pie ( table(train$survived), labels=c( paste(“Verstorbene =”, table (train$survived), “Personen”), “Überlebende”), main = “Anzahl überlebende und verstorbene Passagiere” )[/codesyntax]

Número de pasajeros sobrevivientes y fallecidos

Evaluación porcentual [codesyntax lang=“php”]prop.table(table (train$survived))[/codesyntax]

Resultado: 38% sobrevivientes 62% fallecidos

Visión general del género de los pasajeros

[codesyntax lang=“php”]table (train$sex)[/codesyntax]

Resultado: Número de pasajeras: 314 Número de pasajeros: 577

Representación: [codesyntax lang=“php”]barplot(table (train$sex), col = c(“pink”, “blue”), ylab = “Anzahl Passagiere”, main = “Anzahl Passagiere nach Geschlecht unterteilt”, legend.text = TRUE, args.legend = list(x=0.5, y=600), ylim = c(0,600) )[/codesyntax]

Visión general del género de los pasajeros

Número de pasajeros sobrevivientes y fallecidos según el género

[codesyntax lang=“php”]table(train$sex, train$survived)[/codesyntax]

Resultado: Número de mujeres sobrevivientes: 233 Número de mujeres fallecidas: 81 Número de hombres sobrevivientes: 109 Número de hombres fallecidos: 468

Representación: [codesyntax lang=“php”]barplot(table(train$sex, train$survived), col = c(“pink”, “blue”), ylab = “Anzahl Passagiere”, xlab = “0 = verstorben | 1 = überlebt “, main = “Übersicht überlebende und verstorbene Passagiere”, legend.text = TRUE, args.legend = list(x=2.4, y=600), ylim = c(0,600) )[/codesyntax]

Número de pasajeros sobrevivientes y fallecidos según el género

Número (porcentual) de pasajeros sobrevivientes y fallecidos por género (a partir del total de pasajeros)

[codesyntax lang=“php”]prop.table(table(train$sex, train$survived))[/codesyntax]

Resultado: Número de mujeres sobrevivientes: 26% Número de mujeres fallecidas: 9% Número de hombres sobrevivientes: 12% Número de hombres fallecidos: 53%

Número (porcentual) de pasajeros sobrevivientes y fallecidos (por género)

[codesyntax lang=“php”]prop.table(table(train$sex, train$survived),1)[/codesyntax]

Resultado: Número de mujeres sobrevivientes: 26% del total de mujeres Número de mujeres fallecidas: 74% Número de hombres sobrevivientes: 19% del total de hombres Número de hombres fallecidos: 81%

Número de personas por clase

[codesyntax lang=“php”]table (train$pclass)[/codesyntax]

Resultado: Primera clase: 216 personas Segunda clase: 184 personas Tercera clase: 491 personas

Número de sobrevivientes y fallecidos por clase (a partir del total de pasajeros)

[codesyntax lang=“php”]table(train$survived, train$pclass)[/codesyntax]

Resultado: Primera clase: Número de sobrevivientes: 136 Número de fallecidos: 80

Segunda clase: Número de sobrevivientes: 87 Número de fallecidos: 97

Tercera clase: Número de sobrevivientes: 119 Número de fallecidos: 372

Representación: [codesyntax lang=“php”]dotchart(table(train$survived, train$pclass), pch = 15, col=“blue”, gcolor = “red”, lcolor = “orange”, xlab = “Anzahl überlebende und verstorbene Passagiere”, ylab = “Überlebende und versorbene Passagiere nach Klassen”, main = “Auflistung aller überlebenden und verstorbenene Passagiere nach Klassen” )[/codesyntax]

Número de sobrevivientes y fallecidos por clase (a partir del total de pasajeros)

Número (porcentual) de sobrevivientes por clase (a partir del total de pasajeros)

[codesyntax lang=“php”]prop.table(table(train$survived, train$pclass))[/codesyntax]

Resultado: Primera clase: Número de sobrevivientes: 15% Número de fallecidos: 9%

Segunda clase: Número de sobrevivientes: 10% Número de fallecidos: 11%

Tercera clase: Número de sobrevivientes: 13% Número de fallecidos: 42%

Número (porcentual) de pasajeros sobrevivientes y fallecidos de primera clase

[codesyntax lang=“php”] 100/216*136 #62.96296 100/216*80 #37.03704[/codesyntax]

Resultado: 63% de los pasajeros de primera clase sobrevivieron 37% de los pasajeros de primera clase fallecieron

Resultado para segunda clase: 47% de los pasajeros de segunda clase sobrevivieron 53% de los pasajeros de segunda clase fallecieron

Resultado para tercera clase: 24% de los pasajeros de tercera clase sobrevivieron 76% de los pasajeros de tercera clase fallecieron

Número de mujeres y hombres supervivientes por clase

[codesyntax lang=“php”]table(train$sex, train$survived, train$pclass)[/codesyntax]

Resultado: Primera clase Mujeres supervivientes: 91 Mujeres fallecidas: 3 Hombres supervivientes: 45 Hombres fallecidos: 77

Segunda clase Mujeres supervivientes: 70 Mujeres fallecidas: 6 Hombres supervivientes: 17 Hombres fallecidos: 91

Tercera clase Mujeres supervivientes: 72 Mujeres fallecidas: 72 Hombres supervivientes: 47 Hombres fallecidos: 300

Edad de los pasajeros

[codesyntax lang=“php”]qplot(age, ylab = “Number”, main = “Alter der Passagiere”, data = train, geom = “bar”)[/codesyntax]

Edad de los pasajeros

Edad promedio de los pasajeros

[codesyntax lang=“php”]summary(train$age)[/codesyntax]

Resultado: Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 0.42 20.12 28.00 29.70 38.00 80.00 177

Edad promedio de las mujeres supervivientes de primera clase

[codesyntax lang=“php”]summary(train[train$survived==“1” & train$sex==“male” & train$pclass==“1” ,]$age)[/codesyntax]

Resultado: Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 14.00 23.25 35.00 34.94 44.00 63.00 9

Resultado para segunda clase: Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 2.00 21.75 28.00 28.08 35.25 55.00 2

Resultado para tercera clase: Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 0.75 13.50 19.00 19.33 26.50 63.00 25 Número de niños en primera clase (suposición: niños menores de 18): Entrada: sum (table(train[train$pclass==“1” & train$age < 18 ,]$age))

Resultado: 12

Resultado para segunda clase: 23

Resultado para tercera clase: 78

Número de niños fallecidos de primera clase

[codesyntax lang=“php”]sum (table(train[train$survived==“0” & train$pclass==“1” & train$age < 18 ,]$age))[/codesyntax]

Resultado: 1

Resultado para segunda clase: 2

Resultado para tercera clase: 49

Número de niñas supervivientes de primera clase

[codesyntax lang=“php”]sum (table(train[train$survived==“1” & train$sex==“female” & train$pclass==“1” & train$age < 18 ,]$age))[/codesyntax]

Resultado: 7

Resultado para segunda clase: 12

Resultado para tercera clase: 19

Número de niñas fallecidas de primera clase

[codesyntax lang=“php”]sum (table(train[train$survived==“0” & train$sex==“female” & train$pclass==“1” & train$age < 18 ,]$age))[/codesyntax]

Resultado: 1

Resultado para segunda clase: 0

Resultado para tercera clase: 16

Ganancia de información

Def.: La ganancia de información determina el atributo que aporta mayor contenido informativo. Su objetivo es minimizar la profundidad del árbol de decisión. Fuente: [Inteligencia Artificial: un enfoque moderno]

Instalar y cargar el paquete ‘FSelector’ [codesyntax lang=“php”]install.packages(“FSelector”) library (FSelector)[/codesyntax]

Cálculo de ‘Information gain’ - ’target value’ corresponde a ’train$survived’. [codesyntax lang=“php”]information.gain(train)[/codesyntax]

Resultado: attr_importance pclass 0.053608163 name 1.609435396 sex 0.145685212 age 0.008687071 sibsp 0.000000000 parch 0.000000000 ticket 1.355042740 fare 0.048528443 cabin 0.318976005 embarked 0.022301869

Los atributos más importantes para la supervivencia de los pasajeros son ’name’ y ’ticket’.

Determinar si la columna ’name’ contiene duplicados

[codesyntax lang=“php”]anyDuplicated( as.character(train$name) )[/codesyntax]

Resultado: 0 # Sin duplicados

Filtrar por (Mrs., Miss., Mr., Master.)

[codesyntax lang=“php”]titles <- NULL mrs <- NULL miss <- NULL mr <- NULL master <- NULL other <- NULL ages <- NULL

parseTitle <- function(name) {

name <- as.character(name)

if (length(grep(“Mrs.”, name)) > 0) { mrs «- c(mrs, name) return (“Mrs.”) } else if (length(grep(“Miss.”, name)) > 0) { miss «- c(miss, name) return (“Miss.”) } else if (length(grep(“Mr.”, name)) > 0) { mr «- c(mr, name) return (“Mr.”) } else if (length(grep(“Master.”, name)) > 0) { master «- c(master, name) return (“Master.”) } else { other «- c(other, name) return (“Other”) } }

for (i in 1:nrow(train)) { titles <- c(titles, parseTitle(train[i, “name”])) ages «- c(ages, train[i,5]) }

table(titles)[/codesyntax]

Resultado: Master. Miss. Mr. Mrs. Other 40 180 518 129 24

Número de supervivientes y fallecidos por título

[codesyntax lang=“php”]table(titles, train$survived)[/codesyntax]

Resultado: titles 0 1 Master. 17 23 Miss. 54 126 Mr. 436 82 Mrs. 27 102 Other 15 9

Número de supervivientes y fallecidos por título (porcentual)

[codesyntax lang=“php”]100/40*17 # 42,5% 100/40*23 # 57,5%[/codesyntax]

Resultado: titles 0 1 Master. 42,5% 57,5% Miss. 30% 70% Mr. 84,2% 15,8% Mrs. 20,9% 79,1% Other 62,5% 37,5%

Títulos por clase

[codesyntax lang=“php”]table(titles, train$survived, train$pclass)[/codesyntax]

Resultado: Primera clase titles 0 1 Master. 0 3 Miss. 2 44 Mr. 70 38 Mrs. 1 43 Other 7 8

Segunda clase titles 0 1 Master. 0 9 Miss. 1 31 Mr. 83 8 Mrs. 5 38 Other 8 1

Tercera clase titles 0 1 Master. 17 11 Miss. 51 51 Mr. 283 36 Mrs. 21 21 Other 0 0

Calcular la edad de los pasajeros dentro de cada clase

[codesyntax lang=“php”]table(titles, ages)[/codesyntax]

Resultado: # El Master. de mayor edad es 12 # La Miss. de mayor edad es 63 # El Mr. de mayor edad es 80 # La Mrs. de mayor edad es 63