Final

temiz veri

library(rmarkdown)
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.3
## Warning: package 'ggplot2' was built under R version 4.3.3
## Warning: package 'tibble' was built under R version 4.3.3
## Warning: package 'tidyr' was built under R version 4.3.3
## Warning: package 'readr' was built under R version 4.3.3
## Warning: package 'purrr' was built under R version 4.3.3
## Warning: package 'dplyr' was built under R version 4.3.3
## Warning: package 'stringr' was built under R version 4.3.3
## Warning: package 'forcats' was built under R version 4.3.3
## Warning: package 'lubridate' was built under R version 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(readr)
library(explore)
## Warning: package 'explore' was built under R version 4.3.3
library(readr)
test<- read_csv("test_c.csv")
## Rows: 4277 Columns: 15
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (5): PassengerId, HomePlanet, Destination, deck, side
## dbl (8): Age, RoomService, FoodCourt, ShoppingMall, Spa, VRDeck, withgroup, ...
## lgl (2): CryoSleep, VIP
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
library(readr)
train <- read_csv("train_c.csv")
## Rows: 8693 Columns: 16
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (5): PassengerId, HomePlanet, Destination, deck, side
## dbl (8): Age, RoomService, FoodCourt, ShoppingMall, Spa, VRDeck, withgroup, ...
## lgl (3): CryoSleep, VIP, Transported
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

##Veri Seti Açıklaması

Bu Projede, Uzay Gemisi Titanic’in uzay-zaman anormalliği ile çarpışması sırasında bir yolcunun alternatif bir boyuta taşınıp taşınmadığını tahmin etmektir. Bu tahminleri yapmanıza yardımcı olmak için, geminin hasar görmüş bilgisayar sisteminden kurtarılan bir dizi kişisel kayıt verilmiştir

Dosya ve Veri Alanı Açıklamaları train.csv - Eğitim verisi olarak kullanılacak yaklaşık üçte ikisi (~8700) yolcunun kişisel kayıtları.

- PassengerId - Her yolcu için benzersiz bir kimlik. Her kimlik, yolcunun seyahat ettiği bir grubu gösteren gggg ile başlar ve pp grup içindeki sırasını temsil eder. Bir gruptaki insanlar genellikle aile üyeleridir, ancak her zaman değil.

- HomePlanet - Yolcunun hareket ettiği gezegen, genellikle kalıcı ikamet gezegenleri.

CryoSleep - Yolcunun yolculuğun süresi boyunca dondurulmuş animasyona alınıp alınmayacağını gösterir. CryoSleep’te olan yolcular kabinlerine kapatılmıştır.

- Cabin - Yolcunun konakladığı kabin numarası. deck/num/side şeklinde alınır, burada side, Port için P veya Starboard için S olabilir.

- Destination - Yolcunun ineceÄŸi gezegen.

- Age - Yolcunun yaşı.

- VIP - Yolcunun yolculuk sırasında özel VIP hizmeti için ödeme yapılıp yapılmadığını belirtir. RoomService, FoodCourt, ShoppingMall, Spa, VRDeck - Yolcunun Spaceship Titanic’in birçok lüks olanaklarında ne kadar fatura ödediği.

- Name - Yolcunun adı ve soyadı.

- Transported - Yolcunun başka bir boyuta taşınıp taşınmadığı. Bu, hedef, tahmin etmeye çalıştığınız sütun.

- test.csv - Geri kalan üçte biri (~4300) yolcunun kişisel kayıtları, test verisi olarak kullanılacaktır. Göreviniz, bu setteki yolcular için Transported değerini tahmin etmektir.

- sample_submission.csv - Doğru formatta bir sunum dosyası.

PassengerId - Test setindeki her yolcu için kimlik.

- Transported - Hedef. Her yolcu için, True veya False değerlerinden birini tahmin edin.

describe_all(train)
## # A tibble: 16 × 8
##    variable     type     na na_pct unique   min    mean   max
##    <chr>        <chr> <int>  <dbl>  <int> <dbl>   <dbl> <dbl>
##  1 PassengerId  chr       0    0     8693    NA   NA       NA
##  2 HomePlanet   chr       0    0        4    NA   NA       NA
##  3 CryoSleep    lgl       0    0        2     0    0.36     1
##  4 Destination  chr       0    0        3    NA   NA       NA
##  5 Age          dbl       0    0       84     0   28.8     79
##  6 VIP          lgl       0    0        2     0    0.02     1
##  7 RoomService  dbl       0    0     1273     0  220.   14327
##  8 FoodCourt    dbl       0    0     1507     0  448.   29813
##  9 ShoppingMall dbl       0    0     1115     0  170.   23492
## 10 Spa          dbl       0    0     1327     0  305.   22408
## 11 VRDeck       dbl       0    0     1306     0  298.   24133
## 12 Transported  lgl       0    0        2     0    0.5      1
## 13 withgroup    dbl       0    0        2     0    0.45     1
## 14 deck         chr     132    1.5      9    NA   NA       NA
## 15 side         chr     132    1.5      3    NA   NA       NA
## 16 expense      dbl       0    0     2336     0 1441.   35987
library(glmulti)
## Warning: package 'glmulti' was built under R version 4.3.3
## Zorunlu paket yükleniyor: rJava
## Zorunlu paket yükleniyor: leaps
## Warning: package 'leaps' was built under R version 4.3.3
train$HomePlanet <- as.factor(train$HomePlanet)
train$Destination <- as.factor(train$Destination)
train$deck <- as.factor(train$deck)
train$side <- as.factor(train$side)
test$HomePlanet <- as.factor(test$HomePlanet)
test$Destination <- as.factor(test$Destination)
test$deck <- as.factor(test$deck)
test$side <- as.factor(test$side)
library(DataExplorer)
## Warning: package 'DataExplorer' was built under R version 4.3.3
create_report(train)
## 
## 
## processing file: report.rmd
##   |                                             |                                     |   0%  |                                             |.                                    |   2%                                   |                                             |..                                   |   5% [global_options]                  |                                             |...                                  |   7%                                   |                                             |....                                 |  10% [introduce]                       |                                             |....                                 |  12%                                   |                                             |.....                                |  14% [plot_intro]                      |                                             |......                               |  17%                                   |                                             |.......                              |  19% [data_structure]                  |                                             |........                             |  21%                                   |                                             |.........                            |  24% [missing_profile]                 |                                             |..........                           |  26%                                   |                                             |...........                          |  29% [univariate_distribution_header]  |                                             |...........                          |  31%                                   |                                             |............                         |  33% [plot_histogram]                  |                                             |.............                        |  36%                                   |                                             |..............                       |  38% [plot_density]                    |                                             |...............                      |  40%                                   |                                             |................                     |  43% [plot_frequency_bar]              |                                             |.................                    |  45%                                   |                                             |..................                   |  48% [plot_response_bar]               |                                             |..................                   |  50%                                   |                                             |...................                  |  52% [plot_with_bar]                   |                                             |....................                 |  55%                                   |                                             |.....................                |  57% [plot_normal_qq]                  |                                             |......................               |  60%                                   |                                             |.......................              |  62% [plot_response_qq]                |                                             |........................             |  64%                                   |                                             |.........................            |  67% [plot_by_qq]                      |                                             |..........................           |  69%                                   |                                             |..........................           |  71% [correlation_analysis]            |                                             |...........................          |  74%                                   |                                             |............................         |  76% [principal_component_analysis]    |                                             |.............................        |  79%                                   |                                             |..............................       |  81% [bivariate_distribution_header]   |                                             |...............................      |  83%                                   |                                             |................................     |  86% [plot_response_boxplot]           |                                             |.................................    |  88%                                   |                                             |.................................    |  90% [plot_by_boxplot]                 |                                             |..................................   |  93%                                   |                                             |...................................  |  95% [plot_response_scatterplot]       |                                             |.................................... |  98%                                   |                                             |.....................................| 100% [plot_by_scatterplot]           
## output file: C:/Users/Dell/Desktop/Adoum Hassan ALI/hassan ali/Ekonometri/report.knit.md
## "C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/pandoc" +RTS -K512m -RTS "C:\Users\Dell\Desktop\Adoum Hassan ALI\hassan ali\Ekonometri\report.knit.md" --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash --output pandoc3850254855f0.html --lua-filter "C:\Users\Dell\AppData\Local\R\win-library\4.3\rmarkdown\rmarkdown\lua\pagebreak.lua" --lua-filter "C:\Users\Dell\AppData\Local\R\win-library\4.3\rmarkdown\rmarkdown\lua\latex-div.lua" --embed-resources --standalone --variable bs3=TRUE --section-divs --table-of-contents --toc-depth 6 --template "C:\Users\Dell\AppData\Local\R\win-library\4.3\rmarkdown\rmd\h\default.html" --no-highlight --variable highlightjs=1 --variable theme=yeti --mathjax --variable "mathjax-url=https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" --include-in-header "C:\Users\Dell\AppData\Local\Temp\RtmpMB6vGZ\rmarkdown-str38503927dfd.html"
## 
## Output created: report.html
model <- lm(Transported ~ ., data = train[, 2:16])
summary(model)
## 
## Call:
## lm(formula = Transported ~ ., data = train[, 2:16])
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.55468 -0.30630 -0.03212  0.28549  1.69187 
## 
## Coefficients: (3 not defined because of singularities)
##                            Estimate Std. Error t value Pr(>|t|)    
## (Intercept)               4.854e-01  3.068e-02  15.818  < 2e-16 ***
## HomePlanetEarth           6.214e-03  3.147e-02   0.197 0.843485    
## HomePlanetPSO J318.5-22  -5.851e-02  1.812e-02  -3.229 0.001249 ** 
## HomePlanetTRAPPIST-1e    -4.916e-02  1.137e-02  -4.325 1.54e-05 ***
## CryoSleepTRUE             4.215e-01  1.090e-02  38.661  < 2e-16 ***
## DestinationPSO J318.5-22         NA         NA      NA       NA    
## DestinationTRAPPIST-1e           NA         NA      NA       NA    
## Age                      -2.167e-03  3.222e-04  -6.725 1.87e-11 ***
## VIPTRUE                  -1.846e-02  2.991e-02  -0.617 0.537170    
## RoomService              -1.087e-04  6.931e-06 -15.682  < 2e-16 ***
## FoodCourt                 4.695e-05  3.056e-06  15.360  < 2e-16 ***
## ShoppingMall              8.648e-05  7.449e-06  11.609  < 2e-16 ***
## Spa                      -8.213e-05  4.171e-06 -19.692  < 2e-16 ***
## VRDeck                   -7.857e-05  4.143e-06 -18.967  < 2e-16 ***
## withgroup                 2.994e-02  9.262e-03   3.233 0.001231 ** 
## deckB                     1.061e-01  2.892e-02   3.670 0.000244 ***
## deckC                     1.397e-01  2.905e-02   4.808 1.55e-06 ***
## deckD                    -1.115e-02  3.149e-02  -0.354 0.723303    
## deckE                    -1.195e-01  2.933e-02  -4.073 4.69e-05 ***
## deckF                    -4.983e-02  2.730e-02  -1.826 0.067957 .  
## deckG                    -1.445e-01  2.751e-02  -5.252 1.54e-07 ***
## deckT                     4.186e-02  1.818e-01   0.230 0.817870    
## sideS                     8.626e-02  8.702e-03   9.913  < 2e-16 ***
## expense                          NA         NA      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4018 on 8540 degrees of freedom
##   (132 observations deleted due to missingness)
## Multiple R-squared:  0.3557, Adjusted R-squared:  0.3542 
## F-statistic: 235.7 on 20 and 8540 DF,  p-value: < 2.2e-16
library(caTools)
## Warning: package 'caTools' was built under R version 4.3.3
set.seed(123)
split = sample.split(train$Transported, SplitRatio = 0.75)
train_train = subset(train, split == FALSE)
train_test = subset(train, split == FALSE)
regresyon<-lm(Transported~.,data = train_train[,-c(1)])
regresyon<-lm(Transported~.,data = train_test[,-c(1)])
summary(regresyon)
## 
## Call:
## lm(formula = Transported ~ ., data = train_test[, -c(1)])
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.02566 -0.29762 -0.02678  0.26036  0.90413 
## 
## Coefficients: (3 not defined because of singularities)
##                            Estimate Std. Error t value Pr(>|t|)    
## (Intercept)               4.267e-01  6.300e-02   6.773 1.63e-11 ***
## HomePlanetEarth           6.366e-02  6.206e-02   1.026  0.30512    
## HomePlanetPSO J318.5-22  -2.212e-02  3.632e-02  -0.609  0.54255    
## HomePlanetTRAPPIST-1e    -3.608e-02  2.271e-02  -1.588  0.11233    
## CryoSleepTRUE             4.510e-01  2.181e-02  20.684  < 2e-16 ***
## DestinationPSO J318.5-22         NA         NA      NA       NA    
## DestinationTRAPPIST-1e           NA         NA      NA       NA    
## Age                      -1.809e-03  6.324e-04  -2.861  0.00427 ** 
## VIPTRUE                  -6.322e-02  6.384e-02  -0.990  0.32208    
## RoomService              -1.026e-04  1.643e-05  -6.244 5.13e-10 ***
## FoodCourt                 6.157e-05  6.484e-06   9.497  < 2e-16 ***
## ShoppingMall              7.857e-05  1.627e-05   4.828 1.47e-06 ***
## Spa                      -8.663e-05  8.476e-06 -10.220  < 2e-16 ***
## VRDeck                   -7.559e-05  8.143e-06  -9.283  < 2e-16 ***
## withgroup                 4.114e-02  1.847e-02   2.228  0.02601 *  
## deckB                     1.185e-01  5.966e-02   1.987  0.04708 *  
## deckC                     1.465e-01  6.029e-02   2.429  0.01520 *  
## deckD                     3.537e-02  6.601e-02   0.536  0.59216    
## deckE                    -4.699e-02  6.026e-02  -0.780  0.43557    
## deckF                    -2.611e-02  5.662e-02  -0.461  0.64467    
## deckG                    -1.341e-01  5.717e-02  -2.347  0.01904 *  
## sideS                     7.051e-02  1.744e-02   4.044 5.45e-05 ***
## expense                          NA         NA      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4012 on 2122 degrees of freedom
##   (31 observations deleted due to missingness)
## Multiple R-squared:  0.3621, Adjusted R-squared:  0.3564 
## F-statistic: 63.39 on 19 and 2122 DF,  p-value: < 2.2e-16
reg_tahmin =predict(regresyon,newdata = train_test[, -c(1,12)])
reg_transported_tahmin<-ifelse(reg_tahmin > 0.5,1,0)
transported_gercek <- ifelse(train_test[12] == TRUE,1,0)
cm=table(transported_gercek,reg_transported_tahmin)
cm
##                   reg_transported_tahmin
## transported_gercek   0   1
##                  0 900 162
##                  1 329 751
(900+751)/(900+751+329+162)
## [1] 0.770775
reg_tahmin = predict(regresyon, newdata = train_train[, -c(1,12)])
reg_transported_tahmin <- ifelse(reg_tahmin > 0.5, 1, 0)
transported_gercek <- ifelse(train_train[12] == TRUE, 1, 0)
cm = table(transported_gercek, reg_transported_tahmin)
cm
##                   reg_transported_tahmin
## transported_gercek   0   1
##                  0 900 162
##                  1 329 751
(900+751)/(900+751+329+162)
## [1] 0.770775
reg_tahmin_bd = predict(model, newdata = test[, -c(1)])
reg_transported_test_tahmin <- ifelse(reg_tahmin_bd > 0.5, TRUE,FALSE)
Transported <- as.character(reg_transported_test_tahmin)
passengerId<- test$PassengerId
Transported<-as.vector(Transported)
submission_regresyon <- cbind(passengerId, Transported)
submission_regresyon <- as.data.frame(submission_regresyon)
library(stringr)
submission_regresyon$Transporter <- str_to_title(submission_regresyon$Transported)
write.csv(submission_regresyon,"siniftahmini.csv", row.names = FALSE,quote = FALSE)
library(glmulti)
regresyon_opt <- glmulti(Transported ~ HomePlanet + CryoSleep + Destination +
+ Age + VIP + RoomService + FoodCourt + ShoppingMall + Spa + VRDeck + withgroup + deck + side, level = 1, crit = bic, data = train)
modelglmulti <- lm(Transported ~ 1 + HomePlanet + Destination + deck + side + CryoSleep + Age + RoomService + FoodCourt + ShoppingMall + Spa + VRDeck, data = train)
reg_tahmin_glmulti = predict(modelglmulti, newdata = test[, -c(1)])
reg_Transported_test_tahmin_glmulti <- ifelse(reg_tahmin_glmulti > 0.5, TRUE, FALSE)
Transported <- as.character(reg_Transported_test_tahmin_glmulti)
passengerId <- test$PassengerId
Transported <- as.vector(Transported)
submission_regresyon_glmulti <- cbind(passengerId, Transported)
submission_regresyon_glmulti <- as.data.frame(submission_regresyon_glmulti)
submission_regresyon_glmulti$Transported <-
str_to_title(submission_regresyon_glmulti$Transported)
write.csv(submission_regresyon_glmulti,"submission_regresyon_glmulti.csv",row.names = FALSE,quote = FALSE)
train_log <- train %>%
  mutate_at(c(5, 7:11, 16), ~ log(1 + .))
test_log <- test %>%
  mutate_at(., c(5, 7:11, 15), ~ log(1 + .))
modellog <- lm(Transported ~ 1 + HomePlanet + Destination + deck + side +
CryoSleep + Age + RoomService + FoodCourt + ShoppingMall + Spa + VRDeck, data
= train_log)
reg_thmin_log = predict(modellog, newdata = test_log[, -c(1)])
reg_Transported_test_tahmin_log <- ifelse(reg_thmin_log > 0.5, TRUE, FALSE) 
Transported <- as.character(reg_Transported_test_tahmin_log)
PassengerId <- test$PassengerId
Transported<-as.vector(Transported)
submission_regresyon_log <- cbind(PassengerId, Transported)
submission_regresyon_log <- as.data.frame(submission_regresyon_log)
submission_regresyon_log$Transported <- str_to_title(submission_regresyon_log$Transported)
logistic <- glm(formula = Transported ~ ., 
               family = binomial, 
               data = train_train[, -c(1)])
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(logistic)
## 
## Call:
## glm(formula = Transported ~ ., family = binomial, data = train_train[, 
##     -c(1)])
## 
## Coefficients: (3 not defined because of singularities)
##                            Estimate Std. Error z value Pr(>|z|)    
## (Intercept)               5.445e-01  5.077e-01   1.072 0.283573    
## HomePlanetEarth           2.620e-01  4.145e-01   0.632 0.527252    
## HomePlanetPSO J318.5-22  -2.152e-01  2.285e-01  -0.942 0.346393    
## HomePlanetTRAPPIST-1e    -3.412e-01  1.602e-01  -2.131 0.033124 *  
## CryoSleepTRUE             1.809e+00  1.515e-01  11.943  < 2e-16 ***
## DestinationPSO J318.5-22         NA         NA      NA       NA    
## DestinationTRAPPIST-1e           NA         NA      NA       NA    
## Age                      -7.914e-03  4.205e-03  -1.882 0.059828 .  
## VIPTRUE                  -4.729e-01  5.136e-01  -0.921 0.357120    
## RoomService              -8.985e-04  1.456e-04  -6.169 6.85e-10 ***
## FoodCourt                 7.330e-04  9.834e-05   7.454 9.04e-14 ***
## ShoppingMall              5.999e-04  1.417e-04   4.235 2.29e-05 ***
## Spa                      -2.359e-03  2.488e-04  -9.482  < 2e-16 ***
## VRDeck                   -2.055e-03  2.248e-04  -9.138  < 2e-16 ***
## withgroup                 1.814e-01  1.220e-01   1.486 0.137173    
## deckB                     1.326e+00  5.601e-01   2.367 0.017912 *  
## deckC                     2.338e+00  6.117e-01   3.822 0.000132 ***
## deckD                    -1.579e-01  5.274e-01  -0.299 0.764721    
## deckE                    -7.326e-01  4.858e-01  -1.508 0.131547    
## deckF                    -4.550e-01  4.674e-01  -0.973 0.330358    
## deckG                    -1.234e+00  4.704e-01  -2.624 0.008698 ** 
## sideS                     4.845e-01  1.162e-01   4.171 3.04e-05 ***
## expense                          NA         NA      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 2969.3  on 2141  degrees of freedom
## Residual deviance: 1853.7  on 2122  degrees of freedom
##   (31 observations deleted due to missingness)
## AIC: 1893.7
## 
## Number of Fisher Scoring iterations: 7
logistic_tahmin = predict(logistic, newdata = train_test[, -c(1,12)])
head(logistic_tahmin)
##          1          2          3          4          5          6 
##  -1.419142 -13.422703   1.300485  -1.582067         NA  -1.604689
logistic_Transported_tahmin <- ifelse(logistic_tahmin > 0.5, 1, 0)
head(logistic_Transported_tahmin)
##  1  2  3  4  5  6 
##  0  0  1  0 NA  0
Transported_gercek <- ifelse(train_test[12] == TRUE, 1, 0)
library(tidymodels)
## Warning: package 'tidymodels' was built under R version 4.3.3
## ── Attaching packages ────────────────────────────────────── tidymodels 1.2.0 ──
## ✔ broom        1.0.5      ✔ rsample      1.2.1 
## ✔ dials        1.2.1      ✔ tune         1.2.1 
## ✔ infer        1.0.7      ✔ workflows    1.1.4 
## ✔ modeldata    1.3.0      ✔ workflowsets 1.1.0 
## ✔ parsnip      1.2.1      ✔ yardstick    1.3.1 
## ✔ recipes      1.0.10
## Warning: package 'broom' was built under R version 4.3.3
## Warning: package 'dials' was built under R version 4.3.3
## Warning: package 'scales' was built under R version 4.3.3
## Warning: package 'infer' was built under R version 4.3.3
## Warning: package 'modeldata' was built under R version 4.3.3
## Warning: package 'parsnip' was built under R version 4.3.3
## Warning: package 'recipes' was built under R version 4.3.3
## Warning: package 'rsample' was built under R version 4.3.3
## Warning: package 'tune' was built under R version 4.3.3
## Warning: package 'workflows' was built under R version 4.3.3
## Warning: package 'workflowsets' was built under R version 4.3.3
## Warning: package 'yardstick' was built under R version 4.3.3
## ── Conflicts ───────────────────────────────────────── tidymodels_conflicts() ──
## ✖ data.table::between()   masks dplyr::between()
## ✖ scales::discard()       masks purrr::discard()
## ✖ dplyr::filter()         masks stats::filter()
## ✖ data.table::first()     masks dplyr::first()
## ✖ recipes::fixed()        masks stringr::fixed()
## ✖ dplyr::lag()            masks stats::lag()
## ✖ data.table::last()      masks dplyr::last()
## ✖ yardstick::spec()       masks readr::spec()
## ✖ recipes::step()         masks stats::step()
## ✖ data.table::transpose() masks purrr::transpose()
## • Use tidymodels_prefer() to resolve common conflicts.
result = data_frame(cbind(Transported_gercek, logistic_Transported_tahmin))
## Warning: `data_frame()` was deprecated in tibble 1.1.0.
## ℹ Please use `tibble()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
library(caret)
## Warning: package 'caret' was built under R version 4.3.3
## Zorunlu paket yükleniyor: lattice
## 
## Attaching package: 'caret'
## The following objects are masked from 'package:yardstick':
## 
##     precision, recall, sensitivity, specificity
## The following object is masked from 'package:purrr':
## 
##     lift
cm = table(transported_gercek, logistic_Transported_tahmin)
cm
##                   logistic_Transported_tahmin
## transported_gercek   0   1
##                  0 900 162
##                  1 294 786
(900+751)/(900+751+329+162)
## [1] 0.770775
confusionMatrix(as.factor(Transported_gercek), as.factor(logistic_Transported_tahmin))
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1
##          0 900 162
##          1 294 786
##                                           
##                Accuracy : 0.7871          
##                  95% CI : (0.7692, 0.8043)
##     No Information Rate : 0.5574          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.5746          
##                                           
##  Mcnemar's Test P-Value : 8.535e-10       
##                                           
##             Sensitivity : 0.7538          
##             Specificity : 0.8291          
##          Pos Pred Value : 0.8475          
##          Neg Pred Value : 0.7278          
##              Prevalence : 0.5574          
##          Detection Rate : 0.4202          
##    Detection Prevalence : 0.4958          
##       Balanced Accuracy : 0.7914          
##                                           
##        'Positive' Class : 0               
## 
logistic_bd = glm(formula = Transported ~ ., 
                  family = binomial, 
                  data = train[, -c(1)])
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
logistic_tahmin_bd = predict(logistic_bd, newdata = test[, -c(1)])
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :
## prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases
logistic_tahmin_test_tahmin <- ifelse(logistic_tahmin_bd > 0.5,TRUE,FALSE)
Transported <- as.character(logistic_tahmin_test_tahmin)
PassengerId <- test$PassengerId 
Transported<- as.vector(Transported)
submission_llogistic <- cbind(PassengerId, Transported)
submission_llogistic<- as.data.frame(submission_llogistic)
submission_llogistic$Transported <- 
  str_to_title(submission_llogistic$Transported)
write.csv(submission_llogistic, "submission_logistic.csv", row.names = FALSE, quote = FALSE)

##Naive Bayes

library(e1071)
## Warning: package 'e1071' was built under R version 4.3.3
## 
## Attaching package: 'e1071'
## The following object is masked from 'package:tune':
## 
##     tune
## The following object is masked from 'package:rsample':
## 
##     permutations
## The following object is masked from 'package:parsnip':
## 
##     tune
fit_nb <- naiveBayes(Transported ~ . , data = train_train[, -1])
fit_nb
## 
## Naive Bayes Classifier for Discrete Predictors
## 
## Call:
## naiveBayes.default(x = X, y = Y, laplace = laplace)
## 
## A-priori probabilities:
## Y
##     FALSE      TRUE 
## 0.4965486 0.5034514 
## 
## Conditional probabilities:
##        HomePlanet
## Y       55 Cancri e      Earth PSO J318.5-22 TRAPPIST-1e
##   FALSE  0.16867470 0.01853568    0.08526413  0.72752549
##   TRUE   0.25411335 0.02468007    0.09506399  0.62614260
## 
##        CryoSleep
## Y           FALSE      TRUE
##   FALSE 0.8739574 0.1260426
##   TRUE  0.4177331 0.5822669
## 
##        Destination
## Y       55 Cancri e PSO J318.5-22 TRAPPIST-1e
##   FALSE  0.16867470    0.08526413  0.74606117
##   TRUE   0.25411335    0.09506399  0.65082267
## 
##        Age
## Y           [,1]     [,2]
##   FALSE 29.53073 13.89541
##   TRUE  27.60360 15.39270
## 
##        VIP
## Y            FALSE       TRUE
##   FALSE 0.97219648 0.02780352
##   TRUE  0.98628885 0.01371115
## 
##        RoomService
## Y           [,1]     [,2]
##   FALSE 315.1103 696.3539
##   TRUE   76.8117 337.2372
## 
##        FoodCourt
## Y           [,1]      [,2]
##   FALSE 311.8128  952.5188
##   TRUE  538.1901 1888.6338
## 
##        ShoppingMall
## Y           [,1]     [,2]
##   FALSE 174.9852 507.7253
##   TRUE  152.4351 593.8864
## 
##        Spa
## Y            [,1]      [,2]
##   FALSE 525.92030 1483.9531
##   TRUE   58.22578  247.8961
## 
##        VRDeck
## Y            [,1]      [,2]
##   FALSE 527.20389 1566.5576
##   TRUE   63.18282  268.1859
## 
##        withgroup
## Y            [,1]      [,2]
##   FALSE 0.3753475 0.4844371
##   TRUE  0.5255941 0.4995729
## 
##        deck
## Y                A          B          C          D          E          F
##   FALSE 0.03107345 0.04613936 0.05273070 0.05555556 0.12335217 0.38135593
##   TRUE  0.02777778 0.13055556 0.11296296 0.04537037 0.08611111 0.28796296
##        deck
## Y                G          T
##   FALSE 0.30979284 0.00000000
##   TRUE  0.30925926 0.00000000
## 
##        side
## Y               P         S
##   FALSE 0.5273070 0.4726930
##   TRUE  0.4490741 0.5509259
## 
##        expense
## Y            [,1]     [,2]
##   FALSE 1855.0324 2857.561
##   TRUE   888.8455 2268.220
pred_nb <- predict(fit_nb, newdata = train_test[, -c(1, 12)], type = "raw")%>%
  data.frame()
head(pred_nb)
##       FALSE.         TRUE.
## 1 0.39145160  6.085484e-01
## 2 1.00000000 2.583109e-152
## 3 0.02589482  9.741052e-01
## 4 0.27566216  7.243378e-01
## 5 0.06391311  9.360869e-01
## 6 0.30812694  6.918731e-01
Transported_pred_nb <- ifelse(pred_nb$TRUE. > 0.5, 1, 0)
head(Transported_pred_nb)
## [1] 1 0 1 1 1 1
Transported_train_test <- ifelse(train_test[12]== TRUE, 1, 0)
head(Transported_train_test)
##      Transported
## [1,]           1
## [2,]           0
## [3,]           1
## [4,]           0
## [5,]           0
## [6,]           0
cm = table(Transported_train_test, Transported_pred_nb)
cm
##                       Transported_pred_nb
## Transported_train_test    0    1
##                      0  476  603
##                      1   66 1028
cm
##                       Transported_pred_nb
## Transported_train_test    0    1
##                      0  476  603
##                      1   66 1028
(1028+603)/(1028+603+476+66)
## [1] 0.7505752
nb= naiveBayes(Transported ~ .,data = train[,-1]) 
result <- predict(nb, newdata = test, type = "raw") %>%
            as.data.frame()
Transported_pred_nb=ifelse(pred_nb$TRUE. > 0.5, TRUE,FALSE)
library(stringr) 
Transported <- as.character(Transported_pred_nb)
PassengerId <- test$PassengerId
transported <- as.vector(Transported)

sample_submission <- cbind(PassengerId, transported)
## Warning in cbind(PassengerId, transported): number of rows of result is not a
## multiple of vector length (arg 2)
sample_submission <- as.data.frame(sample_submission) 
sample_submission$transported <- str_to_title(sample_submission$transported)
write.csv(sample_submission, "sub_nb.csv", row.names = FALSE, quote = FALSE)

svm

fit_svm  <- svm(Transported ~ ., data = train_train[, -1],
             type= 'C-classification',
             kernel = 'linear')
preds <- predict(fit_svm, newdata = train_test[, -c(1,12)], type = "raw") %>%
  data.frame()
head(preds)
##       .
## 1 FALSE
## 2 FALSE
## 3  TRUE
## 4 FALSE
## 6 FALSE
## 7  TRUE
pred_svm <- predict(fit_svm, newdata = train_test[, -c(1, 12)], type = "raw")%>%
  data.frame()
Transported_pred_svm <- ifelse(pred_svm$TRUE. > 0.5, 1, 0)
fit_svm <- naiveBayes(Transported ~ . , data = train_train[, -1])
Transported_pred_svm=ifelse(preds$.== TRUE, 1 ,0)
cm
##                       Transported_pred_nb
## Transported_train_test    0    1
##                      0  476  603
##                      1   66 1028
(1028+603)/(1028+603+476+66)
## [1] 0.7505752
fit_svm  <- svm(Transported ~ ., data = train[, -1],
             type= 'C-classification',
             kernel = 'linear')
preds <- predict(fit_svm, newdata = test, type = "raw") %>%
  data.frame()
Transported_pred_svm = ifelse(preds$. == TRUE,  TRUE, FALSE)
Transported <- as.character(Transported_pred_svm)
PassengerId <- test$PassengerId
Transported <- as.vector(Transported)
sample_submission <- cbind(PassengerId, Transported)
## Warning in cbind(PassengerId, Transported): number of rows of result is not a
## multiple of vector length (arg 2)
sample_submission <- as.data.frame(sample_submission) 
sample_submission$Transported <- str_to_title(sample_submission$Transported)
write.csv(sample_submission, "sub_svm.csv",row.names = FALSE, quote = FALSE)

##SVM radial

fit_svm  <- svm(Transported ~ ., data = train_train[, -1],
             type= 'C-classification',
             kernel = 'radial')
preds <- predict(fit_svm, newdata = train_test[, -c(1, 12)], type = "row")
preds_df <- data.frame(preds)
head(preds)
##     1     2     3     4     6     7 
## FALSE FALSE  TRUE FALSE FALSE  TRUE 
## Levels: FALSE TRUE
Transported_pred_svm <- ifelse(pred_svm$TRUE. > 0.5, 1, 0)
fit_svm <- naiveBayes(Transported ~ . , data = train_train[, -1])
cm
##                       Transported_pred_nb
## Transported_train_test    0    1
##                      0  476  603
##                      1   66 1028
(1028+603)/(1028+603+476+66)
## [1] 0.7505752
fit_svm <- svm(Transported ~ ., data = train[, -1],
               type = 'C-classification',
               kernel = 'radial')
preds <- predict(fit_svm, newdata = test, type = "response")
preds_df <- data.frame(preds)
Transported_pred_svm <- ifelse(preds == TRUE, TRUE, FALSE)
Transported <- as.character(Transported_pred_svm)
PassengerId <- test$PassengerId
Transported <- as.vector(Transported)
sample_submission <- cbind(PassengerId, Transported)
## Warning in cbind(PassengerId, Transported): number of rows of result is not a
## multiple of vector length (arg 2)
sample_submission <- as.data.frame(sample_submission) 
sample_submission$Transported <- str_to_title(sample_submission$Transported)
write.csv(sample_submission, "sub_svm_radial.csv",row.names = FALSE, quote = FALSE)
P <- ggplot(train_train, aes(x = HomePlanet, y = deck, color = factor(Transported))) +
  geom_point(aes(shape = factor(Transported)), size = 3) +
  scale_color_viridis_d() +
  labs(title = "", x = "HomePlanet", y = "deck") +
  theme_minimal() +
  theme(legend.position = "top")

P

library(rpart)
## Warning: package 'rpart' was built under R version 4.3.3
## 
## Attaching package: 'rpart'
## The following object is masked from 'package:dials':
## 
##     prune
library(rpart.plot)
## Warning: package 'rpart.plot' was built under R version 4.3.3
library(randomForest)
## Warning: package 'randomForest' was built under R version 4.3.3
## randomForest 4.7-1.1
## Type rfNews() to see new features/changes/bug fixes.
## 
## Attaching package: 'randomForest'
## The following object is masked from 'package:dplyr':
## 
##     combine
## The following object is masked from 'package:ggplot2':
## 
##     margin
library(caret)
fit_tree <- rpart:: rpart(transported ~., data = train_train[, -1])
summary(fit_tree)
## Call:
## rpart::rpart(formula = transported ~ ., data = train_train[, 
##     -1])
##   n= 2173 
## 
##           CP nsplit rel error    xerror       xstd
## 1 0.35424354      0 1.0000000 1.0000000 0.03721324
## 2 0.18450185      1 0.6457565 0.6568266 0.03183269
## 3 0.09225092      2 0.4612546 0.4704797 0.02767995
## 4 0.05350554      3 0.3690037 0.3800738 0.02519455
## 5 0.04059041      4 0.3154982 0.3413284 0.02400297
## 6 0.02490775      5 0.2749077 0.3062731 0.02284539
## 7 0.02214022      7 0.2250923 0.2601476 0.02118567
## 8 0.01845018      8 0.2029520 0.2416974 0.02047078
## 9 0.01000000      9 0.1845018 0.2195572 0.01956791
## 
## Variable importance
##      expense          Spa       VRDeck    FoodCourt  RoomService  Transported 
##           31           17           14           13            9            8 
## ShoppingMall         deck 
##            7            1 
## 
## Node number 1: 2173 observations,    complexity param=0.3542435
##   predicted class=TRUE   expected loss=0.2494248  P(node) =1
##     class counts:   542  1631
##    probabilities: 0.249 0.751 
##   left son=2 (696 obs) right son=3 (1477 obs)
##   Primary splits:
##       expense     < 970.5   to the right, improve=309.1111, (0 missing)
##       Spa         < 664.5   to the right, improve=259.3986, (0 missing)
##       VRDeck      < 705.5   to the right, improve=213.8406, (0 missing)
##       RoomService < 844     to the right, improve=167.8226, (0 missing)
##       Transported < 0.5     to the left,  improve=157.5610, (0 missing)
##   Surrogate splits:
##       FoodCourt    < 836     to the right, agree=0.785, adj=0.328, (0 split)
##       Spa          < 0.5     to the right, agree=0.767, adj=0.273, (0 split)
##       RoomService  < 792.5   to the right, agree=0.755, adj=0.234, (0 split)
##       VRDeck       < 797.5   to the right, agree=0.754, adj=0.231, (0 split)
##       ShoppingMall < 878     to the right, agree=0.726, adj=0.144, (0 split)
## 
## Node number 2: 696 observations,    complexity param=0.1845018
##   predicted class=FALSE  expected loss=0.362069  P(node) =0.3202945
##     class counts:   444   252
##    probabilities: 0.638 0.362 
##   left son=4 (482 obs) right son=5 (214 obs)
##   Primary splits:
##       Transported < 0.5     to the left,  improve=85.32986, (0 missing)
##       Spa         < 770.5   to the right, improve=42.90983, (0 missing)
##       RoomService < 844     to the right, improve=42.52501, (0 missing)
##       VRDeck      < 705.5   to the right, improve=39.24541, (0 missing)
##       FoodCourt   < 932.5   to the left,  improve=35.62654, (0 missing)
##   Surrogate splits:
##       FoodCourt    < 1263.5  to the left,  agree=0.753, adj=0.196, (0 split)
##       ShoppingMall < 1816    to the left,  agree=0.708, adj=0.051, (0 split)
## 
## Node number 3: 1477 observations,    complexity param=0.09225092
##   predicted class=TRUE   expected loss=0.06635071  P(node) =0.6797055
##     class counts:    98  1379
##    probabilities: 0.066 0.934 
##   left son=6 (58 obs) right son=7 (1419 obs)
##   Primary splits:
##       Spa         < 648     to the right, improve=90.27567, (0 missing)
##       VRDeck      < 662.5   to the right, improve=52.63556, (0 missing)
##       expense     < 716.5   to the right, improve=28.18520, (0 missing)
##       CryoSleep   < 0.5     to the left,  improve=14.27935, (0 missing)
##       Transported < 0.5     to the left,  improve=13.71536, (0 missing)
## 
## Node number 4: 482 observations,    complexity param=0.02490775
##   predicted class=FALSE  expected loss=0.1970954  P(node) =0.2218132
##     class counts:   387    95
##    probabilities: 0.803 0.197 
##   left son=8 (399 obs) right son=9 (83 obs)
##   Primary splits:
##       expense      < 1286.5  to the right, improve=17.67443, (0 missing)
##       ShoppingMall < 360.5   to the left,  improve=16.86471, (0 missing)
##       Spa          < 699.5   to the right, improve=13.43267, (0 missing)
##       RoomService  < 844     to the right, improve=10.64608, (0 missing)
##       VRDeck       < 806     to the right, improve=10.46949, (0 missing)
## 
## Node number 5: 214 observations,    complexity param=0.04059041
##   predicted class=TRUE   expected loss=0.2663551  P(node) =0.09848136
##     class counts:    57   157
##    probabilities: 0.266 0.734 
##   left son=10 (26 obs) right son=11 (188 obs)
##   Primary splits:
##       RoomService  < 982     to the right, improve=25.528310, (0 missing)
##       VRDeck       < 735.5   to the right, improve=14.968570, (0 missing)
##       Spa          < 780.5   to the right, improve= 9.498478, (0 missing)
##       ShoppingMall < 653.5   to the left,  improve= 5.801591, (0 missing)
##       FoodCourt    < 947.5   to the left,  improve= 4.907604, (0 missing)
## 
## Node number 6: 58 observations
##   predicted class=FALSE  expected loss=0.06896552  P(node) =0.02669121
##     class counts:    54     4
##    probabilities: 0.931 0.069 
## 
## Node number 7: 1419 observations,    complexity param=0.05350554
##   predicted class=TRUE   expected loss=0.03100775  P(node) =0.6530143
##     class counts:    44  1375
##    probabilities: 0.031 0.969 
##   left son=14 (43 obs) right son=15 (1376 obs)
##   Primary splits:
##       VRDeck      < 662.5   to the right, improve=57.643410, (0 missing)
##       expense     < 709.5   to the right, improve= 7.445927, (0 missing)
##       CryoSleep   < 0.5     to the left,  improve= 3.265126, (0 missing)
##       Transported < 0.5     to the left,  improve= 2.681829, (0 missing)
##       Spa         < 618     to the right, improve= 2.223766, (0 missing)
## 
## Node number 8: 399 observations
##   predicted class=FALSE  expected loss=0.1353383  P(node) =0.1836171
##     class counts:   345    54
##    probabilities: 0.865 0.135 
## 
## Node number 9: 83 observations,    complexity param=0.02490775
##   predicted class=FALSE  expected loss=0.4939759  P(node) =0.03819604
##     class counts:    42    41
##    probabilities: 0.506 0.494 
##   left son=18 (54 obs) right son=19 (29 obs)
##   Primary splits:
##       ShoppingMall < 187     to the left,  improve=19.822200, (0 missing)
##       RoomService  < 812     to the right, improve=12.859060, (0 missing)
##       Spa          < 695.5   to the right, improve= 7.522547, (0 missing)
##       FoodCourt    < 279.5   to the left,  improve= 7.184117, (0 missing)
##       deck         splits as  R--RLLL-,    improve= 5.169652, (0 missing)
##   Surrogate splits:
##       deck        splits as  L--RLLL-,    agree=0.711, adj=0.172, (0 split)
##       HomePlanet  splits as  LRRL,        agree=0.675, adj=0.069, (0 split)
##       expense     < 1281.5  to the left,  agree=0.675, adj=0.069, (0 split)
##       Destination splits as  LRL,         agree=0.663, adj=0.034, (0 split)
##       VIP         < 0.5     to the left,  agree=0.663, adj=0.034, (0 split)
## 
## Node number 10: 26 observations
##   predicted class=FALSE  expected loss=0.07692308  P(node) =0.01196503
##     class counts:    24     2
##    probabilities: 0.923 0.077 
## 
## Node number 11: 188 observations,    complexity param=0.02214022
##   predicted class=TRUE   expected loss=0.1755319  P(node) =0.08651634
##     class counts:    33   155
##    probabilities: 0.176 0.824 
##   left son=22 (32 obs) right son=23 (156 obs)
##   Primary splits:
##       VRDeck       < 535.5   to the right, improve=20.216180, (0 missing)
##       Spa          < 780.5   to the right, improve=13.318660, (0 missing)
##       ShoppingMall < 647     to the left,  improve= 3.337440, (0 missing)
##       deck         splits as  LRLRRRR-,    improve= 3.226603, (2 missing)
##       HomePlanet   splits as  LRLR,        improve= 2.110546, (0 missing)
##   Surrogate splits:
##       Spa     < 2361.5  to the right, agree=0.84, adj=0.063, (0 split)
##       expense < 18266.5 to the right, agree=0.84, adj=0.063, (0 split)
## 
## Node number 14: 43 observations
##   predicted class=FALSE  expected loss=0.1627907  P(node) =0.01978831
##     class counts:    36     7
##    probabilities: 0.837 0.163 
## 
## Node number 15: 1376 observations
##   predicted class=TRUE   expected loss=0.005813953  P(node) =0.633226
##     class counts:     8  1368
##    probabilities: 0.006 0.994 
## 
## Node number 18: 54 observations,    complexity param=0.01845018
##   predicted class=FALSE  expected loss=0.2407407  P(node) =0.02485044
##     class counts:    41    13
##    probabilities: 0.759 0.241 
##   left son=36 (44 obs) right son=37 (10 obs)
##   Primary splits:
##       FoodCourt   < 279.5   to the left,  improve=14.149830, (0 missing)
##       RoomService < 812     to the right, improve= 3.397884, (0 missing)
##       withgroup   < 0.5     to the left,  improve= 3.035300, (0 missing)
##       Spa         < 695.5   to the right, improve= 1.984643, (0 missing)
##       deck        splits as  R--RLLR-,    improve= 1.649832, (0 missing)
##   Surrogate splits:
##       deck splits as  R--RLLL-, agree=0.87, adj=0.3, (0 split)
## 
## Node number 19: 29 observations
##   predicted class=TRUE   expected loss=0.03448276  P(node) =0.01334561
##     class counts:     1    28
##    probabilities: 0.034 0.966 
## 
## Node number 22: 32 observations
##   predicted class=FALSE  expected loss=0.3125  P(node) =0.01472618
##     class counts:    22    10
##    probabilities: 0.688 0.312 
## 
## Node number 23: 156 observations
##   predicted class=TRUE   expected loss=0.07051282  P(node) =0.07179015
##     class counts:    11   145
##    probabilities: 0.071 0.929 
## 
## Node number 36: 44 observations
##   predicted class=FALSE  expected loss=0.06818182  P(node) =0.0202485
##     class counts:    41     3
##    probabilities: 0.932 0.068 
## 
## Node number 37: 10 observations
##   predicted class=TRUE   expected loss=0  P(node) =0.004601933
##     class counts:     0    10
##    probabilities: 0.000 1.000
rpart.plot(fit_tree)

head(preds)
##     1     2     3     4     5     6 
##  TRUE FALSE  TRUE  TRUE FALSE FALSE 
## Levels: FALSE TRUE
Transported_pred_tree <- ifelse('pred.' > 0.5, 1, 0)
fit_tree <- naiveBayes(Transported ~ . , data = train_train[, -1])
cm
##                       Transported_pred_nb
## Transported_train_test    0    1
##                      0  476  603
##                      1   66 1028
(1028+603)/(1028+603+476+66)
## [1] 0.7505752
fit_tree <- rpart(Transported ~ ., data = train[, -1])

preds <- predict(fit_tree, newdata = test) %>%
  data.frame()
Transported_pred_tree = ifelse(preds$. > 0.5, TRUE, FALSE)
Transported <- as.character(Transported_pred_tree)
PassengerId <- test$PassengerId
Transported <- as.vector(Transported)
sample_submission <- cbind(PassengerId, Transported)
sample_submission <- as.data.frame(sample_submission) 
sample_submission$Transported <- str_to_title(sample_submission$Transported)
write.csv(sample_submission, "sub_tree.csv", row.names = FALSE, quote = FALSE)

Random Forest

fit_Forest <- rpart(Transported ~ ., data = train)
summary(fit_Forest)
## Call:
## rpart(formula = Transported ~ ., data = train)
##   n= 8693 
## 
##     CP nsplit rel error   xerror         xstd
## 1 1.00      0         1 1.000281 0.0001760051
## 2 0.01      1         0 1.051476 0.0188856804
## 
## Variable importance
## PassengerId     expense   CryoSleep         Spa RoomService      VRDeck 
##          35          16          15          11          11          11 
## 
## Node number 1: 8693 observations,    complexity param=1
##   mean=0.5036236, MSE=0.2499869 
##   left son=2 (4315 obs) right son=3 (4378 obs)
##   Primary splits:
##       PassengerId splits as  LRLLRRRRRRRRRLRLLLRRLLLLRLLLRLLLLRRRRLLLLRLLRRLRLLLRRRRLLLRRLRRLLRLLLLRRRLLLRRRRLRRRLLRRLLRLRRLRRLLLLLRLLRRRRRLRRLRRLLRLLLRRLRLRLRRLLRLRLRLLLRRRLRRLLLRRRLLLRLRLRRLRLLRLLRLRRLLRLRRRRRRLRLRRRLLLLLLRRRLLLLRLLLRLLLLRRLLRLLLLLRLRLLLRRRLLLLRLLRRLRLLLRRLRLRRLLRRRRRRLRLLRRRRRRRRRLLRLLLRLLRRRRLRRRLLLLLLRRRLLRLLRRRRRLLLRLRRRLRRLRRLLRLLRRLRLLLRLLRLRRLRRRRRLLLRRLLLLRLLLRRLLLRRLLLLLLLLRLLRLRRLRRRRRRRRLRLRRRLLLRLLLLLLLRRLRRRRRRRRRLRLLRLRRRRLLLLRLLRRLRLRLLRRLLRLLLLLRRRRLRLLRLLRRRLRRRRRRRRRLLRRLRLRRLRLLLRLLLLRRRRRLRLLLLLRRRRLRRRRLRLLRRLLRRLLRRLRRRRLRRRLRLLRLLRLRLRRRRRRLRLLLLLLLLRRLLRRLRRRLRLLLLRLLRRRLRRRLRRRRLRRLLRLLLLRRLRRLRRRRLRRRLRRRLRLLRLLRLRLLLRLLLLLLLLRLRRRLRLLLRRLLRRLRRRLRLRRRRRRRLLRLRLRLLRRRLLLLRRRLLLLLRLRLRLLRLRRRLRLRLLRLLLRRLLLLRRLLRRRLRLLLRRLRLLLLRRLLRRLRLRLRRLRLRLLRLRRRLLLRRRLRRRLRRLRRRRLLLLLLLRRRRRLRRLLLLRRLRLLRLLLLRLLLLLRLRLRLRLRRLLLRLLRLRRLLLLLRLRRLLRRRLLRLRRRRLLLRRRRLLLLRLRRLLLRRLRRRLLLRRLLRLLRRLRLLLRLRLRRLLRLLLRLRLRLLLLRLRLLRLRRLLRRRRLLRLRLLRRRLLRLLLLRLLRRLLLRLRRLRRLLLLRRRRLLLRRRRLLLRRRRLLRRLLLLLLRRRLLRLLRRLRLRRLRLRLLRLLLLLRLRRRLLRRRRLRLRLLRLRRRRRRRRRLLLRRLLRRRLRLLLLLLRRRRLRLRRLRRLLRRLRLLLRRRRLRLRRRLRLLRLLLLLRLLRRRLRLLLLRLLLRLRLRLRRRRLLLLLRRRRRLLRLRRRLRRRRRLLLRLLLRRLLLRLLLRLLLLLRRLLLRLRRRLLLLLRRLRRLLRLRRLLRLRRRLRLLRRLRLLRRLLRRLLRRLRLLLLRRLLLRLLLLRLRRLLLLLRLRRRLRRLLRRLLLLLLRLRLLRLRLLRRRLRLRRRLLLLRLRLRLRRLLLLLRLLLLLRLLLLLLRRRRLRRRLRRRRLLLRLLRLLLLLLRRRRLRLLRLRLLRLRLRRRRLLLRRLRLLLRLLRLLRRLLRLRLLLLLRRLRRLLLRRLLLLLRRLLLRRRRRRLRRRRRLLLRRLRLRLRLRLRRLLRLLLLLLLLRLRRLLLLRLRLLRRLLRRRRLRRLRRRRRRLLLRRLRLRRRLLLRRLRRLRRRRRLLRRLLLRRRLLLRLRLLRLLRLRRLLRLLRLLLLRLLRRLLRLLLLLLLLLLRLLRLLLRLLRLLLRRRLLRLLLRLLRLLRLLLLLLRLRLLLRLRLLRRRRLRLLRRLLLRRLLRLRRLLLLLRLRRLLRRRRLRRRLRRLLRRLLLLLLLRRLLRLLRRLLRRLLLLRLRLRRLRLRRLLRRRRRRLLLRRLLLRRLLLLLLRRRLRLRLLRLRLLLRLLLLRRLRLLLLLLRRRLLLRLLLLRRLRRLLRRLLLLLLLLRLLRRLLRRLLLRRRLLRLLLLLLLLLLLLRLRLRRRRLLRLLRRRLRLLRRRLRRRRRLRLRLLRRLLRRLRLLRLRLLLLLRLRRRLLLRRLLRRRRLRLLRLLRRRLRRRLRRLLLRRRRLLLLRRLRLLLRRLRLRLLRLLRLLLRLRRRLRLRLRLLLLRLLLRRRLLLLLLLLLRRLLLRLLRLLLRLLLLLRLLLLRRRRRRRRLLLLRLRLLLLLRRRRRLRLRLLLRRRRLLLLLLLLLLRLLRLRRLRLRLLRLLLLLRLRRRLRRRLRLLLLLLLRRLLLRLLRRRRLRLLLLLRRRRRRRLLRLRLRRRRRLRRLLRLLRLLLLRLLLLLRLLLLRLLLRLRRLRRLRLLRLRRLRLLLLRRLLLLRLRRLLRLRLLLRLLRLRRLLLLRLLRRLRLRRRRLLLLLRRLRLLLLRRLLRLRLLLRLLLLLLRLLLRRRRLRRRRRLLLRRLRRRRLLLRLLRRLRLLLRRLRLLRLLLRRRLLLLLLLLLRLLRRLLLLLLLRLRLLLRLLLRLLLRLRRLRLRLLRLRRRLLRRRRRRLRLRLRLRLLLRLLLLRLLRLRLRRRRRRRRRRRLRLLLRLRRLRRRRLLLLLLLRRRLLRLLRLLLLLRRRLRLRRLLLRLRLRLLRRRRRLLRLLLRLLLRLLRLRRLLLLLLRLRRRLLLLLRRLLLRLLRLRRLLLLLLLRRLRLLRLLRLRLLLLLLLLLLRRLLRRRRRRLRRRLLRLLRLRRRRLLLLRRLRRLRLRLLRRLLLLRRRRLLRLLRLRLLLRLLRRLRLLLLLLLLLRRLLRLRRRLLLRLLLRRRRLLLLRLRLRLLLLRRLLRRRLRRRLRRRLRRLRRRLLRLLRLLLRLLRRLRLLLRRRRRRRLLRRLLRRRRRLRLLRLLLRLLLLRLRLRLLLLRLRLRLLLRLLLLLLRRRRRRLRLRRRLLLLRRLLLLLLRRRLLRRLLLLLLLLRRLLRRLLRRLLLRLLLRRLRLLRRRLRLRLLLLRLLLLLLLRRRLLLLRRRLLLLLLLLLLLLLRLLRLLLLLLLLLRRLRRLRLRRLRRLLRRRLRLRLRLRLRLRRLRRRLRRRLLRRLLLLLRLRRRRRRRLLRRRRLRRLLLLRRRRRLLRLRLLLLLRRRRLRRRRLLLRRRLLRLRLRLLRLLLLLLLLLLLRLRLLLLLLLLRRRRLRLLLLLLRRRLRRRLRLLLRLLRLLLLLLLRRRLLLLLRRLRRRLRLLRLRRRRRLRRRLLLLRRRRLRRLRRRRRLLRLRLRLRRRRRLLLLRLLRLLLRRRRRLRRRRRRLLLRLRLRRRRLLRLRLLRRLLRLRRRLLRRRRLLRLLRLLRRLLLRLLLRRLRRRLRRRRRLRLRLRRLRLLLRLRLRRLLRRLLLRRRLLLRRRRLLRLRRLRRRLLLLRRRRRLRLLRRLLRRRRLRLLLLRRLRLRLRRRLRRRRLLLLLRLRRRLLLLRRRLLRRRRRLLLRRLLRRLLLLRRRRRLRRRRRLRRLRLLLRRLLRRRRRLLRLLLLRLRRLRLRRRLLRLRRLLRRLLRLRLRRLLLLRLRRRLLRRRLRRRRLLRRRRRRLLRRLRRLLRRLRLLRLRLLRLRLRRRRRRRLRLLLLLRRLRRRRRRLRLRLLRRLRLRRRRLLRRRRLLLRLLLLRLRRLLLRLRRRRLLLLRLRLRRRRRRLRLLRRLRLRLRLRLRLLRLRRRRLLRLLRLLRRLRRRRRLRLRLRRRRRLLLRRRRRRLLLLLLRRRLRRRRRLRLLLLRLRLLRLLLLRLLRRLLLLLRRLLLRLLLLRRRRRRLRRRRRRRLLRLLRLRLRLRRRLRRRLLRLLRLRRRRRLLRRLRRLLRLLRLRRLRRRLLRLRLLRRLRRRLLRLRLLRRRLLRRRRLLLLLLLLLRLLRLLLRLRRLRRLRRLLRLRRRRRRLRLLLRLLLRLLLLLRRLRLRLRRRRLRRLLRRRLLRRRLRRRLRRRLLLLLLRRLLLRLLLLRRRLLLLRRRRLRLRLLLRRRLLRRLRRLLRLLLLRRRRLLRLRRRRLLLLLLLRRRRRLLRLLRLRLLRLRRRLRRRRLRLRRLRRLRRLRLLLLRLLLRRRRRLRLLLRRRRRLLLRRRLRLRLLRRLLLRRRLLRRRRLLRRRRRRLRLLLLLRRRLLRRRRLRLRLRLLRRLRRRRLLLRRRRRLLLRLLRRLLLRRLRRLRRLRRLRRRLRLLRLRLLRRLLLLLLLLRRRRLLRRRLRRLRRLRLRRRRRLLRRRRLLRRRLRLLRRLRRLLRRLRRLRRLRLRRRRRRRRLRRRLRLRLRLLRRLRLRLRLRRRRLRRRLLRLRRRRLLRRRRRLRRRLRLLLLLRLLRRRRLLLLRRRRLRLLRRRLRLLRLRLLLRRLRRRRLLLLRRRRRRRRRLRRLRRRRLRRLLLLLRRLLLLLLRRRLRLLLLRRLRLLRLRLLLRRRRLLLRLRRLLLRLRLLLLLRRRRRRLRLRLLLLRRLLRRRRLLLLRRRRLRRRLRRLLLLRRLRRLLLLRLRRLRLLLRRRRLLLRRRRRRLLRLRRRLRLLLLLLRLLRRRRLLRRRLRRRRRLRRRRRRLLLLLRLRRLLRRRRRRLLRRLRRRLLLLLLRLRLLLLLRRRRRRRRLLRRRLLRLLRLRRLRRRRLLLRRRLRRLLLRLLRLLRLLLRRRRLLRRRRRLRLRRRRLLRRRRRRRLLLLLLLRRRLLLRRRRRRLRRRLRRRLLRRLLRLRRRRLLLRRLRLRRRRRRRLLRRRLLLRRRLRRRRRRLRRLLRLRRRLRRLLLRLRRRRRRLRLLLLRRLLRRRRLLLLRLRLRLRRLRRRRLRRLLRRRLLLLLLLLLLRRLRRRRRRRLRRRRRRRRRRRLLRLLRRRLRRRRLLRLLRRRRLRRLLLRLRLRRRRRLLLLLLRRLRRLLLLRRRRLRLRLRRLLRRLRRLRLLRRLRRLLLLRLRLLLRRLLLRLRRLLRRRRLRLRRLLRRLRLRLRRLRLLRLLLLLLRLRLRLLRLLRLLRRRRRRRRRRLLLRRRRRRRLRLLRRLLRRRLRLRLLRLLLRRRRLRRRRRLRRLLRRRLLRRLRRRRLLLRRLLLRRRRRRRLLLLRLLRRRRRLRLLLRLLRRRLLRLRLRRLRLLRRLLLRRRLRRRLRRLRLRRRRRLRRRRLRRRRRRRRRLLRRRRRLLLRRLRLLLRRRLRLRRRRRLLRRRRRRRLRRRLLRRRLRRRLRRLRRRRLRLRRRRLRLLRLLRLRLLRRLLRRLLRRRRLRRRRLLRRRLLLLRRLLRRLRRRLRRLRRRLLLLLLLLRRLLLLRLRLRRLRLRLRLLLRLLLRRLLRLRLLRLLRRRRRRLLLLLLLRLLRRLRLLLRRLLRRLRRLRLLRLRRRLRRLLLLRRRRRLRLRLLRRRLLRRRRRLLRLRRRLRLRLLLRLLLRLRRRRRLRRLRRRLRRRLRRLRLRLRRLRLLLRLLRLRRLLLRRRRLRLRLLRLRLLLRLRRRRRRRLRRRLRLRLRRRRRRRRLLLRLRLLRLLRRRRRLLLRRRRLLLLRLLLLRLRLRLLRLLRRRRRRRLRLLLLRLLRRRLRRRRRRRRRRRLRRLRRRRRRRRLRLLLRRRLLRLLRLRLRRRRLLLRLLLLLRLLLLRLLLLRRLLRLRRRRRRLRLLLRRRRLRLLRLRLRLRLRLRLLLLLLRRRLRRRRRRRRLRRRRLRRRLRRLRRRRRRLLLLRRLRLRRRRLLRLLRRRRRLRRLRRRRLLLRRRLRRRLRRRLRRRLRLLRLLRLLLLRRRRRRRRLLLRLRRRRRRLLRRLRLLRLLRLLLRLRLLRRLRLLRRRLRRRRRLRLRLLRLLLLLRRLLRRRRLRRRLLRLRRLRLRRLRLRLRLRRLRRLRRRLLRRRRLRRRLLLLRLRRRRLLRRLLRRRLLLLLLLLRLRRLLRRRLRRRRRRRRRLRLRRLRRLRRRLRLRLLLLRLRLRLRLLRRLLLRLLRLRLLRRRRRRLRRLRRLRRRRRRLRRLLRLLRLRRLLRRRLRRRRLLLLLRRLRRRRLLLRRRLLRLRRRRRRRRRRRLLRLLRRRRRLRLLLRLLLRRRRLLRRLRLLRLRLRRLLRRRRRRRRLRRRLLLLLLRLRRRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRLLLRRRRLRLLLRRLLRLLRRRLRRLLLRRRRRLRRRRLLLRRLRRRRLLRRRRRLLLLLRLRRLRRLRLRRRLLRLLLRRRRRRRRLRLLLRLLRRRLLRLRRRRRRLRRRRLRLLRLLLRLRLRRLRLRRRLRRLRLLLRRRRRLLLRLRLLLRRLRLRRRRRRLLLLLRRRLRRLLRLLLRRLLRLLRRRRRRLRRRRLLRLRLRRRLLLLRLRRRLRLLRLLRRRLLRRLLLRRRRRLLLLRLRRRRLLLRLRRRRLLRRLLRLLLRRRLLLLLLRRLRRRLRLRLLRLRRLLRLLLLRRLRRLRLRLLLLLLRLLRLLRLLRRRRRRLRLRRLRRRRLRRRLLLRLRRRRRRRLRRLRLLLRLRRRLLLLRRRRLRRRLLLRRRRRRLLRRLLRRLRLRRLRLRRLRRLRLLRRRLLLRRRRLRLRRLRLLLRRRRRRLRRRRLLLLRRRRRLRRRLRRLRLRLRRRRRRRLRLLLLLLRRRRLLRLRLRLRLRRLLRRLLRLRRLRRLRLLRLLRRRRRRLLRLRLLRRRLLRRRLRRRRLLRLRRRRRLRLLRRLRLRLLLRRLLLRRRRLLLRRRRLRRRRLRLLLRLLLRRLRRRRLLRRLRRLLLRRRLLRLRRLLRRRRRRLLRRRRLRLRLLLRRLRRLLRLRLRLRLRRRRRLRLRLLRRRRRRRLRLRRRRLRRLRRRRLLRLLLLLLLLLLRRRRRLLLRRRRLRLRLRLLRLRLLRLLRRLLLLLLLRLLRRRLLLRLRRRLRLLLRRRLRLRRRRLRLLRLLLRRLLLRLRRLRLLLRRLRLLLLRLLRRLLLLRLRRLLRRLRLRLRRLRRRLRRLLLRLLRRRLLLLRLLRLLLRRLLRLRLLLRLLLRLLLRRLRRLRRRRRLRRLLRLRRLRRLRLRLRLRLRRLLRRLRRRLRRLLLRLRLLRRLLRRRRRRLRLRLLRLLLLRLLLLRLRRRLLLRRLRLLRLRRLRRRLRLRLLRRRLRLRRRRRLLLLLRRRLLRRRLLLLLRLRLLRLRLLLLLLLLLLLRRLLLLRRLRRLRLRRRRLLLLLRLRRLLLRRLLLLLRRLLRRRRLLRRLRLLRLLRRRLRLRLLLLRRLRRRRLLLLLLLLLRRRRRRLLLRRRRRRRLRRLRRLLRLRRRLLRLRRRLLRRRLLRRLLRRLLLLLLLRLRLLLLRRRLRRRRRRLRRLLLLLLRRRLLRLRRRLRLLLLLLRRLLLRRRRRLRLRRRRRLRRRRRLLRLLRRLRRRRLRLLRLLRRLLLLLRRRRRLRRRLRLRRLRRLRLRRRRRLRLLLLRLLLRRLLLRRLRRLLLRRRRLLRRLLLLLRLRRLLRLRLRRLRLRRLRLLLRRLLRRLLLRLRLLRRRRLRRLLRRLLLRRRLLRLLRLLRRLLLRLLLLRLLLRLLLRLLLRRLLLRRLRLLLRRRLLLLLRLLRRLLLLRRRLLRLLRLLLRLLLLRLRRRRRLLRRLLLLRRLRRLLLLLRRLRLRRLRRRLRRLRLLRRLRLLLRRLRLRRLRLLRLRLRLLLLRRLLRLRLLLRRLRRRLLLRRRLLLLRRLLLRRRLRLLRLLLRRRRRRRLLRLRRRLRLRRRRRLRLLLRRRLRRRLRLLRLLRRLRRLLLLRRRLLRLLLRRLRRRRRLLRRLLLLLLRRRLLLRLRRLRLLRRRLLLLLLRRLRLLLRRLLRLRRLRRLRRRLLLRLLLRRLRLRLLRLRRLRLLLRRRLLLLLLRLRRLLLRRRRRLRRLRLRLLRRLLLLRLLRRRLLLLLLRLLLLLRRRLRRLLRLRRLLLRLLRLLRRRRRLRLRLLLRRRLRLLRRLRLRRLRLLRRRRRRLLLLLLLLLRLLRLLRLLLRLLLLRRLRLRLRRLRRRRRLRRRRRRLLLLLLRRRLLRRLRLLRRLRRRLLRLLLRLLRLRLLRRLLLLLRLRLRRLRLLLRRLLRRRLLRRRLRRRLLRLLRLLRRRRRLRRRLLLRLLLLRRLRLLLRRLLLLRRRRRRRRLLLLRLRRLRRLRLLRLRLLRLLRLLLRLRLRLRRRLRLLRRRRRLLRLLRLRLRLLLLLLRLLLLRLRRLRRRLRRRLLLRRRLRRRLLRLRLRLRLLLLRLRLLLRLLLLRLLLRLRRRLRRRLLRLLLRRRLRLRRLRRLLLLRLLLRRRRRRLLLLLLLRLRRLRLLLRLRLLRRRRLRRLRLLLLLLLRLLLLRRRLLRRLLLRLRLLLLRRLRLRRLLLRRRLRLRRLLRLLLLLRRLRLRLLRRLLRRLLRRLLRRLLLRLLLLRRLLLLRRRLLLLRLLLRLLRLLLLRLRRRRLLLLLLLLLLLRRLLLRRRRLRLLLRRLRLLRRLLLRLRLRRLLRRLRRLLLLRRRLLRLRLRLRLLLLLRRRRLLRLRRLRLRLLLRRLRRRLLLLRLRRLRLLRRLRLLLRLRRRLRRLRRRRRLRRRRRRRLRLRRLRLLLRLLRRLRRRRLRRLLRLRLLLLRRRRRLRRRRLLRLRRRLLLRLRLLLRLLLLLLRRLLLLLRRLLRRLRRLLLLLLLLLLLRRRRLLRLLRRRLLLLRLLLLLRRRLLLRRLLLLRRLLLRRLRRRLLLLLLRRLRLLRLRRRRRLLRLLLRLLLLLLRRRRLLRLLLRRLLRRRLLRLLRLLLLRRLRRLLLRLLRRRLLLRLLRLLLLRLRRRLLLLRRRLLLLRLRLLLLLLRRLLLLRLLRRRLRRRLLRRRLLRRLLLLRRLLLRRRLRLLRLRLLRRLLRRLLLRRRRLRLRLRRLRRRRRLLRRRLRLRRLRLLLLRRRLRRRLRLRLLLRRRLRRRRRRLRLRLRRRRRRLRRLRLLRLR, improve=1.0000000, (0 missing)
##       expense     < 0.5 to the right, improve=0.2319660, (0 missing)
##       CryoSleep   < 0.5 to the left,  improve=0.2179264, (0 missing)
##       RoomService < 0.5 to the right, improve=0.1210541, (0 missing)
##       Spa         < 0.5 to the right, improve=0.1183706, (0 missing)
##   Surrogate splits:
##       expense     < 0.5 to the right, agree=0.737, adj=0.470, (0 split)
##       CryoSleep   < 0.5 to the left,  agree=0.723, adj=0.441, (0 split)
##       Spa         < 0.5 to the right, agree=0.667, adj=0.329, (0 split)
##       RoomService < 0.5 to the right, agree=0.666, adj=0.327, (0 split)
##       VRDeck      < 0.5 to the right, agree=0.659, adj=0.313, (0 split)
## 
## Node number 2: 4315 observations
##   mean=0, MSE=0 
## 
## Node number 3: 4378 observations
##   mean=1, MSE=0

`

hist(train$FoodCourt)

hist(train$Age)