OUTLINE

Outline

Executive Summary

Kaggle’s Titanic: Machine Learning from Disaster

My model finished in the top 20% of all contestants by accurately predicting ~80% of survivors & casualties

Who was most likely to survive?

A single 30 year old woman, in first class, from Cherbourg, France. ~ 99%

Who was most likely to perish?

An elderly father, in third class, from Queenstown, Ireland with a large family. ~1%

Two biggest determining factors for survival?

  1. Sex: Female > Male
  2. Class: 1st > 2nd > 3rd

KAGGLE DATA

Kaggle Data

Summary

Kaggle hosts machine learning competitions online.

About the Titanic Data

The “Titanic: Machine Learning from Disaster” dataset, lists which passengers did and didn’t survive the tragedy, along with their passenger demographic information, such as: PassengerId, Name, Class, Age, Sex, etc. Kaggle provides us with 3 files: training, testing and submission. The training set consists of 891 records, 11 features, and 1 binary response variable–Survived. The test set is comprised of 481 records, 11 features, and the binary response variable–survived. The submission file provides us with the PassengerId’s from the test set with a Survived value–values we’ll be predicting.

Download Kaggle Titanic Datsets

Download the Titanic datasets here: Download Kaggle Titanic Datasets Here

LOAD LIBRARIES

Load Libraries

Summary

Load R packages into working environment

Load

library(readr)
library(tidyr)
library(Amelia)
library(ggplot2)
library(dplyr)
library(purrr)
library(tidyr)
library(car)
library(broom)
library(caret)
library(caretEnsemble)
library(ROCR)
library(broom)
library(ggridges)
library(caTools)
library(tictoc)
library(tidyverse)
library(gridExtra)
library(grid)
library(ranger)
library(h2o)
library(BBmisc)

READ FILES

Read Files

Summary

Get Kaggle Data into R

Map Working Directory

Map the saved location of your Titanic Files into R

setwd("C:/Users/joshu/Documents/DataScience/Kaggle/Titanic")
dir()
##  [1] "EJ_Smith_captain.jpg"                                  
##  [2] "gender_submission.csv"                                 
##  [3] "John_Jacob_Astor.jpg"                                  
##  [4] "kaggle_1st_comment.PNG"                                
##  [5] "Kaggle_Titanic_Submission.csv"                         
##  [6] "Kaggle_Titanic_Submission_10.csv"                      
##  [7] "Kaggle_Titanic_Submission_11.csv"                      
##  [8] "Kaggle_Titanic_Submission_12.csv"                      
##  [9] "Kaggle_Titanic_Submission_13.csv"                      
## [10] "Kaggle_Titanic_Submission_14.csv"                      
## [11] "Kaggle_Titanic_Submission_15.csv"                      
## [12] "Kaggle_Titanic_Submission_16.csv"                      
## [13] "Kaggle_Titanic_Submission_17.csv"                      
## [14] "Kaggle_Titanic_Submission_18.csv"                      
## [15] "Kaggle_Titanic_Submission_19.csv"                      
## [16] "Kaggle_Titanic_Submission_2.csv"                       
## [17] "Kaggle_Titanic_Submission_20.csv"                      
## [18] "Kaggle_Titanic_Submission_21.csv"                      
## [19] "Kaggle_Titanic_Submission_22.csv"                      
## [20] "Kaggle_Titanic_Submission_23.csv"                      
## [21] "Kaggle_Titanic_Submission_24.csv"                      
## [22] "Kaggle_Titanic_Submission_25.csv"                      
## [23] "Kaggle_Titanic_Submission_26.csv"                      
## [24] "Kaggle_Titanic_Submission_27.csv"                      
## [25] "Kaggle_Titanic_Submission_28.csv"                      
## [26] "Kaggle_Titanic_Submission_3.csv"                       
## [27] "Kaggle_Titanic_Submission_4.csv"                       
## [28] "Kaggle_Titanic_Submission_5.csv"                       
## [29] "Kaggle_Titanic_Submission_6.csv"                       
## [30] "Kaggle_Titanic_Submission_7.csv"                       
## [31] "Kaggle_Titanic_Submission_8.csv"                       
## [32] "Kaggle_Titanic_Submission_9.csv"                       
## [33] "model_stack_prediction.PNG"                            
## [34] "rsconnect"                                             
## [35] "test.csv"                                              
## [36] "titanic_break.jpg"                                     
## [37] "titanic_built.jpg"                                     
## [38] "Titanic_Final_Report.html"                             
## [39] "Titanic_Final_Report.Rmd"                              
## [40] "titanic_lifeboat.jpg"                                  
## [41] "titanic_night.jpg"                                     
## [42] "titanic_port.jpg"                                      
## [43] "titanic_probabilities_graphs"                          
## [44] "Titanic_Rank.PNG"                                      
## [45] "Titanic_Rmarkdown_Kaggle.Rmd"                          
## [46] "Titanic_Rmarkdown_Kaggle_2.Rmd"                        
## [47] "Titanic_Rmarkdown_Kaggle_3.Rmd"                        
## [48] "titanic_Rmarkdown_kaggle_Final_1.Rmd"                  
## [49] "titanic_Rmarkdown_kaggle_Final_score_7945_high.html"   
## [50] "titanic_Rmarkdown_kaggle_Final_score_7945_high.Rmd"    
## [51] "titanic_Rmarkdown_kaggle_Rpubs.Rmd"                    
## [52] "titanic_Rmarkdown_kaggle_Rpubs_10.Rmd"                 
## [53] "titanic_Rmarkdown_kaggle_Rpubs_11.Rmd"                 
## [54] "titanic_Rmarkdown_kaggle_Rpubs_12.Rmd"                 
## [55] "titanic_Rmarkdown_kaggle_Rpubs_13.Rmd"                 
## [56] "titanic_Rmarkdown_kaggle_Rpubs_14.Rmd"                 
## [57] "titanic_Rmarkdown_kaggle_Rpubs_14_files"               
## [58] "titanic_Rmarkdown_kaggle_Rpubs_15.Rmd"                 
## [59] "titanic_Rmarkdown_kaggle_Rpubs_16.Rmd"                 
## [60] "titanic_Rmarkdown_kaggle_Rpubs_17.Rmd"                 
## [61] "titanic_Rmarkdown_kaggle_Rpubs_18.Rmd"                 
## [62] "titanic_Rmarkdown_kaggle_Rpubs_19.Rmd"                 
## [63] "titanic_Rmarkdown_kaggle_Rpubs_2.Rmd"                  
## [64] "titanic_Rmarkdown_kaggle_Rpubs_20.html"                
## [65] "titanic_Rmarkdown_kaggle_Rpubs_20.Rmd"                 
## [66] "titanic_Rmarkdown_kaggle_Rpubs_21.html"                
## [67] "titanic_Rmarkdown_kaggle_Rpubs_21.Rmd"                 
## [68] "titanic_Rmarkdown_kaggle_Rpubs_21_set_2.Rmd"           
## [69] "titanic_Rmarkdown_kaggle_Rpubs_21_set_3.html"          
## [70] "titanic_Rmarkdown_kaggle_Rpubs_21_set_3.Rmd"           
## [71] "titanic_Rmarkdown_kaggle_Rpubs_21_set_3_cleaning.html" 
## [72] "titanic_Rmarkdown_kaggle_Rpubs_21_set_3_cleaning.Rmd"  
## [73] "titanic_Rmarkdown_kaggle_Rpubs_21_set_3_cleaning_files"
## [74] "titanic_Rmarkdown_kaggle_Rpubs_3.Rmd"                  
## [75] "titanic_Rmarkdown_kaggle_Rpubs_3_files"                
## [76] "titanic_Rmarkdown_kaggle_Rpubs_4.Rmd"                  
## [77] "titanic_Rmarkdown_kaggle_Rpubs_5.Rmd"                  
## [78] "titanic_Rmarkdown_kaggle_Rpubs_6.Rmd"                  
## [79] "titanic_Rmarkdown_kaggle_Rpubs_7.Rmd"                  
## [80] "titanic_Rmarkdown_kaggle_Rpubs_8.Rmd"                  
## [81] "titanic_Rmarkdown_kaggle_Rpubs_9.Rmd"                  
## [82] "titanic_sinking.jpg"                                   
## [83] "titanic_size_comparison.png"                           
## [84] "titanic_smartphone_picture.jpg"                        
## [85] "titanic_tugged.jpg"                                    
## [86] "titanic_underwater.jpg"                                
## [87] "titanic_voyage_map.png"                                
## [88] "train.csv"

Read Training Data

Reference file in quotations

train = read_csv(file.path("train.csv"), col_names = TRUE)
## Parsed with column specification:
## 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()
## )
str(train)
## Classes 'spec_tbl_df', 'tbl_df', 'tbl' and 'data.frame': 891 obs. of  12 variables:
##  $ PassengerId: num  846 747 280 309 875 366 402 41 856 208 ...
##  $ Survived   : num  0 0 1 0 1 0 0 0 1 1 ...
##  $ Pclass     : num  3 3 3 2 2 3 3 3 3 3 ...
##  $ Name       : chr  "Abbing, Mr. Anthony" "Abbott, Mr. Rossmore Edward" "Abbott, Mrs. Stanton (Rosa Hunt)" "Abelson, Mr. Samuel" ...
##  $ Sex        : chr  "male" "male" "female" "male" ...
##  $ Age        : num  42 16 35 30 28 30 26 40 18 26 ...
##  $ SibSp      : num  0 1 1 1 1 0 0 1 0 0 ...
##  $ Parch      : num  0 1 1 0 0 0 0 0 1 0 ...
##  $ Ticket     : chr  "C.A. 5547" "C.A. 2673" "C.A. 2673" "P/PP 3381" ...
##  $ Fare       : num  7.55 20.25 20.25 24 24 ...
##  $ Cabin      : chr  NA NA NA NA ...
##  $ Embarked   : chr  "S" "S" "S" "C" ...
##  - 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()
##   .. )

Review Training Data

summary(train)
##   PassengerId       Survived          Pclass          Name          
##  Min.   :  1.0   Min.   :0.0000   Min.   :1.000   Length:891        
##  1st Qu.:223.5   1st Qu.:0.0000   1st Qu.:2.000   Class :character  
##  Median :446.0   Median :0.0000   Median :3.000   Mode  :character  
##  Mean   :446.0   Mean   :0.3838   Mean   :2.309                     
##  3rd Qu.:668.5   3rd Qu.:1.0000   3rd Qu.:3.000                     
##  Max.   :891.0   Max.   :1.0000   Max.   :3.000                     
##                                                                     
##      Sex                 Age            SibSp           Parch       
##  Length:891         Min.   : 0.42   Min.   :0.000   Min.   :0.0000  
##  Class :character   1st Qu.:20.12   1st Qu.:0.000   1st Qu.:0.0000  
##  Mode  :character   Median :28.00   Median :0.000   Median :0.0000  
##                     Mean   :29.70   Mean   :0.523   Mean   :0.3816  
##                     3rd Qu.:38.00   3rd Qu.:1.000   3rd Qu.:0.0000  
##                     Max.   :80.00   Max.   :8.000   Max.   :6.0000  
##                     NA's   :177                                     
##     Ticket               Fare           Cabin             Embarked        
##  Length:891         Min.   :  0.00   Length:891         Length:891        
##  Class :character   1st Qu.:  7.91   Class :character   Class :character  
##  Mode  :character   Median : 14.45   Mode  :character   Mode  :character  
##                     Mean   : 32.20                                        
##                     3rd Qu.: 31.00                                        
##                     Max.   :512.33                                        
## 

Read Test Set Data

Reference file in quotations

test = read_csv(file.path("test.csv"), col_names = TRUE)
## Parsed with column specification:
## cols(
##   PassengerId = 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()
## )
str(test)
## Classes 'spec_tbl_df', 'tbl_df', 'tbl' and 'data.frame': 418 obs. of  11 variables:
##  $ PassengerId: num  892 893 894 895 896 897 898 899 900 901 ...
##  $ Pclass     : num  3 3 2 3 3 3 3 2 3 3 ...
##  $ Name       : chr  "Kelly, Mr. James" "Wilkes, Mrs. James (Ellen Needs)" "Myles, Mr. Thomas Francis" "Wirz, Mr. Albert" ...
##  $ Sex        : chr  "male" "female" "male" "male" ...
##  $ Age        : num  34.5 47 62 27 22 14 30 26 18 21 ...
##  $ SibSp      : num  0 1 0 0 1 0 0 1 0 2 ...
##  $ Parch      : num  0 0 0 0 1 0 0 1 0 0 ...
##  $ Ticket     : chr  "330911" "363272" "240276" "315154" ...
##  $ Fare       : num  7.83 7 9.69 8.66 12.29 ...
##  $ Cabin      : chr  NA NA NA NA ...
##  $ Embarked   : chr  "Q" "S" "Q" "S" ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   PassengerId = 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()
##   .. )

Read Test Label Data

Reference file in quotations

test_label = read_csv("gender_submission.csv", col_names = TRUE)
## Parsed with column specification:
## cols(
##   PassengerId = col_double(),
##   Survived = col_double()
## )
str(test_label)
## Classes 'spec_tbl_df', 'tbl_df', 'tbl' and 'data.frame': 418 obs. of  2 variables:
##  $ PassengerId: num  892 893 894 895 896 897 898 899 900 901 ...
##  $ Survived   : num  0 1 0 0 1 0 1 0 1 0 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   PassengerId = col_double(),
##   ..   Survived = col_double()
##   .. )

Merging Test Set and Test Label Set Together

Merge Test and Label data frames together, but remember, these labels aren’t the actual test set labels – they’re gender classified labels i.e. if passenger was male, deceased, female, survived

test = merge(test, test_label, by = "PassengerId")
str(test)
## 'data.frame':    418 obs. of  12 variables:
##  $ PassengerId: num  892 893 894 895 896 897 898 899 900 901 ...
##  $ Pclass     : num  3 3 2 3 3 3 3 2 3 3 ...
##  $ Name       : chr  "Kelly, Mr. James" "Wilkes, Mrs. James (Ellen Needs)" "Myles, Mr. Thomas Francis" "Wirz, Mr. Albert" ...
##  $ Sex        : chr  "male" "female" "male" "male" ...
##  $ Age        : num  34.5 47 62 27 22 14 30 26 18 21 ...
##  $ SibSp      : num  0 1 0 0 1 0 0 1 0 2 ...
##  $ Parch      : num  0 0 0 0 1 0 0 1 0 0 ...
##  $ Ticket     : chr  "330911" "363272" "240276" "315154" ...
##  $ Fare       : num  7.83 7 9.69 8.66 12.29 ...
##  $ Cabin      : chr  NA NA NA NA ...
##  $ Embarked   : chr  "Q" "S" "Q" "S" ...
##  $ Survived   : num  0 1 0 0 1 0 1 0 1 0 ...

CLEAN DATA

Clean Data

Summary

Ensure Data is ready to be modelled

Missing Data

Identify missing data

missmap(train,main="Missing Vs Observed, Training Data", col=c("wheat", "darkred"), y.cex = 1, y.labels = NULL, y.at = NULL)
## Warning in if (class(obj) == "amelia") {: the condition has length > 1 and
## only the first element will be used
## Warning: Unknown or uninitialised column: 'arguments'.

## Warning: Unknown or uninitialised column: 'arguments'.

missmap(test, main="Missing Vs Observed, Test Data", col=c("wheat", "darkred"), y.cex = 1, y.labels = NULL, y.at = NULL)

sapply(test, function(x) sum(is.na(x)))
## PassengerId      Pclass        Name         Sex         Age       SibSp 
##           0           0           0           0          86           0 
##       Parch      Ticket        Fare       Cabin    Embarked    Survived 
##           0           0           1         327           0           0

Drop Cabin Feature

Cabin has 686 training and 327 testing NA values, so drop the feature

colnames(train)
##  [1] "PassengerId" "Survived"    "Pclass"      "Name"        "Sex"        
##  [6] "Age"         "SibSp"       "Parch"       "Ticket"      "Fare"       
## [11] "Cabin"       "Embarked"
train_imputed = train[c(-11)]

colnames(test)
##  [1] "PassengerId" "Pclass"      "Name"        "Sex"         "Age"        
##  [6] "SibSp"       "Parch"       "Ticket"      "Fare"        "Cabin"      
## [11] "Embarked"    "Survived"
test_imputed = test[c(-10)]

Join Training and Test Set together

#Create Imputation Training Set for all succeeding imputations for both train and test observations

dim(train_imputed)
## [1] 891  11
dim(test_imputed)
## [1] 418  11
impute_df = bind_rows(train_imputed, test_imputed)
dim(impute_df)
## [1] 1309   11
colnames(impute_df)
##  [1] "PassengerId" "Survived"    "Pclass"      "Name"        "Sex"        
##  [6] "Age"         "SibSp"       "Parch"       "Ticket"      "Fare"       
## [11] "Embarked"
impute_df=impute_df[,-2]
head(impute_df)
## # A tibble: 6 x 10
##   PassengerId Pclass Name     Sex     Age SibSp Parch Ticket  Fare Embarked
##         <dbl>  <dbl> <chr>    <chr> <dbl> <dbl> <dbl> <chr>  <dbl> <chr>   
## 1         846      3 Abbing,~ male     42     0     0 C.A. ~  7.55 S       
## 2         747      3 Abbott,~ male     16     1     1 C.A. ~ 20.2  S       
## 3         280      3 Abbott,~ fema~    35     1     1 C.A. ~ 20.2  S       
## 4         309      2 Abelson~ male     30     1     0 P/PP ~ 24    C       
## 5         875      2 Abelson~ fema~    28     1     0 P/PP ~ 24    C       
## 6         366      3 Adahl, ~ male     30     0     0 C 7076  7.25 S
## Impute Age NA's

impute_df_train=impute_df[complete.cases(impute_df),]

dim(impute_df_train)
## [1] 1043   10

Impute Age NA’s

Impute 177 train and 86 test Age values with average Age

# Identify Age values that need to be imputed

impute_df_test_Age = impute_df[is.na(impute_df$Age),]

# Train model to predict Age for imputation

impute_Age_ranger = ranger(Age ~Pclass+Sex+SibSp+Parch+Fare+Embarked, data = impute_df_train)

# Predict NA Age values with trained model on NA Age values

predict_impute_age=predict(impute_Age_ranger, impute_df_test_Age)

# Impute the NA Age values with Predicted Age values for the NA observations

impute_df$Age[is.na(impute_df$Age)] = predict_impute_age$predictions

# Confirm that all NA's have been imputed for the Age variable

anyNA(impute_df$Age)
## [1] FALSE

Impute Fare NA’s

Impute the 1 NA Fare value with average Fare

# Determine if there are any Fare NA observations
anyNA(impute_df$Fare)
## [1] TRUE
# Train Model to Predict Fare Values
impute_Fare_ranger = ranger(Fare ~ Pclass+Sex+SibSp+Parch+Age+Embarked, data = impute_df_train)

# Identify NA Fare values that need to be imputed
impute_df_test_Fare=impute_df[is.na(impute_df$Fare),]

# Predict NA Fare values with trained model
predict_impute_Fare=predict(impute_Fare_ranger, impute_df_test_Fare)

# Impute predicted NA Fare values
impute_df$Fare[is.na(impute_df$Fare)] = predict_impute_Fare$predictions

# Confirm that all NA Fare values have been imputed
anyNA(impute_df$Fare)
## [1] FALSE

Impute Embarked NA’s

Impute the 2 NA Embarked values with the mode of Embark locations

unique(impute_df$Embarked)
## [1] "S" "C" "Q" NA
# Determine if there are any NA Embarked Values
anyNA(impute_df$Embarked)
## [1] TRUE
# Train Model to predict Embarked Values
impute_Embarked_ranger = ranger(Embarked ~ Pclass+Sex+SibSp+Parch+Age+Fare, data = impute_df_train)

# Identify NA Embarked values to be predicted in a test set
impute_df_test_Embarked=impute_df[is.na(impute_df$Embarked),]

# Predict NA Embarked values with trained model
predict_impute_Embarked=predict(impute_Embarked_ranger, impute_df_test_Embarked)

Embarked_impute = as.character(predict_impute_Embarked$predictions)

# Impute predicted NA Embarked values
impute_df$Embarked[is.na(impute_df$Embarked)] = Embarked_impute
  

# Confirm that all NA Embarked values have been imputed
anyNA(impute_df$Embarked)
## [1] FALSE
unique(impute_df$Embarked)
## [1] "S" "C" "Q"

Create Cluster Feature

set.seed(1)

# Identify column names to differentiate numeric from categorical features

colnames(impute_df)
##  [1] "PassengerId" "Pclass"      "Name"        "Sex"         "Age"        
##  [6] "SibSp"       "Parch"       "Ticket"      "Fare"        "Embarked"
head(impute_df)
## # A tibble: 6 x 10
##   PassengerId Pclass Name     Sex     Age SibSp Parch Ticket  Fare Embarked
##         <dbl>  <dbl> <chr>    <chr> <dbl> <dbl> <dbl> <chr>  <dbl> <chr>   
## 1         846      3 Abbing,~ male     42     0     0 C.A. ~  7.55 S       
## 2         747      3 Abbott,~ male     16     1     1 C.A. ~ 20.2  S       
## 3         280      3 Abbott,~ fema~    35     1     1 C.A. ~ 20.2  S       
## 4         309      2 Abelson~ male     30     1     0 P/PP ~ 24    C       
## 5         875      2 Abelson~ fema~    28     1     0 P/PP ~ 24    C       
## 6         366      3 Adahl, ~ male     30     0     0 C 7076  7.25 S
# Filter numeric features

Feature_df = impute_df[, c("Pclass", "Age", "Fare", "SibSp", "Parch")]
head(Feature_df)
## # A tibble: 6 x 5
##   Pclass   Age  Fare SibSp Parch
##    <dbl> <dbl> <dbl> <dbl> <dbl>
## 1      3    42  7.55     0     0
## 2      3    16 20.2      1     1
## 3      3    35 20.2      1     1
## 4      2    30 24        1     0
## 5      2    28 24        1     0
## 6      3    30  7.25     0     0
# Normalize Features for clustering

Feature_df_normal=normalize(Feature_df, method = "standardize", range = c(0, 1), margin = 1L, on.constant = "quiet")

# Cluster with kmeans

cluster_Feature_df_normal = kmeans(Feature_df_normal, 6, iter.max = 10, nstart = 6, algorithm = c("Hartigan-Wong"), trace=FALSE)

# mutate new cluster feature 

impute_df = mutate(impute_df, Cluster = cluster_Feature_df_normal$cluster)

head(impute_df$Cluster)
## [1] 6 6 6 1 1 6

Create Age_Range Feature

c = cut(impute_df$Age, breaks = 9, labels = c("0-9", "9-18", "18-27", "27-36", "36-45", "45-54", "54-62", "62-71", "71-80"))
table(c)
## c
##   0-9  9-18 18-27 27-36 36-45 45-54 54-62 62-71 71-80 
##    82    88   383   387   189   103    55    19     3
impute_df = mutate(impute_df, Age_Range = c)

Create Survival Cluster Feature

impute_df$Survival_Cluster = NA
  
  
impute_df$Survival_Cluster = ifelse(impute_df$Pclass==1| impute_df$Pclass & impute_df$Sex == "female", "1", impute_df$Survival_Cluster)

impute_df$Survival_Cluster = ifelse(impute_df$Pclass == 1 & impute_df$Sex == "male", "1", impute_df$Survival_Cluster)

impute_df$Survival_Cluster = ifelse(impute_df$Pclass == 3 & impute_df$Sex == "female", "0", impute_df$Survival_Cluster)

impute_df$Survival_Cluster = ifelse(impute_df$Pclass == 2 | impute_df$Pclass == 3 & impute_df$Sex == "male", "0", impute_df$Survival_Cluster)

impute_df$Survival_Cluster = ifelse(impute_df$Age_Range == "0-9", "1", impute_df$Survival_Cluster)


head(impute_df$Survival_Cluster)
## [1] "0" "0" "0" "0" "0" "0"
# semi_join to filter out the training values from the imputed dataframe
train_imputed=semi_join(impute_df, train_imputed, by = "PassengerId")
# Arrange by Passenger Id
train_imputed=arrange(train_imputed, PassengerId)
# Arrange by Passenger Id
train=arrange(train, PassengerId)
# Bind the the survived column to the imputed train data
train_imputed=bind_cols(train_imputed, train[,"Survived"])
# Confirm that the initial and our imputed train observations are equal to one another
setequal(train[,c("PassengerId","Survived")], train_imputed[,c("PassengerId","Survived")])
## [1] TRUE
# semi_join to filter out the testing values from the imputed dataframe
test_imputed = semi_join(impute_df, test, by = "PassengerId")
# arrange the test_imputed observations by PassengerId
test_imputed=arrange(test_imputed, PassengerId)
# Arrange test_imputed observations by PassengerId
test=arrange(test, PassengerId)
# Set test_imputed to a tibble to reference the Survived column in the next step
test=as_tibble(test)
# Bind the Survived column 
test_imputed=bind_cols(test_imputed, test[,"Survived"])
# Confirm that the initial and our imputed test observations are identical
setequal(test[,c("PassengerId","Survived")], test_imputed[,c("PassengerId","Survived")])
## [1] TRUE

Confirm Imputations

Count NA’s have been imputed for train

sapply(train_imputed, function(x) sum(is.na(x)))
##      PassengerId           Pclass             Name              Sex 
##                0                0                0                0 
##              Age            SibSp            Parch           Ticket 
##                0                0                0                0 
##             Fare         Embarked          Cluster        Age_Range 
##                0                0                0                0 
## Survival_Cluster         Survived 
##                0                0

Confirm NA’s have been imputed for test

sapply(test_imputed, function(x) sum(is.na(x)))
##      PassengerId           Pclass             Name              Sex 
##                0                0                0                0 
##              Age            SibSp            Parch           Ticket 
##                0                0                0                0 
##             Fare         Embarked          Cluster        Age_Range 
##                0                0                0                0 
## Survival_Cluster         Survived 
##                0                0

Again, confirm all values have been imputed or properly handeld

missmap(train_imputed, main="Missing Vs Observed, Training Data", col=c("wheat", "darkred"), y.cex = 1, y.labels = NULL, y.at = NULL)
## Warning in if (class(obj) == "amelia") {: the condition has length > 1 and
## only the first element will be used
## Warning: Unknown or uninitialised column: 'arguments'.

## Warning: Unknown or uninitialised column: 'arguments'.

missmap(test_imputed, main="Missing Vs Observed, Test Data", col=c("wheat", "darkred"), y.cex = 1, y.labels = NULL, y.at = NULL)
## Warning in if (class(obj) == "amelia") {: the condition has length > 1 and
## only the first element will be used

## Warning in if (class(obj) == "amelia") {: Unknown or uninitialised column:
## 'arguments'.

## Warning in if (class(obj) == "amelia") {: Unknown or uninitialised column:
## 'arguments'.

Multi-collinearity

Identiy multi-collinearity between features

head(train)
## # A tibble: 6 x 12
##   PassengerId Survived Pclass Name  Sex     Age SibSp Parch Ticket  Fare
##         <dbl>    <dbl>  <dbl> <chr> <chr> <dbl> <dbl> <dbl> <chr>  <dbl>
## 1           1        0      3 Brau~ male     22     1     0 A/5 2~  7.25
## 2           2        1      1 Cumi~ fema~    38     1     0 PC 17~ 71.3 
## 3           3        1      3 Heik~ fema~    26     0     0 STON/~  7.92
## 4           4        1      1 Futr~ fema~    35     1     0 113803 53.1 
## 5           5        0      3 Alle~ male     35     0     0 373450  8.05
## 6           6        0      3 Mora~ male     NA     0     0 330877  8.46
## # ... with 2 more variables: Cabin <chr>, Embarked <chr>
numeric_columns = sapply(train_imputed, is.numeric)

pairs(na.omit(train_imputed[,numeric_columns]))

cor(na.omit(train_imputed[,numeric_columns]))
##              PassengerId      Pclass         Age       SibSp        Parch
## PassengerId  1.000000000 -0.03514399  0.04075616 -0.05752683 -0.001652012
## Pclass      -0.035143994  1.00000000 -0.40159756  0.08308136  0.018442671
## Age          0.040756155 -0.40159756  1.00000000 -0.30738115 -0.211119661
## SibSp       -0.057526834  0.08308136 -0.30738115  1.00000000  0.414837699
## Parch       -0.001652012  0.01844267 -0.21111966  0.41483770  1.000000000
## Fare         0.012658219 -0.54949962  0.10179465  0.15965104  0.216224945
## Cluster     -0.011348764  0.80373989 -0.28034005 -0.05487435  0.028521547
## Survived    -0.005006661 -0.33848104 -0.06535332 -0.03532250  0.081629407
##                    Fare     Cluster     Survived
## PassengerId  0.01265822 -0.01134876 -0.005006661
## Pclass      -0.54949962  0.80373989 -0.338481036
## Age          0.10179465 -0.28034005 -0.065353318
## SibSp        0.15965104 -0.05487435 -0.035322499
## Parch        0.21622494  0.02852155  0.081629407
## Fare         1.00000000 -0.29916440  0.257306522
## Cluster     -0.29916440  1.00000000 -0.245306699
## Survived     0.25730652 -0.24530670  1.000000000

Create N_Family Feature

Since there’s high mutli-collinearity between SibSp and Parch, we’ll combine them to create a new feature–N_Family

train_imputed$N_Family = train_imputed$SibSp+train_imputed$Parch+1
test_imputed$N_Family = test_imputed$SibSp+test_imputed$Parch+1

Drop Ticket, SibSp and Parch Features

Drop Ticket feature due to noise in data, drop SibSp and parch features as we combined them to eliminate high multicollinearity

#Train
colnames(train_imputed)
##  [1] "PassengerId"      "Pclass"           "Name"            
##  [4] "Sex"              "Age"              "SibSp"           
##  [7] "Parch"            "Ticket"           "Fare"            
## [10] "Embarked"         "Cluster"          "Age_Range"       
## [13] "Survival_Cluster" "Survived"         "N_Family"
head(train_imputed)
## # A tibble: 6 x 15
##   PassengerId Pclass Name  Sex     Age SibSp Parch Ticket  Fare Embarked
##         <dbl>  <dbl> <chr> <chr> <dbl> <dbl> <dbl> <chr>  <dbl> <chr>   
## 1           1      3 Brau~ male   22       1     0 A/5 2~  7.25 S       
## 2           2      1 Cumi~ fema~  38       1     0 PC 17~ 71.3  C       
## 3           3      3 Heik~ fema~  26       0     0 STON/~  7.92 S       
## 4           4      1 Futr~ fema~  35       1     0 113803 53.1  S       
## 5           5      3 Alle~ male   35       0     0 373450  8.05 S       
## 6           6      3 Mora~ male   29.2     0     0 330877  8.46 Q       
## # ... with 5 more variables: Cluster <int>, Age_Range <fct>,
## #   Survival_Cluster <chr>, Survived <dbl>, N_Family <dbl>
final_Columns=c("PassengerId", "Survived", "Pclass", "Sex", "Age", "Fare", "Embarked", "N_Family", "Cluster", "Age_Range", "Survival_Cluster")
train_Final = train_imputed[,final_Columns]

#Test
test_Final = test_imputed[,final_Columns]

Transform Age Feature

Log10 Age values to normalize distribution

#Train
g2 = ggplot(train_Final, aes(Age))+geom_histogram()
g2
g2 + scale_x_log10()
g2 + scale_x_sqrt()
ggplot(train_Final, aes(PassengerId, Age))+geom_point()

range(train_Final$Age)
train_Final$Age = sapply(train_Final$Age,log10)
train_Final$Age[train_Final$Age<0]=0
range(train_Final$Age)

train_Final = train_Final%>%
                      arrange(PassengerId)



#Test
range(test_Final$Age)
test_Final$Age = sapply(test_Final$Age, log10)
test_Final$Age[test_Final$Age<0]=0
range(test_Final$Age)

test_Final = test_Final%>%
                      arrange(PassengerId)

range(test_Final$Age)

mean(train_Final$Age)
map(train_Final$Age, sd)

Log10 Fare values to normalize distribution

Transform Fare Feature

#Train
g2 = ggplot(train_Final, aes(Fare))+geom_histogram()
g2
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

g2 + scale_x_log10()
## Warning: Transformation introduced infinite values in continuous x-axis
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 15 rows containing non-finite values (stat_bin).

g2 + scale_x_sqrt()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

ggplot(train_Final, aes(PassengerId, Fare))+geom_point()

range(train_Final$Fare)
## [1]   0.0000 512.3292
train_Final$Fare = sapply(train_Final$Fare,sqrt)
train_Final$Fare[train_Final$Fare<0]=0
range(train_Final$Fare)
## [1]  0.00000 22.63469
train_Final = train_Final%>%
                      arrange(PassengerId)



#Test
range(test_Final$Fare)
## [1]   0.0000 512.3292
test_Final$Fare = sapply(test_Final$Fare, sqrt)
test_Final$Fare[test_Final$Fare<0]=0
range(test_Final$Fare)
## [1]  0.00000 22.63469
test_Final = test_Final%>%
                      arrange(PassengerId)

range(test_Final$Fare)
## [1]  0.00000 22.63469

Ensure Atomic Data Types

Ensure all atomic data types are properly labeled

# Train
sapply(train_Final, class)
##      PassengerId         Survived           Pclass              Sex 
##        "numeric"        "numeric"        "numeric"      "character" 
##              Age             Fare         Embarked         N_Family 
##        "numeric"        "numeric"      "character"        "numeric" 
##          Cluster        Age_Range Survival_Cluster 
##        "integer"         "factor"      "character"
train_Final$Sex = as.factor(train_Final$Sex)

class(train_Final$Embarked)
## [1] "character"
anyNA(train_Final)
## [1] FALSE
train_Final$Embarked = factor(train_Final$Embarked)
levels(train_Final$Embarked)
## [1] "C" "Q" "S"
train_Final$Survived = as.factor(train_Final$Survived)
train_Final$Pclass = as.factor(train_Final$Pclass)
train_Final$Cluster = as.factor(train_Final$Cluster)
train_Final$Survival_Cluster = as.factor(train_Final$Survival_Cluster)
sapply(train_Final, class)
##      PassengerId         Survived           Pclass              Sex 
##        "numeric"         "factor"         "factor"         "factor" 
##              Age             Fare         Embarked         N_Family 
##        "numeric"        "numeric"         "factor"        "numeric" 
##          Cluster        Age_Range Survival_Cluster 
##         "factor"         "factor"         "factor"
# Test
sapply(test_Final, class)
##      PassengerId         Survived           Pclass              Sex 
##        "numeric"        "numeric"        "numeric"      "character" 
##              Age             Fare         Embarked         N_Family 
##        "numeric"        "numeric"      "character"        "numeric" 
##          Cluster        Age_Range Survival_Cluster 
##        "integer"         "factor"      "character"
test_Final$Sex = as.factor(test_Final$Sex)
test_Final$Embarked = factor(test_Final$Embarked, levels = c("C","Q","S"))

test_Final$Survived = ifelse(test_Final$Survived==1, "S", "D")
test_Final$Survived = factor(test_Final$Survived, levels = c("D","S"))
test_Final$Pclass = as.factor(test_Final$Pclass)
test_Final$Cluster = as.factor(test_Final$Cluster)
test_Final$Survival_Cluster = as.factor(test_Final$Survival_Cluster)
sapply(test_Final, class)
##      PassengerId         Survived           Pclass              Sex 
##        "numeric"         "factor"         "factor"         "factor" 
##              Age             Fare         Embarked         N_Family 
##        "numeric"        "numeric"         "factor"        "numeric" 
##          Cluster        Age_Range Survival_Cluster 
##         "factor"         "factor"         "factor"
sapply(train_Final, function(x) sum(is.na(x)))
##      PassengerId         Survived           Pclass              Sex 
##                0                0                0                0 
##              Age             Fare         Embarked         N_Family 
##                0                0                0                0 
##          Cluster        Age_Range Survival_Cluster 
##                0                0                0

Remove OUTLIERS

Remove outliers from each feature

Age

Iteratively establish best outlier threshold with the outlier_stat object and model performance

outlier_stat = 4


# Review Feature Dispersion
boxplot(train_Final[,"Age"], col = "blue", main = "Features Boxplot")

quantile(train_Final$Age)
##       0%      25%      50%      75%     100% 
##  0.42000 21.00000 28.01129 37.00000 80.00000
# Quantify Upper & Lower Thresholds
sd_Age = sd(train_Final$Age)
mean_Age = mean(train_Final$Age)
upper_Age = mean_Age + sd_Age *outlier_stat
lower_Age = mean_Age - sd_Age *outlier_stat

# Filter Outliers
outliers_Age = train_Final%>%
filter(Age > (mean_Age + outlier_stat*sd_Age) | Age < (mean_Age - outlier_stat*sd_Age))


nrow(outliers_Age) / nrow(train_Final)
## [1] 0
outliers_Age
## # A tibble: 0 x 11
## # ... with 11 variables: PassengerId <dbl>, Survived <fct>, Pclass <fct>,
## #   Sex <fct>, Age <dbl>, Fare <dbl>, Embarked <fct>, N_Family <dbl>,
## #   Cluster <fct>, Age_Range <fct>, Survival_Cluster <fct>

Fare

Iteratively establish best outlier threshold with the outlier_stat object and model performance

# Review Feature Dispersion

boxplot(train_Final[,"Fare"], col = "blue", main = "Features Boxplot")

# Quantify Upper & Lower Thresholds
sd_Fare = sd(train_Final$Fare)
mean_Fare = mean(train_Final$Fare)
upper_Fare = mean_Fare + sd_Fare *outlier_stat
lower_Fare = mean_Fare - sd_Fare *outlier_stat


# Filter Outliers
outliers_Fare = train_Final%>%
filter(Fare > (mean_Fare + outlier_stat*sd_Fare) | Fare < (mean_Fare - outlier_stat*sd_Fare))

nrow(outliers_Fare) / nrow(train_Final)
## [1] 0.003367003
outliers_Fare
## # A tibble: 3 x 11
##   PassengerId Survived Pclass Sex     Age  Fare Embarked N_Family Cluster
##         <dbl> <fct>    <fct>  <fct> <dbl> <dbl> <fct>       <dbl> <fct>  
## 1         259 1        1      fema~    35  22.6 C               1 3      
## 2         680 1        1      male     36  22.6 C               2 3      
## 3         738 1        1      male     35  22.6 C               1 3      
## # ... with 2 more variables: Age_Range <fct>, Survival_Cluster <fct>

N_Family

Iteratively establish best outlier threshold with the outlier_stat object and model performance

# Review Feature Dispersion

boxplot(train_Final[,"N_Family"], col = "blue", main = "Features Boxplot")

# Quantify Upper & Lower Thresholds
sd_Family = sd(train_Final$N_Family)
mean_Family = mean(train_Final$N_Family)
upper_Family = mean_Family + sd_Family *outlier_stat
lower_Family = mean_Family - sd_Family *outlier_stat


# Filter Outliers
outliers_Family = train_Final%>%
filter(N_Family > (mean_Family + outlier_stat*sd_Family) | N_Family < (mean_Family - outlier_stat*sd_Family))

nrow(outliers_Family) / nrow(train_Final)
## [1] 0.007856341
outliers_Family
## # A tibble: 7 x 11
##   PassengerId Survived Pclass Sex     Age  Fare Embarked N_Family Cluster
##         <dbl> <fct>    <fct>  <fct> <dbl> <dbl> <fct>       <dbl> <fct>  
## 1         160 0        3      male   14.5  8.34 S              11 4      
## 2         181 0        3      fema~  15.9  8.34 S              11 4      
## 3         202 0        3      male   14.5  8.34 S              11 4      
## 4         325 0        3      male   14.5  8.34 S              11 4      
## 5         793 0        3      fema~  15.9  8.34 S              11 4      
## 6         847 0        3      male   14.5  8.34 S              11 4      
## 7         864 0        3      fema~  15.9  8.34 S              11 4      
## # ... with 2 more variables: Age_Range <fct>, Survival_Cluster <fct>

Remove Outliers

# Combine All Outliers
outliers_Total = bind_rows(outliers_Age, outliers_Family, outliers_Fare)

# List Combined Outliers and Individual Outliers
outliers_List = list(outliers_Total = outliers_Total, outliers_Age = outliers_Age, outliers_Family = outliers_Family, outliers_Fare = outliers_Fare)

# Quantify Outlier Percentage
(outlier_Percentage = map(outliers_List, function(x){   paste(round((nrow(x)/nrow(train_Final)*100), digits = 2), "%",sep= "")}))
## $outliers_Total
## [1] "1.12%"
## 
## $outliers_Age
## [1] "0%"
## 
## $outliers_Family
## [1] "0.79%"
## 
## $outliers_Fare
## [1] "0.34%"
# Row Count Before Removing and After Removing Outliers 
nrow(train_Final)
## [1] 891
train_Final = train_Final[-outliers_Total$PassengerId,]
nrow(train_Final)
## [1] 881
# Boxplot of Features

# Age
boxplot(train_Final[,"Age"], col = "blue", main = "Features Boxplot")

# Fare
boxplot(train_Final[,"Fare"], col = "blue", main = "Features Boxplot")

# N_Family
boxplot(train_Final[,"N_Family"], col = "blue", main = "Features Boxplot")

sapply(train_Final, function(x) sum(is.na(x)))
##      PassengerId         Survived           Pclass              Sex 
##                0                0                0                0 
##              Age             Fare         Embarked         N_Family 
##                0                0                0                0 
##          Cluster        Age_Range Survival_Cluster 
##                0                0                0
sapply(test_Final, function(x) sum(is.na(x)))
##      PassengerId         Survived           Pclass              Sex 
##                0                0                0                0 
##              Age             Fare         Embarked         N_Family 
##                0                0                0                0 
##          Cluster        Age_Range Survival_Cluster 
##                0                0                0

STATISTICAL ASSUMPTIONS

Statistical Assumptions

Summary

Logistic Regression Assumptions:
1. The outcome is binary
2. Linear relationship between logit of response and each predictor variable. 3. No influential values (extreme or outliers) in the continuous predictors
4. No high intercorrelation (multicollinearity) among the predictors

1st Assumption: Binary Response

Question: Is our response variable binary?
Answer: Yes

class(train_Final$Survived)
## [1] "factor"
levels(train_Final$Survived)
## [1] "0" "1"

2nd Assumption: Linear Logit-Feature Relationship

Question: Are relationships linear between logit and features? Answer: Fairly linear, see below.

\[logit(p) = log(p/(1-p))\]

Build Logistic Regression Model

Model regression

logitmodel = glm(Survived~Age+N_Family+Sex+Pclass+Fare, data = train_Final, family = binomial(link = 'logit'))
summary(logitmodel)
## 
## Call:
## glm(formula = Survived ~ Age + N_Family + Sex + Pclass + Fare, 
##     family = binomial(link = "logit"), data = train_Final)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.7102  -0.5988  -0.4207   0.6147   2.4379  
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  3.992211   0.610536   6.539 6.20e-11 ***
## Age         -0.042550   0.008157  -5.216 1.82e-07 ***
## N_Family    -0.259327   0.080105  -3.237  0.00121 ** 
## Sexmale     -2.724904   0.198960 -13.696  < 2e-16 ***
## Pclass2     -1.028346   0.329698  -3.119  0.00181 ** 
## Pclass3     -2.191533   0.361969  -6.054 1.41e-09 ***
## Fare         0.063123   0.055504   1.137  0.25542    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1174.13  on 880  degrees of freedom
## Residual deviance:  781.13  on 874  degrees of freedom
## AIC: 795.13
## 
## Number of Fisher Scoring iterations: 5

Consider confidence intervals on each predictor

confint(logitmodel)
## Waiting for profiling to be done...
##                   2.5 %      97.5 %
## (Intercept)  2.80893216  5.20605369
## Age         -0.05887813 -0.02685891
## N_Family    -0.42045739 -0.10566406
## Sexmale     -3.12392607 -2.34306860
## Pclass2     -1.67808420 -0.38331949
## Pclass3     -2.90650617 -1.48455044
## Fare        -0.04391067  0.17453379

Predict Probabilities

Predict Test set response values with trained glm model

probabilities = predict(logitmodel, newdata = test_Final, type = "response")
head(probabilities, n =10)
##          1          2          3          4          5          6 
## 0.07763633 0.36567478 0.07856576 0.10464773 0.57636410 0.16973159 
##          7          8          9         10 
## 0.60806930 0.21325896 0.72014305 0.09232651

Select continuous variables to compare with logit values

mydata = test_Final%>%
  select_if(is.numeric)
head(mydata)
## # A tibble: 6 x 4
##   PassengerId   Age  Fare N_Family
##         <dbl> <dbl> <dbl>    <dbl>
## 1         892  34.5  2.80        1
## 2         893  47    2.65        2
## 3         894  62    3.11        1
## 4         895  27    2.94        1
## 5         896  22    3.51        3
## 6         897  14    3.04        1

Store continuous features names for reference

predictors = colnames(mydata)
print(predictors)
## [1] "PassengerId" "Age"         "Fare"        "N_Family"

Tidy Data with Logit Values

Tidy data by gathering data, so each variable forms a column, each observation a row, and each type of observational unit a table

mydata_logit = mydata%>%
mutate(logit = log(probabilities/(1-probabilities)))%>%
  gather(Features, Values, -c(PassengerId, logit))

head(mydata_logit)
## # A tibble: 6 x 4
##   PassengerId  logit Features Values
##         <dbl>  <dbl> <chr>     <dbl>
## 1         892 -2.47  Age        34.5
## 2         893 -0.551 Age        47  
## 3         894 -2.46  Age        62  
## 4         895 -2.15  Age        27  
## 5         896  0.308 Age        22  
## 6         897 -1.59  Age        14
unique(mydata_logit$Features)
## [1] "Age"      "Fare"     "N_Family"

Visualize Feature, Logit Relationship

As the Feature values increase from 0 onwards, different trends emerge, some being less linear than others, but all-in-all, none necessarily disproving the assumption of linearity between the Feature and logit values. The probability of survival increases with the Fare one paid to board the ship, and likewise, with the young and old in Age, and smaller families too.

ggplot(mydata_logit, aes(Values, logit))+geom_point(size = 0.5, alpha = 0.5)+geom_smooth(method = "loess")+theme_bw()+scale_y_continuous(name = "logit")+scale_x_continuous()+(facet_wrap(~Features, scales = "free"))

3rd Assumption: No influential observations

Question: Is our data free of outliers or high-leverage observations? Answer:

Cooks Distance

PassengerId’s 58, 513, and 665 pose as potential influential observations

plot(logitmodel, which = 4, id.n = 3)

Any significant cooks distance, high-leverage observations

We don’t have any statistically significant cooks distance observations in our data, including PassengerId 58, 513, and 665 as seen in the above chart, while confirmed in the filter below.

# logitmodel cooks distance
cooks_d=cooks.distance(logitmodel)

# logitmodel cooks distance statistic
cooks_d_threshold=sqrt(((length(names(coef(logitmodel)))+1))/(length(train_Final$PassengerId)-length(names(coef(logitmodel)))-1))

# identify significant cooks distance observations
sum(cooks_d > cooks_d_threshold)
## [1] 0

Cook’s Distance, Std. Residuals and Hat Leverage Values

In the plot below, we see standardized residuals on the y-axis, leverage values on the x-axis, and cooks distance visualized by the size of circles for each observation. Remember, residuals measure the distance between our fitted and actual y-values and H-Hats measure the distance between our predictors x’s values, the further apart, the more leverage. The combination of our y and x residuals feed into the size of the cooks distance, and thus, the circle’s size–the bigger, the more extreme. PassengerId 665 is the most alerting observation, but nonetheless, not statistically significant.

influencePlot(logitmodel, main = "Influence Plot", sub="Circle size is proportional to Cook's Distance", scale = 6,id=list(col=carPalette()))

##       StudRes         Hat       CookD
## 28  -1.170238 0.056109401 0.008360028
## 258  2.307965 0.011520577 0.020799362
## 294 -2.738435 0.003993490 0.022057242
## 334  2.447866 0.002610839 0.006946205
## 553 -1.374897 0.055924930 0.013123538

Logitmodel Fitted Statistics

With the augment() function, we display the logitmodel’s fitted statistics. We add an index to our output with the mutate() function to reference while we’re tidying our data.

options(scipen=0)

model_data = augment(logitmodel)%>%
  mutate(PassengerId = 1:nrow(train_Final))%>%
  arrange(desc(.std.resid))

model_data%>%
  arrange(desc(.cooksd) & desc(.std.resid))%>%
  filter(Sex == "female")
## # A tibble: 310 x 14
##    Survived   Age N_Family Sex   Pclass  Fare .fitted .se.fit .resid
##    <fct>    <dbl>    <dbl> <fct> <fct>  <dbl>   <dbl>   <dbl>  <dbl>
##  1 1           38        7 fema~ 3       5.60 -1.28     0.415   1.75
##  2 1           63        1 fema~ 3       3.10 -0.944    0.346   1.60
##  3 1           17        7 fema~ 3       2.82 -0.560    0.421   1.42
##  4 1           33        4 fema~ 3       3.98 -0.389    0.226   1.35
##  5 1           54        5 fema~ 2       4.80 -0.328    0.395   1.32
##  6 1           35        3 fema~ 3       4.5  -0.182    0.196   1.26
##  7 1           31        3 fema~ 3       4.53 -0.0104   0.180   1.18
##  8 1           36        2 fema~ 3       4.17  0.0135   0.190   1.17
##  9 1           24        4 fema~ 3       4.39  0.0192   0.197   1.17
## 10 1           29        3 fema~ 3       3.90  0.0352   0.174   1.16
## # ... with 300 more rows, and 5 more variables: .hat <dbl>, .sigma <dbl>,
## #   .cooksd <dbl>, .std.resid <dbl>, PassengerId <int>
head(model_data, n = 50)
## # A tibble: 50 x 14
##    Survived   Age N_Family Sex   Pclass  Fare .fitted .se.fit .resid
##    <fct>    <dbl>    <dbl> <fct> <fct>  <dbl>   <dbl>   <dbl>  <dbl>
##  1 1         45          1 male  3       2.84   -2.92   0.232   2.44
##  2 1         44          1 male  3       2.82   -2.88   0.226   2.42
##  3 1         39          1 male  3       2.82   -2.67   0.201   2.34
##  4 1          3          7 male  3       5.60   -2.51   0.408   2.28
##  5 1         62          1 male  2       3.24   -2.45   0.324   2.25
##  6 1         25.0        3 male  3       4.82   -2.46   0.196   2.26
##  7 1         32.3        1 male  3       2.78   -2.38   0.175   2.22
##  8 1         32          1 male  3       2.80   -2.37   0.175   2.22
##  9 1         32          1 male  3       2.82   -2.37   0.175   2.22
## 10 1         32          1 male  3       2.84   -2.37   0.175   2.22
## # ... with 40 more rows, and 5 more variables: .hat <dbl>, .sigma <dbl>,
## #   .cooksd <dbl>, .std.resid <dbl>, PassengerId <int>

Homoscedasticity and Outliers via Residual Plot

Question: Are the residuals homoscedastic? Answer: Yes, our residuals are homoscedastic as they are random and uncorrelated.

ggplot(model_data, aes(PassengerId, .std.resid))+
  geom_point(aes(color = Survived), alpha = .5) + 
  theme_bw() + scale_y_continuous(limits = c(-4,4))

Question: Are any observations standardized residuals greater than 3 standard deviations from the fitted prediction? Answer: No, as seen below, no observations have a standard deviation greater than 3 deviations. However, there are some observations that are beyond 2 standard deviations which may have some significance.

model_data%>%
  filter(abs(.std.resid)>3)
## # A tibble: 0 x 14
## # ... with 14 variables: Survived <fct>, Age <dbl>, N_Family <dbl>,
## #   Sex <fct>, Pclass <fct>, Fare <dbl>, .fitted <dbl>, .se.fit <dbl>,
## #   .resid <dbl>, .hat <dbl>, .sigma <dbl>, .cooksd <dbl>,
## #   .std.resid <dbl>, PassengerId <int>

4th Assumption: No high multi-collinearity between predictor variables

Question: Is multicollinearity present between our predictor variables? Answer: No, based on our VIF and correlation matrix, multi-collinearity is not present amongst our selected predictor variables.

VIF

Question: Any VIF’s greater than 5 or 10? Answer: No, the predictors in our model don’t suffer from multicollinearity.

vif(logitmodel)
##              GVIF Df GVIF^(1/(2*Df))
## Age      1.504370  1        1.226528
## N_Family 1.546865  1        1.243730
## Sex      1.178098  1        1.085402
## Pclass   2.841143  2        1.298295
## Fare     2.492724  1        1.578836
vif(logitmodel)>5
##           GVIF    Df GVIF^(1/(2*Df))
## Age      FALSE FALSE           FALSE
## N_Family FALSE FALSE           FALSE
## Sex      FALSE FALSE           FALSE
## Pclass   FALSE FALSE           FALSE
## Fare     FALSE FALSE           FALSE

Correlation Matrix

The highest correlation value we observe is between Fare and N_Family, but at .39, it’s aways away from perfect correlation at 1, so these two aren’t highly correlated

pairs(mydata)

cor(mydata, use="complete.obs", method="kendall")
##              PassengerId         Age       Fare     N_Family
## PassengerId  1.000000000 -0.01929310 0.01194415  0.006609461
## Age         -0.019293100  1.00000000 0.17281814 -0.066981179
## Fare         0.011944154  0.17281814 1.00000000  0.390756534
## N_Family     0.006609461 -0.06698118 0.39075653  1.000000000

EXPLORATORY ANALYSIS

Exploratory Analysis

Summary

Visualization

colnames(train_Final)
##  [1] "PassengerId"      "Survived"         "Pclass"          
##  [4] "Sex"              "Age"              "Fare"            
##  [7] "Embarked"         "N_Family"         "Cluster"         
## [10] "Age_Range"        "Survival_Cluster"
train_Final_numeric = train_Final[, c("Pclass", "Age", "Fare", "N_Family", "Cluster")]
head(train_Final)
## # A tibble: 6 x 11
##   PassengerId Survived Pclass Sex     Age  Fare Embarked N_Family Cluster
##         <dbl> <fct>    <fct>  <fct> <dbl> <dbl> <fct>       <dbl> <fct>  
## 1           1 0        3      male   22    2.69 S               2 6      
## 2           2 1        1      fema~  38    8.44 C               2 2      
## 3           3 1        3      fema~  26    2.82 S               1 6      
## 4           4 1        1      fema~  35    7.29 S               2 2      
## 5           5 0        3      male   35    2.84 S               1 6      
## 6           6 0        3      male   29.2  2.91 Q               1 6      
## # ... with 2 more variables: Age_Range <fct>, Survival_Cluster <fct>
#k_titanic = kmeans(train_Final_numeric, 10, iter.max = 10, nstart = 1, algorithm = c("Hartigan-Wong"), trace=FALSE)
#k_titanic_cluster = k_titanic$cluster
#train_Final_cluster = mutate(train_Final, k_titanic_cluster)



train_Final%>%
    ggplot(aes(x = Age, y = Fare, color = Survived))+geom_jitter() + facet_grid(rows = vars(Sex, Embarked), cols=vars(Pclass, Cluster))

train_Final%>%
    ggplot(aes(x = Age, y = Fare, color = Survived, shape = factor(Cluster)))+geom_jitter() + facet_grid(rows = vars(Sex, Embarked), cols=vars(Survival_Cluster, Age_Range))+labs(title="Training Data Class & Cluster Classification")

test_Final%>%
    ggplot(aes(x = Age_Range, y = Fare, shape = factor(Cluster)))+geom_jitter() + facet_grid(rows = vars(Sex, Embarked), cols=vars(Survival_Cluster, Age_Range))+labs(title="Kaggle Test SetSurvival Cluster & Age Range Classification")

# Multiway table

train_Final %>%
  group_by(Sex, Pclass, Embarked, Cluster) %>%
  mutate(Total = n()) %>%
  count(Sex, Pclass, Embarked, Cluster, Survived, Total)%>%
  ungroup()%>%
  spread(Survived,n, fill = 0)%>%
  select(-matches("Total"),Total)
## # A tibble: 47 x 7
##    Sex    Pclass Embarked Cluster   `0`   `1` Total
##    <fct>  <fct>  <fct>    <fct>   <dbl> <dbl> <int>
##  1 female 1      C        1           0    12    12
##  2 female 1      C        2           1    22    23
##  3 female 1      C        3           0     8     8
##  4 female 1      C        5           0     1     1
##  5 female 1      Q        2           0     1     1
##  6 female 1      S        1           0    12    12
##  7 female 1      S        2           0    19    19
##  8 female 1      S        3           2    11    13
##  9 female 1      S        5           0     4     4
## 10 female 2      C        1           0     5     5
## # ... with 37 more rows

TRAIN

Train

Summary

Establish the models training Cross-Validation technique, hyperparameter tuning configuration, feature formula, and machine learning algorithms

RANDOMIZE

Uncorrelate any potential correlation between sequential observations i.e. PassengerId’s by shuffling them

set.seed(1)


# Get the number of observations
n_obs_Filtered = nrow(train_Final)

# Shuffle row indices: permuted_rows
permuted_rows = sample(n_obs_Filtered)

# Randomly order data: train_imputed
train_Final = train_Final[permuted_rows,]

# Partition Data into Training and Test sets

partition_index = createDataPartition(train_Final$PassengerId, p = .8, list = FALSE)

train_Final_Train = train_Final[partition_index,]

train_Final_Test = train_Final[-partition_index,]

# Change atomic data type for Survived in train & test

train_Final_Train$Survived = ifelse(train_Final_Train$Survived==1, "S", "D")
train_Final_Train$Survived = factor(train_Final_Train$Survived)
levels(train_Final_Train$Survived)
## [1] "D" "S"
train_Final_Test$Survived = ifelse(train_Final_Test$Survived==1, "S", "D")
train_Final_Test$Survived = factor(train_Final_Test$Survived)
levels(train_Final_Test$Survived)
## [1] "D" "S"

FOLDS

Create folds for cross-validation sampling to identify optimal tuning for models hyperparameters

set.seed(1)

# Examine datasets distribution

table(train_Final_Train$Survived) / nrow(train_Final_Train)
## 
##         D         S 
## 0.6198582 0.3801418
# Compare Class Distribution

myFolds_Filtered = createFolds(train_Final_Train$Survived, k = 8)

# Compare class distribution, to ensure each individual fold represents the overal population adequately, ensuring proportion equality amongst the response classes, as such:

i = myFolds_Filtered$Fold1
table(train_Final_Train$Survived[i]) / length(i)
## 
##     D     S 
## 0.625 0.375

PARAMETERS

Create objects to store model parameters for efficient coding and practicality

colnames(train_Final)
##  [1] "PassengerId"      "Survived"         "Pclass"          
##  [4] "Sex"              "Age"              "Fare"            
##  [7] "Embarked"         "N_Family"         "Cluster"         
## [10] "Age_Range"        "Survival_Cluster"
levels(train_Final$Age_Range)
## [1] "0-9"   "9-18"  "18-27" "27-36" "36-45" "45-54" "54-62" "62-71" "71-80"
formula_titanic = as.formula(Survived~Survival_Cluster+Sex+Pclass+Age+Age_Range+Cluster+Embarked+N_Family+Fare)
preProcess_titanic = c("center", "scale", "pca")
tuneLength_titanic = 5
metric_titanic = "Accuracy"
maximize_titanic = TRUE
method_titanic = list(glmboost = "glmboost", rf = "ranger", xgboost = "xgbTree", nnet = "nnet")

CONTROL

Create different types of training control configurations to optimize your model sample tuning ability

# Grid trainControl


myControl_Grid = trainControl(
  
                                  method = "repeatedcv",
                                  number = 5,
                                  repeats = 3,
                                  search = "grid",
                                  summaryFunction = defaultSummary, #IMPORTANT THRESHOLD!
                                  classProbs = TRUE,
                                  verboseIter = TRUE,
                                  savePredictions = TRUE,
                                  allowParallel = TRUE,
                                  index = myFolds_Filtered
                            )


# RANDOM trainControl Hyperparameter Selection

myControl_Random = trainControl(
                                   method = "repeatedcv",
                                   number = 5,
                                   repeats = 3,
                                   search = "random",
                                   #tuneLength = 100,
                                   summaryFunction = defaultSummary,
                                   classProbs = TRUE,
                                   returnData = TRUE,
                                   verboseIter = TRUE,
                                   savePredictions = TRUE,
                                   allowParallel = TRUE,
                                   index = myFolds_Filtered
                             )

# Cross-Validation Hyperparameter Selection

myControl_CV = trainControl(
                                   method = "cv",
                                   number = 5,
                                   summaryFunction = defaultSummary,
                                   classProbs = TRUE,
                                   returnData = TRUE,
                                   verboseIter = TRUE,
                                   savePredictions = "final",
                                   #tuneLength = 100,
                                   allowParallel = TRUE,
                                   index = myFolds_Filtered
                              ) 


# myControl has previously been created
# getModelInfo() to see Hyper-Paramater

MODEL

Develop a list of models with selected parameters and a preferable train control sampling technique

set.seed(1)

tic()

caret_Model_List = caretList(
                             formula_titanic,
                             data = train_Final_Train,
                             trControl = myControl_CV,
                             metric = "Accuracy",
                             tuneList = list(
                               
caretModelSpec(method = method_titanic$glmboost, tuneLength = tuneLength_titanic, preProcess=c("center","scale")),
caretModelSpec(method = method_titanic$rf, tuneLength = tuneLength_titanic, preProcess=c("center","scale")),
caretModelSpec(method = method_titanic$xgboost, tuneLength = tuneLength_titanic, preProcess=c("center","scale")),
caretModelSpec(method = method_titanic$nnet, tuneLength = tuneLength_titanic, preProcess=c("center","scale"))

),

                             continue_on_fail = FALSE
                             
                             
                             )
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80

## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut
## = 10, : These variables have zero variances: Age_Range62-71, Age_Range71-80
toc()

Ensemble

Ensemble your list of models to be optimally weighted for peak predictive performance

set.seed(1)

ensemble_Model = caretEnsemble(caret_Model_List,
                               metric = "Accuracy"

                               )

summary(ensemble_Model)

Stack

Stack the list of models to glean signal from residuals for peak predictive performance

set.seed(1)

stack_Model = caretStack(caret_Model_List,
                         method = "glmnet",
                         metric = "Accuracy"
                         
                         )


summary(stack_Model)

CV RESULTS

CV Results

Summary

Evaluate the models’ performance on the cross-validated folds

CV Visualizations (part 1)

Visualize the models predicted performance on the cross-validated folds.

# Resample Models
resamples = resamples(caret_Model_List)

# Extract data from resamples object
resamples_list=map(resamples$values, ~.x)
bind_resamples = bind_rows(resamples_list)
gather_resamples = gather(bind_resamples, Model, Accuracy, -Resample)

# Filter for Kappa
Kappa_resamples = gather_resamples%>%
  filter(str_detect(Model,"Kappa"))

# Filter for Accuracy
Accuracy_resamples = gather_resamples%>%
  filter(str_detect(Model,"Accuracy"))

# Change Accuracy column name to Kappa
colnames(Kappa_resamples) = c("Resample", "Model", "Kappa")

# Seperate the Model column into Model and Stat
Accuracy_resamples = separate(Accuracy_resamples, Model, c("Model", "Stat"), by = "~")
Kappa_resamples = separate(Kappa_resamples, Model, c("Model", "Stat"), by = "~")

# Drop Stat Column
Accuracy_resamples = Accuracy_resamples[,-3]
Kappa_resamples = Kappa_resamples[,-3]

# Join Accuracy and Kappa Data Frames
join_resamples = left_join(Accuracy_resamples, Kappa_resamples, by = c("Resample", "Model"))

# Plot Accuracy
ggplot(join_resamples, aes(x = Accuracy, y = reorder(Model, Accuracy, max), fill = Model))+
geom_density_ridges2(alpha = .6, scale = 6, jittered_points=TRUE, point_size = 4, point_shape="|", position = position_points_jitter(height=0), scale = .95)+theme_bw()+ggtitle("Model Training CV Accuracy Distribution") + theme_ridges(center = TRUE)
## Warning: Duplicated aesthetics after name standardisation: scale
## Picking joint bandwidth of 0.00892

# Plot Kappa
ggplot(join_resamples,aes(x = Kappa, y = reorder(Model, Kappa, max), fill = Model))+
geom_density_ridges2(alpha = .6, scale = 6, jittered_points=TRUE, point_size = 4, point_shape="|", position = position_points_jitter(height=0), scale = .95)+theme_bw()+ggtitle("Model Training CV Kappa Distribution") + theme_ridges(center = TRUE)
## Warning: Duplicated aesthetics after name standardisation: scale
## Picking joint bandwidth of 0.0181

CV Visualizations (part 2)

Compare models’ performance on cross-validated folds

bwplot(resamples, metric = "Accuracy", main = "Bw plot: Training CV")

dotplot(resamples, metric = "Accuracy", main = "Dot plot: Training CV")

densityplot(resamples, metric = "Kappa", auto.key = TRUE, main = "Density plot: Training CV")

densityplot(resamples, metric = "Accuracy", auto.key = TRUE, main = "Density plot: Training CV")

modelCor(resamples)
##           glmboost    ranger   xgbTree      nnet
## glmboost 1.0000000 0.4659439 0.8773413 0.3567947
## ranger   0.4659439 1.0000000 0.5617690 0.7065752
## xgbTree  0.8773413 0.5617690 1.0000000 0.2399471
## nnet     0.3567947 0.7065752 0.2399471 1.0000000
summary(resamples)
## 
## Call:
## summary.resamples(object = resamples)
## 
## Models: glmboost, ranger, xgbTree, nnet 
## Number of resamples: 8 
## 
## Accuracy 
##               Min.   1st Qu.    Median      Mean   3rd Qu.      Max. NA's
## glmboost 0.7646104 0.7806209 0.7866983 0.7868243 0.7948223 0.8055105    0
## ranger   0.7402597 0.7623697 0.7858906 0.7799312 0.7927983 0.8152350    0
## xgbTree  0.7386364 0.7778677 0.7803897 0.7797273 0.7863252 0.8038898    0
## nnet     0.7110390 0.7368396 0.7514175 0.7521713 0.7642966 0.7974068    0
## 
## Kappa 
##               Min.   1st Qu.    Median      Mean   3rd Qu.      Max. NA's
## glmboost 0.4991364 0.5169610 0.5378056 0.5379388 0.5541468 0.5828309    0
## ranger   0.4228968 0.4561210 0.5180724 0.5045972 0.5388055 0.5815058    0
## xgbTree  0.4438687 0.5185415 0.5203191 0.5217961 0.5341207 0.5667965    0
## nnet     0.3763480 0.4491735 0.4704192 0.4685601 0.4858760 0.5635529    0
resamples
## 
## Call:
## resamples.default(x = caret_Model_List)
## 
## Models: glmboost, ranger, xgbTree, nnet 
## Number of resamples: 8 
## Performance metrics: Accuracy, Kappa 
## Time estimates for: everything, final model fit

CV Visualizations (part 3)

join_resamples%>%
  ggplot(aes(x = reorder(Model, Accuracy, max), y = Accuracy, color = Model, size = Kappa)) + geom_jitter(width = .1, alpha = .5) + theme_bw() + ggtitle("Model Training CV Accuracy by Model")

join_resamples%>%
  ggplot(aes(x = Resample, y = Accuracy, color = Model, size = Kappa)) + geom_jitter(width = .1, alpha = .5) + theme_bw() + ggtitle("Model Training CV Accuracy by Fold")

CV Variable Importance

Determine which variables each model evaluates to be the most important when predicting the response

ggplot(varImp(caret_Model_List$glmboost))+theme_bw()+ggtitle(labs(title = "GLMboost CV Variable Importance"))
## 
## NOTE: Coefficients from a Binomial model are half the size of coefficients
##  from a model fitted via glm(... , family = 'binomial').
## See Warning section in ?coef.mboost

#ggplot(varImp(caret_Model_List$ranger))+theme_bw()+ggtitle(labs(title = "Ranger CV Variable Importance"))
ggplot(varImp(caret_Model_List$xgbTree))+theme_bw()+ggtitle(labs(title = "XgbTree CV Variable Importance"))

ggplot(varImp(caret_Model_List$nnet))+theme_bw()+ggtitle(labs(title = "NNET CV Variable Importance"))

#plot(varImp(caret_Model_List$naive_bayes))+theme_bw()+ggtitle(labs(title = "Naive Bayes CV Variable Importance"))

OUT-OF-SAMPLE (OOS) RESULTS

OOS Results

Summary

Predict out-of-sample outcomes with the fully trained and hypertuned models

OOS Test

Combine the ensemble and stack models with the list of models to predict our out-of-sample outcomes

options(scipen=3)

# List of Trained Models
trained_model_List = list(
                  ensemble = ensemble_Model,
                  stack = stack_Model,
                  glmboost = caret_Model_List$glmboost,
                  ranger = caret_Model_List$ranger,
                  xgbTree = caret_Model_List$xgbTree,
                  nnet = caret_Model_List$nnet
                  )

# Predicted vs Actual Confusion Matrix 
predict_Models_list_oos = lapply(trained_model_List, predict, newdata = train_Final_Test, type = "raw")
predict_Models_df_oos = map_df(predict_Models_list_oos, ~.x)
confusionMatrix_Models_oos = map(.x = predict_Models_df_oos, .f = confusionMatrix, train_Final_Test$Survived)
print(confusionMatrix_Models_oos)
## $ensemble
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  D  S
##          D 92 16
##          S 13 55
##                                          
##                Accuracy : 0.8352         
##                  95% CI : (0.772, 0.8868)
##     No Information Rate : 0.5966         
##     P-Value [Acc > NIR] : 7.07e-12       
##                                          
##                   Kappa : 0.6553         
##                                          
##  Mcnemar's Test P-Value : 0.7103         
##                                          
##             Sensitivity : 0.8762         
##             Specificity : 0.7746         
##          Pos Pred Value : 0.8519         
##          Neg Pred Value : 0.8088         
##              Prevalence : 0.5966         
##          Detection Rate : 0.5227         
##    Detection Prevalence : 0.6136         
##       Balanced Accuracy : 0.8254         
##                                          
##        'Positive' Class : D              
##                                          
## 
## $stack
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  D  S
##          D 93 18
##          S 12 53
##                                           
##                Accuracy : 0.8295          
##                  95% CI : (0.7657, 0.8819)
##     No Information Rate : 0.5966          
##     P-Value [Acc > NIR] : 2.382e-11       
##                                           
##                   Kappa : 0.641           
##                                           
##  Mcnemar's Test P-Value : 0.3613          
##                                           
##             Sensitivity : 0.8857          
##             Specificity : 0.7465          
##          Pos Pred Value : 0.8378          
##          Neg Pred Value : 0.8154          
##              Prevalence : 0.5966          
##          Detection Rate : 0.5284          
##    Detection Prevalence : 0.6307          
##       Balanced Accuracy : 0.8161          
##                                           
##        'Positive' Class : D               
##                                           
## 
## $glmboost
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  D  S
##          D 93 17
##          S 12 54
##                                          
##                Accuracy : 0.8352         
##                  95% CI : (0.772, 0.8868)
##     No Information Rate : 0.5966         
##     P-Value [Acc > NIR] : 7.07e-12       
##                                          
##                   Kappa : 0.6537         
##                                          
##  Mcnemar's Test P-Value : 0.4576         
##                                          
##             Sensitivity : 0.8857         
##             Specificity : 0.7606         
##          Pos Pred Value : 0.8455         
##          Neg Pred Value : 0.8182         
##              Prevalence : 0.5966         
##          Detection Rate : 0.5284         
##    Detection Prevalence : 0.6250         
##       Balanced Accuracy : 0.8231         
##                                          
##        'Positive' Class : D              
##                                          
## 
## $ranger
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  D  S
##          D 94 22
##          S 11 49
##                                           
##                Accuracy : 0.8125          
##                  95% CI : (0.7469, 0.8673)
##     No Information Rate : 0.5966          
##     P-Value [Acc > NIR] : 7.227e-10       
##                                           
##                   Kappa : 0.6004          
##                                           
##  Mcnemar's Test P-Value : 0.08172         
##                                           
##             Sensitivity : 0.8952          
##             Specificity : 0.6901          
##          Pos Pred Value : 0.8103          
##          Neg Pred Value : 0.8167          
##              Prevalence : 0.5966          
##          Detection Rate : 0.5341          
##    Detection Prevalence : 0.6591          
##       Balanced Accuracy : 0.7927          
##                                           
##        'Positive' Class : D               
##                                           
## 
## $xgbTree
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  D  S
##          D 90 17
##          S 15 54
##                                           
##                Accuracy : 0.8182          
##                  95% CI : (0.7531, 0.8722)
##     No Information Rate : 0.5966          
##     P-Value [Acc > NIR] : 2.406e-10       
##                                           
##                   Kappa : 0.6205          
##                                           
##  Mcnemar's Test P-Value : 0.8597          
##                                           
##             Sensitivity : 0.8571          
##             Specificity : 0.7606          
##          Pos Pred Value : 0.8411          
##          Neg Pred Value : 0.7826          
##              Prevalence : 0.5966          
##          Detection Rate : 0.5114          
##    Detection Prevalence : 0.6080          
##       Balanced Accuracy : 0.8089          
##                                           
##        'Positive' Class : D               
##                                           
## 
## $nnet
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  D  S
##          D 92 20
##          S 13 51
##                                           
##                Accuracy : 0.8125          
##                  95% CI : (0.7469, 0.8673)
##     No Information Rate : 0.5966          
##     P-Value [Acc > NIR] : 7.227e-10       
##                                           
##                   Kappa : 0.6041          
##                                           
##  Mcnemar's Test P-Value : 0.2963          
##                                           
##             Sensitivity : 0.8762          
##             Specificity : 0.7183          
##          Pos Pred Value : 0.8214          
##          Neg Pred Value : 0.7969          
##              Prevalence : 0.5966          
##          Detection Rate : 0.5227          
##    Detection Prevalence : 0.6364          
##       Balanced Accuracy : 0.7973          
##                                           
##        'Positive' Class : D               
## 
# Model Prediction Accuracy Comparison 
predict_Models_table_oos = map(predict_Models_df_oos, table, train_Final_Test$Survived)
predict_Models_true_oos = map(map(predict_Models_table_oos, diag), sum)
predict_Models_sum_oos = map(predict_Models_table_oos, sum)
predict_Models_accuracy_oos = mapply('/', predict_Models_true_oos, predict_Models_sum_oos)
predict_Models_accuracy_oos = round(predict_Models_accuracy_oos, digits = 3)
predict_Models_accuracy_oos
## ensemble    stack glmboost   ranger  xgbTree     nnet 
##    0.835    0.830    0.835    0.812    0.818    0.812

Graphing OOS Probabilities

Visualize the seperation of predicted probabilities by each model

# Kaggle Probabilities

probabilities_oos = predict(trained_model_List, newdata = train_Final_Test, type = "prob")

# Ensemble Model

train_Final_Test %>%
  ggplot(aes(x = Age, y = probabilities_oos$ensemble, shape = as.factor(Survived), size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial"), se = TRUE, alpha = .3) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "Ensemble Model OOS Predictions")+ theme_bw()

# Stack Model

train_Final_Test %>%
  ggplot(aes(x = Age, y = probabilities_oos$stack, shape = as.factor(Survived), size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial"), se = TRUE, alpha = .3) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "Stack Model OOS Predictions")+ theme_bw()

# Glmboost Model

train_Final_Test %>%
  ggplot(aes(x = Age, y = probabilities_oos$glmboost$S, shape = as.factor(Survived), size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial"), se = TRUE, alpha = .3) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "Glmboost Model OOS Predictions")+ theme_bw()

# Ranger Model

train_Final_Test %>%
  ggplot(aes(x = Age, y = probabilities_oos$ranger$S, shape = as.factor(Survived), size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial"), se = TRUE, alpha = .3) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "Ranger Model OOS Predictions")+ theme_bw()

# xgbTree Model

train_Final_Test %>%
  ggplot(aes(x = Age, y = probabilities_oos$xgbTree$S, shape = as.factor(Survived), size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial"), se = TRUE, alpha = .3) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "xgbTree Model OOS Predictions")+ theme_bw()

# nnet Model  

train_Final_Test %>%
  ggplot(aes(x = Age, y = probabilities_oos$nnet$S, shape = as.factor(Survived), size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial"), se = TRUE, alpha = .3) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "Neural Net (nnet) Model OOS Predictions")+ theme_bw()

# Model

KAGGLE RESULTS

Kaggle Results

Summary

Predict Kaggle Titanic Test outcomes with the fully trained and hypertuned models

Graphing Kaggle Probabilities

Visualize the seperation of predicted probabilities by each model

# Kaggle Probabilities

probabilities_Kaggle = predict(trained_model_List, newdata = test_Final, type = "prob")

# Ensemble Model

test_Final %>%
  ggplot(aes(x = Age, y = probabilities_Kaggle$ensemble, size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial")) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "Ensemble Model Kaggle Predictions")+ theme_bw()

# Stack Model

test_Final %>%
  ggplot(aes(x = Age, y = probabilities_Kaggle$stack, size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial")) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "Stack Model Kaggle Predictions")+ theme_bw()

# Glmboost Model

test_Final %>%
  ggplot(aes(x = Age, y = probabilities_Kaggle$glmboost$S, size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial")) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "Glmboost Model Kaggle Predictions")+ theme_bw()

# Ranger Model

test_Final %>%
  ggplot(aes(x = Age, y = probabilities_Kaggle$ranger$S, size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial")) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "Ranger Model Kaggle Predictions")+ theme_bw()

# xgbTree Model

test_Final %>%
  ggplot(aes(x = Age, y = probabilities_Kaggle$xgbTree$S, size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial")) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "xgbTree Model Kaggle Predictions")+ theme_bw()

# nnet Model  

test_Final %>%
  ggplot(aes(x = Age, y = probabilities_Kaggle$nnet$S, size = N_Family, color  = Sex)) + geom_point() + geom_smooth(method = "glm", method.args =list(family = "binomial")) + geom_hline(yintercept = .5, size = 2)  + facet_grid(rows = vars(Sex), cols = vars(Pclass)) + labs(title = "Neural Net (nnet) Model Kaggle Predictions")+ theme_bw()

Model Classification & Vote

survival_probability_threshold = .4

Predicted_kaggle_vote_ensemble=ifelse(probabilities_Kaggle$ensemble > survival_probability_threshold, 1,0)
Predicted_kaggle_vote_stack=ifelse(probabilities_Kaggle$stack > survival_probability_threshold, 1,0)
Predicted_kaggle_vote_glmboost=ifelse(probabilities_Kaggle$glmboost$S > survival_probability_threshold, 1,0)
Predicted_kaggle_vote_ranger=ifelse(probabilities_Kaggle$ranger$S > survival_probability_threshold, 1,0)
Predicted_kaggle_vote_xgbTree=ifelse(probabilities_Kaggle$xgbTree$S > survival_probability_threshold, 1,0)
Predicted_kaggle_vote_nnet=ifelse(probabilities_Kaggle$nnet$S > survival_probability_threshold, 1,0)

vote_df = data.frame(
PassengerId=test_Final$PassengerId,
v_ensemble = Predicted_kaggle_vote_ensemble,
v_stack = Predicted_kaggle_vote_stack,
v_glmboost = Predicted_kaggle_vote_glmboost,
v_ranger = Predicted_kaggle_vote_ranger,
v_xgbTree = Predicted_kaggle_vote_xgbTree,
v_nnet = Predicted_kaggle_vote_nnet
)

group_vote_submission=vote_df%>%
  gather(key = "Model", value = "Prediction", -PassengerId)%>%
  group_by(PassengerId)%>%
  mutate(vote_percentage = mean(Prediction))%>%
  mutate(vote_majority = ifelse(vote_percentage==1, "1","0"))%>%
  select(PassengerId, vote_majority)


colnames(group_vote_submission)=c("PassengerId", "Survived")

range(group_vote_submission$PassengerId)
## [1]  892 1309
group_vote_submission_subset=group_vote_submission[1:418,]

head(vote_df)
##   PassengerId v_ensemble v_stack v_glmboost v_ranger v_xgbTree v_nnet
## 1         892          0       0          0        0         0      0
## 2         893          0       0          1        0         0      0
## 3         894          0       0          0        0         0      0
## 4         895          0       0          0        0         0      0
## 5         896          1       1          1        0         1      1
## 6         897          0       0          0        0         0      0

REFLECTING

Reflecting

Summary

Review models predictive performances within CV, OOS, and Kaggle Test, against niave benchmarks

John Jacob Astor

train[train$PassengerId == "701",]
## # A tibble: 1 x 12
##   PassengerId Survived Pclass Name  Sex     Age SibSp Parch Ticket  Fare
##         <dbl>    <dbl>  <dbl> <chr> <chr> <dbl> <dbl> <dbl> <chr>  <dbl>
## 1         701        1      1 Asto~ fema~    18     1     0 PC 17~  228.
## # ... with 2 more variables: Cabin <chr>, Embarked <chr>
train_Final_Train[train_Final_Train$PassengerId=="701",]
## # A tibble: 1 x 11
##   PassengerId Survived Pclass Sex     Age  Fare Embarked N_Family Cluster
##         <dbl> <fct>    <fct>  <fct> <dbl> <dbl> <fct>       <dbl> <fct>  
## 1         701 S        1      fema~    18  15.1 C               2 3      
## # ... with 2 more variables: Age_Range <fct>, Survival_Cluster <fct>
JohnJacobAstor = data.frame(Survival_Cluster = as.factor(1), Sex = as.factor("male"), Pclass = as.factor(1), Age_Range = as.factor("45-54"), Embarked = as.factor("C"), Cluster = as.factor(3), N_Family = 2, Fare = 227.525, Age = 46)

sapply(train_Final_Train, class)
##      PassengerId         Survived           Pclass              Sex 
##        "numeric"         "factor"         "factor"         "factor" 
##              Age             Fare         Embarked         N_Family 
##        "numeric"        "numeric"         "factor"        "numeric" 
##          Cluster        Age_Range Survival_Cluster 
##         "factor"         "factor"         "factor"
predict(trained_model_List, JohnJacobAstor, type = "raw")
## $ensemble
## [1] D
## Levels: D S
## 
## $stack
## [1] S
## Levels: D S
## 
## $glmboost
## [1] D
## Levels: D S
## 
## $ranger
## [1] S
## Levels: D S
## 
## $xgbTree
## [1] D
## Levels: D S
## 
## $nnet
## [1] S
## Levels: D S

Phases of Models

# Naive Predictive Strategies
FP_strategy = sum(test_Final$Survived=="S")/length(test_Final$Survived)
FN_strategy = sum(test_Final$Survived=="D")/length(test_Final$Survived)


# 
df_Models_Accuracy = data.frame(
                        ensemble = mean(ensemble_Model$error$Accuracy),
                        stack = mean(stack_Model$error$Accuracy),
                        glmboost = mean(caret_Model_List$glmboost$results$Accuracy),
                        ranger = mean(caret_Model_List$ranger$results$Accuracy),
                        xgbTree = mean(caret_Model_List$xgbTree$results$Accuracy),
                        nnet = mean(caret_Model_List$nnet$results$Accuracy)
                        
                        
)


# Evolution of model performance

Accuracy_Model_list = list(
glmboost = data.frame(caret_Model_List$glmboost$results$Accuracy),
rf = data.frame(caret_Model_List$ranger$results$Accuracy),
xgboost = data.frame(caret_Model_List$xgbTree$results$Accuracy),
nnet = data.frame(caret_Model_List$nnet$results$Accuracy)
)

# Performance Metrics

predict_Models_Comparison = rbind(
      
      Everybody_Lives = c(FP_strategy, FP_strategy, FP_strategy, FP_strategy, FP_strategy),
      
      diff_2 = FN_strategy - FP_strategy,
      
      Everybody_Dies = c(FN_strategy, FN_strategy, FN_strategy, FN_strategy, FN_strategy),
      
      diff_3 = df_Models_Accuracy - FN_strategy,
      
      OOS_CV_Training_Accuracy = df_Models_Accuracy,
      
      diff_4 = predict_Models_accuracy_oos - df_Models_Accuracy,
      
      OOS_Test_Accuracy = predict_Models_accuracy_oos
     
)

predict_Models_Comparison
##                            ensemble     stack   glmboost     ranger
## Everybody_Lives          0.36363636 0.3636364 0.36363636 0.36363636
## diff_2                   0.27272727 0.2727273 0.27272727 0.27272727
## Everybody_Dies           0.63636364 0.6363636 0.63636364 0.63636364
## diff_3                   0.15449301 0.1546342 0.14819669 0.12905833
## OOS_CV_Training_Accuracy 0.79085665 0.7909978 0.78456033 0.76542197
## diff_4                   0.04414335 0.0390022 0.05043967 0.04657803
## OOS_Test_Accuracy        0.83500000 0.8300000 0.83500000 0.81200000
##                             xgbTree       nnet
## Everybody_Lives          0.36363636 0.36363636
## diff_2                   0.27272727 0.27272727
## Everybody_Dies           0.63636364 0.63636364
## diff_3                   0.12404754 0.08930469
## OOS_CV_Training_Accuracy 0.76041118 0.72566833
## diff_4                   0.05758882 0.08633167
## OOS_Test_Accuracy        0.81800000 0.81200000

SAVING PREDICTION

Saving Prediction

Summary

Select best model and save predictions for Kaggle’s Titanic Test set

Model Selection

# ranger

vote_df$v_ranger
##   [1] 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1
##  [36] 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 1 1 0 1 1
##  [71] 1 0 0 1 1 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1
## [106] 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0
## [141] 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0
## [176] 1 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0
## [211] 0 0 0 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 1 1 0 0
## [246] 1 1 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0
## [281] 0 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1
## [316] 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1
## [351] 1 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0
## [386] 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0

Combine Predictions with PassengerId

# Select Model Vote

Predicted_Survived_Submission = data.frame(PassengerId = vote_df$PassengerId, Survived = vote_df$v_xgbTree)

# Format Model Vote with PassengerId

#test_Submission = data.frame(PassengerId=test_Final$PassengerId, Survived = Predicted_Survived_Submission)

Write Results to File

write.csv(Predicted_Survived_Submission, file = 'Kaggle_Titanic_Submission_28.csv', row.names = FALSE)