Sejarah Tenggelammnya kapal Titanic

Tenggelamnya Titanic adalah salah satu kapal karam paling terkenal dalam sejarah.

Pada tanggal 15 April 1912, selama pelayaran perdananya, RMS Titanic yang secara luas dianggap “tidak dapat tenggelam” tenggelam setelah bertabrakan dengan gunung es. Sayangnya, tidak ada cukup sekoci untuk semua penumpang, mengakibatkan kematian 1502 dari 2224 penumpang dan awak.

Meskipun ada beberapa unsur keberuntungan yang terlibat dalam bertahan hidup, tampaknya beberapa kelompok orang lebih mungkin untuk bertahan hidup daripada yang lain.

Dalam tantangan ini, kami meminta Anda untuk membangun model prediktif yang menjawab pertanyaan: “orang seperti apa yang lebih mungkin bertahan hidup?” menggunakan data penumpang (yaitu nama, usia, jenis kelamin, kelas sosial ekonomi, dll).

Cleaning Data

You can also embed plots, for example:

## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.8
## v tidyr   1.2.0     v stringr 1.4.0
## v readr   2.1.2     v forcats 0.5.1
## Warning: package 'tidyr' was built under R version 4.1.3
## Warning: package 'dplyr' was built under R version 4.1.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
## Rows: 891 Columns: 12
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (5): Name, Sex, Ticket, Cabin, Embarked
## dbl (7): PassengerId, Survived, Pclass, Age, SibSp, Parch, Fare
## 
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
## spec_tbl_df [891 x 12] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ PassengerId: num [1:891] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Survived   : num [1:891] 0 1 1 1 0 0 0 0 1 1 ...
##  $ Pclass     : num [1:891] 3 1 3 1 3 3 1 3 3 2 ...
##  $ Name       : chr [1:891] "Braund, Mr. Owen Harris" "Cumings, Mrs. John Bradley (Florence Briggs Thayer)" "Heikkinen, Miss. Laina" "Futrelle, Mrs. Jacques Heath (Lily May Peel)" ...
##  $ Sex        : chr [1:891] "male" "female" "female" "female" ...
##  $ Age        : num [1:891] 22 38 26 35 35 NA 54 2 27 14 ...
##  $ SibSp      : num [1:891] 1 1 0 1 0 0 0 3 0 1 ...
##  $ Parch      : num [1:891] 0 0 0 0 0 0 0 1 2 0 ...
##  $ Ticket     : chr [1:891] "A/5 21171" "PC 17599" "STON/O2. 3101282" "113803" ...
##  $ Fare       : num [1:891] 7.25 71.28 7.92 53.1 8.05 ...
##  $ Cabin      : chr [1:891] NA "C85" NA "C123" ...
##  $ Embarked   : chr [1:891] "S" "C" "S" "S" ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   PassengerId = col_double(),
##   ..   Survived = col_double(),
##   ..   Pclass = col_double(),
##   ..   Name = col_character(),
##   ..   Sex = col_character(),
##   ..   Age = col_double(),
##   ..   SibSp = col_double(),
##   ..   Parch = col_double(),
##   ..   Ticket = col_character(),
##   ..   Fare = col_double(),
##   ..   Cabin = col_character(),
##   ..   Embarked = col_character()
##   .. )
##  - attr(*, "problems")=<externalptr>

Variable pclass:Tiket Class A proxy for socio-economic status (SES) 1. 1st = Upper 2. 2nd = Middle 3. 3rd = Lower

age: Age is fractional if less than 1. If the age is estimated, is it in the form of xx.5

sibsp: The dataset defines family relations in this way… Sibling = brother, sister, stepbrother, stepsister Spouse = husband, wife (mistresses and fiancés were ignored)

parch: The dataset defines family relations in this way… Parent = mother, father Child = daughter, son, stepdaughter, stepson Some children travelled only with a nanny, therefore parch=0 for them.

head(train_data)
## # A tibble: 6 x 12
##   PassengerId Survived Pclass Name    Sex     Age SibSp Parch Ticket  Fare Cabin
##         <dbl>    <dbl>  <dbl> <chr>   <chr> <dbl> <dbl> <dbl> <chr>  <dbl> <chr>
## 1           1        0      3 Braund~ male     22     1     0 A/5 2~  7.25 <NA> 
## 2           2        1      1 Cuming~ fema~    38     1     0 PC 17~ 71.3  C85  
## 3           3        1      3 Heikki~ fema~    26     0     0 STON/~  7.92 <NA> 
## 4           4        1      1 Futrel~ fema~    35     1     0 113803 53.1  C123 
## 5           5        0      3 Allen,~ male     35     0     0 373450  8.05 <NA> 
## 6           6        0      3 Moran,~ male     NA     0     0 330877  8.46 <NA> 
## # ... with 1 more variable: Embarked <chr>

Membuang data yang tidak informatif

train_data <- train_data [,-c(1,9,10,11,12)]
train_data
## # A tibble: 891 x 7
##    Survived Pclass Name                                  Sex     Age SibSp Parch
##       <dbl>  <dbl> <chr>                                 <chr> <dbl> <dbl> <dbl>
##  1        0      3 Braund, Mr. Owen Harris               male     22     1     0
##  2        1      1 Cumings, Mrs. John Bradley (Florence~ fema~    38     1     0
##  3        1      3 Heikkinen, Miss. Laina                fema~    26     0     0
##  4        1      1 Futrelle, Mrs. Jacques Heath (Lily M~ fema~    35     1     0
##  5        0      3 Allen, Mr. William Henry              male     35     0     0
##  6        0      3 Moran, Mr. James                      male     NA     0     0
##  7        0      1 McCarthy, Mr. Timothy J               male     54     0     0
##  8        0      3 Palsson, Master. Gosta Leonard        male      2     3     1
##  9        1      3 Johnson, Mrs. Oscar W (Elisabeth Vil~ fema~    27     0     2
## 10        1      2 Nasser, Mrs. Nicholas (Adele Achem)   fema~    14     1     0
## # ... with 881 more rows
anyNA(train_data)
## [1] TRUE
median(train_data$Age,na.rm=TRUE)
## [1] 28
train_data
## # A tibble: 891 x 7
##    Survived Pclass Name                                  Sex     Age SibSp Parch
##       <dbl>  <dbl> <chr>                                 <chr> <dbl> <dbl> <dbl>
##  1        0      3 Braund, Mr. Owen Harris               male     22     1     0
##  2        1      1 Cumings, Mrs. John Bradley (Florence~ fema~    38     1     0
##  3        1      3 Heikkinen, Miss. Laina                fema~    26     0     0
##  4        1      1 Futrelle, Mrs. Jacques Heath (Lily M~ fema~    35     1     0
##  5        0      3 Allen, Mr. William Henry              male     35     0     0
##  6        0      3 Moran, Mr. James                      male     NA     0     0
##  7        0      1 McCarthy, Mr. Timothy J               male     54     0     0
##  8        0      3 Palsson, Master. Gosta Leonard        male      2     3     1
##  9        1      3 Johnson, Mrs. Oscar W (Elisabeth Vil~ fema~    27     0     2
## 10        1      2 Nasser, Mrs. Nicholas (Adele Achem)   fema~    14     1     0
## # ... with 881 more rows

Memprediksi yang mampu bertahan

Memeriksa plot untuk mereka yang bertahan terhadap variabel yang ada untuk memahami gambar.

1. Berdasarkan Sex

#Survival based on Sex
ggplot(train_data,aes(Survived,fill=Sex))+geom_bar(position="dodge2")+facet_wrap(~Survived)

Dapat dilihat bahwa perempuan (female) lebih memiliki kesempatan untuk hidup atau bertahan daripada laki-laki

2. Berdasarkan Kelas Tiket

#Based on Pclass
ggplot(train_data,aes(Survived,fill=factor(Pclass)))+geom_bar(position="dodge2")

Jumlah penumpang di Pclass=3 adalah yang tertinggi dan memiliki tingkat kelangsungan hidup terendah. Kelas 1 memiliki tingkat kelangsungan hidup tertinggi. Secara keseluruhan- ada korelasi yang kuat antara kelas dan kelangsungan hidup.

3. Berdasarkan Usia

ggplot(train_data,aes(Age))+geom_histogram(bins=10,fill="white",color=4)+facet_wrap(~Survived)
## Warning: Removed 177 rows containing non-finite values (stat_bin).

dapat dilihat bahwa tingkat kelangsungan hidup yang lebih tinggi kecuali pada usia di antara anak-anak di bawah 10 tahun dan orang dewasa di atas 60 tahun. Secara keseluruhan, ada korelasi kuat antara usia dan tingkat kelangsungan hidup. Faktor ini juga harus kita pertimbangkan.

4. Berdasarkan hubungan keluarga

ggplot(train_data,aes(Survived,fill=factor(SibSp)))+geom_bar(position="dodge")+facet_wrap(~Survived)

Kami kembali melihat bahwa orang-orang di SibSp 0 memiliki peluang lebih rendah untuk bertahan hidup dibandingkan dengan orang-orang di SibSp 1. Ada korelasinya. Tidak sekuat tapi tetap saja.

5. Berdasarkan hubungan kekeluargaan

#Parch
ggplot(train_data,aes(Survived,fill=factor(Parch)))+geom_bar(position="dodge2")+facet_wrap(~Survived)

Datany mirip dengan SipSp