17  XGBoost

XGBoost의 장점


XGBoost의 단점


실습 자료 : 1912년 4월 15일 타이타닉호 침몰 당시 탑승객들의 정보를 기록한 데이터셋이며, 총 11개의 변수를 포함하고 있다. 이 자료에서 TargetSurvived이다.



17.1 데이터 불러오기

pacman::p_load("data.table", 
               "tidyverse", 
               "dplyr", "tidyr",
               "ggplot2", "GGally",
               "caret",
               "Matrix",                                                # For sparse.model.matrix
               "xgboost")                                               # For xgb.train

titanic <- fread("../Titanic.csv")                                      # 데이터 불러오기

titanic %>%
  as_tibble
# A tibble: 891 × 11
   Survived Pclass Name                                                Sex      Age SibSp Parch Ticket            Fare Cabin  Embarked
      <int>  <int> <chr>                                               <chr>  <dbl> <int> <int> <chr>            <dbl> <chr>  <chr>   
 1        0      3 Braund, Mr. Owen Harris                             male      22     1     0 A/5 21171         7.25 ""     S       
 2        1      1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female    38     1     0 PC 17599         71.3  "C85"  C       
 3        1      3 Heikkinen, Miss. Laina                              female    26     0     0 STON/O2. 3101282  7.92 ""     S       
 4        1      1 Futrelle, Mrs. Jacques Heath (Lily May Peel)        female    35     1     0 113803           53.1  "C123" S       
 5        0      3 Allen, Mr. William Henry                            male      35     0     0 373450            8.05 ""     S       
 6        0      3 Moran, Mr. James                                    male      NA     0     0 330877            8.46 ""     Q       
 7        0      1 McCarthy, Mr. Timothy J                             male      54     0     0 17463            51.9  "E46"  S       
 8        0      3 Palsson, Master. Gosta Leonard                      male       2     3     1 349909           21.1  ""     S       
 9        1      3 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)   female    27     0     2 347742           11.1  ""     S       
10        1      2 Nasser, Mrs. Nicholas (Adele Achem)                 female    14     1     0 237736           30.1  ""     C       
# ℹ 881 more rows

17.2 데이터 전처리 I

# 1. Convert to Factor
fac.col <- c("Pclass", "Sex",
             # Target
             "Survived")

titanic <- titanic %>% 
  data.frame() %>%                                                      # Data Frame 형태로 변환 
  mutate_at(fac.col, as.factor)                                         # 범주형으로 변환

glimpse(titanic)                                                        # 데이터 구조 확인
Rows: 891
Columns: 11
$ Survived <fct> 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0…
$ Pclass   <fct> 3, 1, 3, 1, 3, 3, 1, 3, 3, 2, 3, 1, 3, 3, 3, 2, 3, 2, 3, 3, 2, 2, 3, 1, 3, 3, 3, 1, 3, 3, 1, 1, 3, 2, 1, 1, 3, 3, 3, 3, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 1, 1, 2, 3, 2, 3, 3…
$ Name     <chr> "Braund, Mr. Owen Harris", "Cumings, Mrs. John Bradley (Florence Briggs Thayer)", "Heikkinen, Miss. Laina", "Futrelle, Mrs. Jacques Heath (Lily May Peel)", "Allen, Mr. William Henry…
$ Sex      <fct> male, female, female, female, male, male, male, male, female, female, female, female, male, male, female, female, male, male, female, female, male, male, female, male, female, femal…
$ Age      <dbl> 22.0, 38.0, 26.0, 35.0, 35.0, NA, 54.0, 2.0, 27.0, 14.0, 4.0, 58.0, 20.0, 39.0, 14.0, 55.0, 2.0, NA, 31.0, NA, 35.0, 34.0, 15.0, 28.0, 8.0, 38.0, NA, 19.0, NA, NA, 40.0, NA, NA, 66.…
$ SibSp    <int> 1, 1, 0, 1, 0, 0, 0, 3, 0, 1, 1, 0, 0, 1, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 3, 1, 0, 3, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 2, 1, 1, 1, 0, 1, 0, 0, 1, 0, 2, 1, 4, 0, 1, 1, 0, 0, 0, 0, 1, 5, 0…
$ Parch    <int> 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 2, 0…
$ Ticket   <chr> "A/5 21171", "PC 17599", "STON/O2. 3101282", "113803", "373450", "330877", "17463", "349909", "347742", "237736", "PP 9549", "113783", "A/5. 2151", "347082", "350406", "248706", "38…
$ Fare     <dbl> 7.2500, 71.2833, 7.9250, 53.1000, 8.0500, 8.4583, 51.8625, 21.0750, 11.1333, 30.0708, 16.7000, 26.5500, 8.0500, 31.2750, 7.8542, 16.0000, 29.1250, 13.0000, 18.0000, 7.2250, 26.0000,…
$ Cabin    <chr> "", "C85", "", "C123", "", "", "E46", "", "", "", "G6", "C103", "", "", "", "", "", "", "", "", "", "D56", "", "A6", "", "", "", "C23 C25 C27", "", "", "", "B78", "", "", "", "", ""…
$ Embarked <chr> "S", "C", "S", "S", "S", "Q", "S", "S", "S", "C", "S", "S", "S", "S", "S", "S", "Q", "S", "S", "C", "S", "S", "Q", "S", "S", "S", "C", "S", "Q", "S", "C", "C", "Q", "S", "C", "S", "…
# 2. Generate New Variable
titanic <- titanic %>%
  mutate(FamSize = SibSp + Parch)                                       # "FamSize = 형제 및 배우자 수 + 부모님 및 자녀 수"로 가족 수를 의미하는 새로운 변수

glimpse(titanic)                                                        # 데이터 구조 확인
Rows: 891
Columns: 12
$ Survived <fct> 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0…
$ Pclass   <fct> 3, 1, 3, 1, 3, 3, 1, 3, 3, 2, 3, 1, 3, 3, 3, 2, 3, 2, 3, 3, 2, 2, 3, 1, 3, 3, 3, 1, 3, 3, 1, 1, 3, 2, 1, 1, 3, 3, 3, 3, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 1, 1, 2, 3, 2, 3, 3…
$ Name     <chr> "Braund, Mr. Owen Harris", "Cumings, Mrs. John Bradley (Florence Briggs Thayer)", "Heikkinen, Miss. Laina", "Futrelle, Mrs. Jacques Heath (Lily May Peel)", "Allen, Mr. William Henry…
$ Sex      <fct> male, female, female, female, male, male, male, male, female, female, female, female, male, male, female, female, male, male, female, female, male, male, female, male, female, femal…
$ Age      <dbl> 22.0, 38.0, 26.0, 35.0, 35.0, NA, 54.0, 2.0, 27.0, 14.0, 4.0, 58.0, 20.0, 39.0, 14.0, 55.0, 2.0, NA, 31.0, NA, 35.0, 34.0, 15.0, 28.0, 8.0, 38.0, NA, 19.0, NA, NA, 40.0, NA, NA, 66.…
$ SibSp    <int> 1, 1, 0, 1, 0, 0, 0, 3, 0, 1, 1, 0, 0, 1, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 3, 1, 0, 3, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 2, 1, 1, 1, 0, 1, 0, 0, 1, 0, 2, 1, 4, 0, 1, 1, 0, 0, 0, 0, 1, 5, 0…
$ Parch    <int> 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 2, 0…
$ Ticket   <chr> "A/5 21171", "PC 17599", "STON/O2. 3101282", "113803", "373450", "330877", "17463", "349909", "347742", "237736", "PP 9549", "113783", "A/5. 2151", "347082", "350406", "248706", "38…
$ Fare     <dbl> 7.2500, 71.2833, 7.9250, 53.1000, 8.0500, 8.4583, 51.8625, 21.0750, 11.1333, 30.0708, 16.7000, 26.5500, 8.0500, 31.2750, 7.8542, 16.0000, 29.1250, 13.0000, 18.0000, 7.2250, 26.0000,…
$ Cabin    <chr> "", "C85", "", "C123", "", "", "E46", "", "", "", "G6", "C103", "", "", "", "", "", "", "", "", "", "D56", "", "A6", "", "", "", "C23 C25 C27", "", "", "", "B78", "", "", "", "", ""…
$ Embarked <chr> "S", "C", "S", "S", "S", "Q", "S", "S", "S", "C", "S", "S", "S", "S", "S", "S", "Q", "S", "S", "C", "S", "S", "Q", "S", "S", "S", "C", "S", "Q", "S", "C", "C", "Q", "S", "C", "S", "…
$ FamSize  <int> 1, 1, 0, 1, 0, 0, 0, 4, 2, 1, 2, 0, 0, 6, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0, 4, 6, 0, 5, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 2, 1, 1, 1, 0, 3, 0, 0, 1, 0, 2, 1, 5, 0, 1, 1, 1, 0, 0, 0, 3, 7, 0…
# 3. Select Variables used for Analysis
titanic1 <- titanic %>% 
  dplyr::select(Survived, Pclass, Sex, Age, Fare, FamSize)              # 분석에 사용할 변수 선택

glimpse(titanic1)                                                       # 데이터 구조 확인
Rows: 891
Columns: 6
$ Survived <fct> 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0…
$ Pclass   <fct> 3, 1, 3, 1, 3, 3, 1, 3, 3, 2, 3, 1, 3, 3, 3, 2, 3, 2, 3, 3, 2, 2, 3, 1, 3, 3, 3, 1, 3, 3, 1, 1, 3, 2, 1, 1, 3, 3, 3, 3, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 1, 1, 2, 3, 2, 3, 3…
$ Sex      <fct> male, female, female, female, male, male, male, male, female, female, female, female, male, male, female, female, male, male, female, female, male, male, female, male, female, femal…
$ Age      <dbl> 22.0, 38.0, 26.0, 35.0, 35.0, NA, 54.0, 2.0, 27.0, 14.0, 4.0, 58.0, 20.0, 39.0, 14.0, 55.0, 2.0, NA, 31.0, NA, 35.0, 34.0, 15.0, 28.0, 8.0, 38.0, NA, 19.0, NA, NA, 40.0, NA, NA, 66.…
$ Fare     <dbl> 7.2500, 71.2833, 7.9250, 53.1000, 8.0500, 8.4583, 51.8625, 21.0750, 11.1333, 30.0708, 16.7000, 26.5500, 8.0500, 31.2750, 7.8542, 16.0000, 29.1250, 13.0000, 18.0000, 7.2250, 26.0000,…
$ FamSize  <int> 1, 1, 0, 1, 0, 0, 0, 4, 2, 1, 2, 0, 0, 6, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0, 4, 6, 0, 5, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 2, 1, 1, 1, 0, 3, 0, 0, 1, 0, 2, 1, 5, 0, 1, 1, 1, 0, 0, 0, 3, 7, 0…

17.3 데이터 탐색

ggpairs(titanic1,                                        
        aes(colour = Survived)) +                         # Target의 범주에 따라 색깔을 다르게 표현
  theme_bw()

ggpairs(titanic1,                                     
        aes(colour = Survived, alpha = 0.8)) +            # Target의 범주에 따라 색깔을 다르게 표현
  scale_colour_manual(values = c("#00798c", "#d1495b")) + # 특정 색깔 지정
  scale_fill_manual(values = c("#00798c", "#d1495b")) +   # 특정 색깔 지정
  theme_bw()

17.4 데이터 분할

# Partition (Training Dataset : Test Dataset = 7:3)
y      <- titanic1$Survived                           # Target

set.seed(200)
ind    <- createDataPartition(y, p = 0.7, list  =T)   # Index를 이용하여 7:3으로 분할
titanic.trd <- titanic1[ind$Resample1,]               # Training Dataset
titanic.ted <- titanic1[-ind$Resample1,]              # Test Dataset

17.5 데이터 전처리 II

# Imputation
titanic.trd.Imp <- titanic.trd %>% 
  mutate(Age = replace_na(Age, mean(Age, na.rm = TRUE)))                 # 평균으로 결측값 대체

titanic.ted.Imp <- titanic.ted %>% 
  mutate(Age = replace_na(Age, mean(titanic.trd$Age, na.rm = TRUE)))     # Training Dataset을 이용하여 결측값 대체

glimpse(titanic.trd.Imp)                                                 # 데이터 구조 확인
Rows: 625
Columns: 6
$ Survived <fct> 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1…
$ Pclass   <fct> 3, 3, 1, 3, 3, 3, 3, 2, 3, 1, 3, 3, 2, 3, 3, 2, 1, 3, 3, 1, 3, 3, 1, 1, 3, 2, 1, 1, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 3, 3, 1, 3, 1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 1, 2, 3…
$ Sex      <fct> male, female, female, male, male, male, female, female, female, female, male, female, male, female, female, male, male, female, male, male, female, male, male, female, female, male,…
$ Age      <dbl> 22.00000, 26.00000, 35.00000, 35.00000, 29.93737, 2.00000, 27.00000, 14.00000, 4.00000, 58.00000, 39.00000, 14.00000, 29.93737, 31.00000, 29.93737, 35.00000, 28.00000, 8.00000, 29.9…
$ Fare     <dbl> 7.2500, 7.9250, 53.1000, 8.0500, 8.4583, 21.0750, 11.1333, 30.0708, 16.7000, 26.5500, 31.2750, 7.8542, 13.0000, 18.0000, 7.2250, 26.0000, 35.5000, 21.0750, 7.2250, 263.0000, 7.8792,…
$ FamSize  <int> 1, 0, 1, 0, 0, 4, 2, 1, 2, 0, 6, 0, 0, 1, 0, 0, 0, 4, 0, 5, 0, 0, 0, 1, 0, 0, 1, 1, 0, 2, 1, 1, 1, 0, 0, 1, 0, 2, 1, 5, 1, 1, 0, 7, 0, 0, 5, 0, 2, 7, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3…
glimpse(titanic.ted.Imp)                                                 # 데이터 구조 확인
Rows: 266
Columns: 6
$ Survived <fct> 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0…
$ Pclass   <fct> 1, 1, 3, 2, 3, 2, 3, 3, 3, 2, 3, 3, 2, 2, 3, 2, 1, 3, 2, 3, 3, 2, 2, 3, 3, 3, 3, 1, 2, 2, 3, 3, 3, 3, 3, 2, 3, 2, 2, 2, 3, 3, 2, 1, 3, 1, 3, 2, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 1, 3…
$ Sex      <fct> female, male, male, female, male, male, female, female, male, female, male, male, female, female, male, female, male, male, female, male, female, male, male, male, male, male, male,…
$ Age      <dbl> 38.00000, 54.00000, 20.00000, 55.00000, 2.00000, 34.00000, 15.00000, 38.00000, 29.93737, 3.00000, 29.93737, 21.00000, 29.00000, 21.00000, 28.50000, 5.00000, 45.00000, 29.93737, 29.0…
$ Fare     <dbl> 71.2833, 51.8625, 8.0500, 16.0000, 29.1250, 13.0000, 8.0292, 31.3875, 7.2292, 41.5792, 8.0500, 7.8000, 26.0000, 10.5000, 7.2292, 27.7500, 83.4750, 15.2458, 10.5000, 8.1583, 7.9250, …
$ FamSize  <int> 1, 0, 0, 0, 5, 0, 0, 6, 0, 3, 0, 0, 1, 0, 0, 3, 1, 2, 0, 0, 6, 0, 0, 0, 0, 4, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 6, 2, 1, 0, 0, 1, 0, 2, 0, 0, 0, 0, 1, 0, 0, 1, 5, 2, 5, 0, 5, 0, 4, 0, 6…

17.6 모형 훈련

Boosting은 다수의 약한 학습자(간단하면서 성능이 낮은 예측 모형)을 순차적으로 학습하는 앙상블 기법이다. Boosting의 특징은 이전 모형의 오차를 반영하여 다음 모형을 생성하며, 오차를 개선하는 방향으로 학습을 수행한다.


XGBoost는 Extreme Gradient Boosting의 약어로 Gradient Boosting의 단점을 해결하기 위해 제안되었다. R에서 XGBoost을 수행하기 위해 package "xgboost"에서 제공하는 함수 xgb.train()를 이용할 수 있으며, 함수의 자세한 옵션은 여기를 참고한다.

Caution! 함수 xgb.train()을 사용하려면 예측 변수와 Target 모두 수치형이여야 하며, “xgb.DMatrix”로 변환해야 한다. 이를 위해 다음과 같은 절차를 수행한다.

  1. 범주형 예측 변수를 더미 변수로 변환하기 위해 함수 sparse.model.matrix()를 이용한다.
  2. Target을 수치형으로 변환한다.
  3. 함수 xgb.DMatrix()를 이용하여 “xgb.DMatrix”로 변환한다.
# 1. Convert Factor Var. into Dummy Var. 
trainm       <- sparse.model.matrix(Survived ~.-1, # Survived Target으로 제외 
                                    data = titanic.trd.Imp)  

trainm
625 x 7 sparse Matrix of class "dgCMatrix"
    Pclass1 Pclass2 Pclass3 Sexmale      Age     Fare FamSize
1         .       .       1       1 22.00000   7.2500       1
3         .       .       1       . 26.00000   7.9250       .
4         1       .       .       . 35.00000  53.1000       1
5         .       .       1       1 35.00000   8.0500       .
6         .       .       1       1 29.93737   8.4583       .
8         .       .       1       1  2.00000  21.0750       4
9         .       .       1       . 27.00000  11.1333       2
10        .       1       .       . 14.00000  30.0708       1
11        .       .       1       .  4.00000  16.7000       2
12        1       .       .       . 58.00000  26.5500       .
14        .       .       1       1 39.00000  31.2750       6
15        .       .       1       . 14.00000   7.8542       .
18        .       1       .       1 29.93737  13.0000       .
19        .       .       1       . 31.00000  18.0000       1
20        .       .       1       . 29.93737   7.2250       .
21        .       1       .       1 35.00000  26.0000       .
24        1       .       .       1 28.00000  35.5000       .
25        .       .       1       .  8.00000  21.0750       4
27        .       .       1       1 29.93737   7.2250       .
28        1       .       .       1 19.00000 263.0000       5
29        .       .       1       . 29.93737   7.8792       .
30        .       .       1       1 29.93737   7.8958       .
31        1       .       .       1 40.00000  27.7208       .
32        1       .       .       . 29.93737 146.5208       1
33        .       .       1       . 29.93737   7.7500       .
34        .       1       .       1 66.00000  10.5000       .
35        1       .       .       1 28.00000  82.1708       1
36        1       .       .       1 42.00000  52.0000       1
38        .       .       1       1 21.00000   8.0500       .
39        .       .       1       . 18.00000  18.0000       2
40        .       .       1       . 14.00000  11.2417       1
41        .       .       1       . 40.00000   9.4750       1
42        .       1       .       . 27.00000  21.0000       1
43        .       .       1       1 29.93737   7.8958       .
45        .       .       1       . 19.00000   7.8792       .
47        .       .       1       1 29.93737  15.5000       1
48        .       .       1       . 29.93737   7.7500       .
49        .       .       1       1 29.93737  21.6792       2
50        .       .       1       . 18.00000  17.8000       1
51        .       .       1       1  7.00000  39.6875       5
53        1       .       .       . 49.00000  76.7292       1
55        1       .       .       1 65.00000  61.9792       1
56        1       .       .       1 29.93737  35.5000       .
60        .       .       1       1 11.00000  46.9000       7
61        .       .       1       1 22.00000   7.2292       .
62        1       .       .       . 38.00000  80.0000       .
64        .       .       1       1  4.00000  27.9000       5
65        1       .       .       1 29.93737  27.7208       .
70        .       .       1       1 26.00000   8.6625       2
72        .       .       1       . 16.00000  46.9000       7
74        .       .       1       1 26.00000  14.4542       1
75        .       .       1       1 32.00000  56.4958       .
76        .       .       1       1 25.00000   7.6500       .
77        .       .       1       1 29.93737   7.8958       .
79        .       1       .       1  0.83000  29.0000       2
80        .       .       1       . 30.00000  12.4750       .
82        .       .       1       1 29.00000   9.5000       .
83        .       .       1       . 29.93737   7.7875       .
84        1       .       .       1 28.00000  47.1000       .
85        .       1       .       . 17.00000  10.5000       .
86        .       .       1       . 33.00000  15.8500       3
88        .       .       1       1 29.93737   8.0500       .
89        1       .       .       . 23.00000 263.0000       5
91        .       .       1       1 29.00000   8.0500       .
92        .       .       1       1 20.00000   7.8542       .
93        1       .       .       1 46.00000  61.1750       1
94        .       .       1       1 26.00000  20.5750       3
95        .       .       1       1 59.00000   7.2500       .
96        .       .       1       1 29.93737   8.0500       .
97        1       .       .       1 71.00000  34.6542       .
103       1       .       .       1 21.00000  77.2875       1
105       .       .       1       1 37.00000   7.9250       2
107       .       .       1       . 21.00000   7.6500       .
108       .       .       1       1 29.93737   7.7750       .
110       .       .       1       . 29.93737  24.1500       1
111       1       .       .       1 47.00000  52.0000       .
112       .       .       1       . 14.50000  14.4542       1
113       .       .       1       1 22.00000   8.0500       .
114       .       .       1       . 20.00000   9.8250       1
115       .       .       1       . 17.00000  14.4583       .
116       .       .       1       1 21.00000   7.9250       .
117       .       .       1       1 70.50000   7.7500       .
119       1       .       .       1 24.00000 247.5208       1
122       .       .       1       1 29.93737   8.0500       .
125       1       .       .       1 54.00000  77.2875       1
126       .       .       1       1 12.00000  11.2417       1
128       .       .       1       1 24.00000   7.1417       .
129       .       .       1       . 29.93737  22.3583       2
130       .       .       1       1 45.00000   6.9750       .
131       .       .       1       1 33.00000   7.8958       .
132       .       .       1       1 20.00000   7.0500       .
134       .       1       .       . 29.00000  26.0000       1
136       .       1       .       1 23.00000  15.0458       .
138       1       .       .       1 37.00000  53.1000       1
141       .       .       1       . 29.93737  15.2458       2
142       .       .       1       . 22.00000   7.7500       .
143       .       .       1       . 24.00000  15.8500       1
146       .       1       .       1 19.00000  36.7500       2
147       .       .       1       1 27.00000   7.7958       .
148       .       .       1       .  9.00000  34.3750       4
149       .       1       .       1 36.50000  26.0000       2
150       .       1       .       1 42.00000  13.0000       .
151       .       1       .       1 51.00000  12.5250       .
153       .       .       1       1 55.50000   8.0500       .
154       .       .       1       1 40.50000  14.5000       2
156       1       .       .       1 51.00000  61.3792       1
157       .       .       1       . 16.00000   7.7333       .
158       .       .       1       1 30.00000   8.0500       .
160       .       .       1       1 29.93737  69.5500      10
162       .       1       .       . 40.00000  15.7500       .
163       .       .       1       1 26.00000   7.7750       .
164       .       .       1       1 17.00000   8.6625       .
167       1       .       .       . 29.93737  55.0000       1
169       1       .       .       1 29.93737  25.9250       .
171       1       .       .       1 61.00000  33.5000       .
173       .       .       1       .  1.00000  11.1333       2
174       .       .       1       1 21.00000   7.9250       .
176       .       .       1       1 18.00000   7.8542       2
179       .       1       .       1 30.00000  13.0000       .
180       .       .       1       1 36.00000   .            .
181       .       .       1       . 29.93737  69.5500      10
182       .       1       .       1 29.93737  15.0500       .
184       .       1       .       1  1.00000  39.0000       3
185       .       .       1       .  4.00000  22.0250       2
188       1       .       .       1 45.00000  26.5500       .
189       .       .       1       1 40.00000  15.5000       2
190       .       .       1       1 36.00000   7.8958       .
191       .       1       .       . 32.00000  13.0000       .
192       .       1       .       1 19.00000  13.0000       .
194       .       1       .       1  3.00000  26.0000       2
196       1       .       .       . 58.00000 146.5208       .
197       .       .       1       1 29.93737   7.7500       .
198       .       .       1       1 42.00000   8.4042       1
199       .       .       1       . 29.93737   7.7500       .
200       .       1       .       . 24.00000  13.0000       .
202       .       .       1       1 29.93737  69.5500      10
203       .       .       1       1 34.00000   6.4958       .
204       .       .       1       1 45.50000   7.2250       .
205       .       .       1       1 18.00000   8.0500       .
206       .       .       1       .  2.00000  10.4625       1
207       .       .       1       1 32.00000  15.8500       1
209       .       .       1       . 16.00000   7.7500       .
211       .       .       1       1 24.00000   7.0500       .
212       .       1       .       . 35.00000  21.0000       .
213       .       .       1       1 22.00000   7.2500       .
214       .       1       .       1 30.00000  13.0000       .
216       1       .       .       . 31.00000 113.2750       1
217       .       .       1       . 27.00000   7.9250       .
218       .       1       .       1 42.00000  27.0000       1
219       1       .       .       . 32.00000  76.2917       .
220       .       1       .       1 30.00000  10.5000       .
223       .       .       1       1 51.00000   8.0500       .
224       .       .       1       1 29.93737   7.8958       .
226       .       .       1       1 22.00000   9.3500       .
227       .       1       .       1 19.00000  10.5000       .
229       .       1       .       1 18.00000  13.0000       .
230       .       .       1       . 29.93737  25.4667       4
232       .       .       1       1 29.00000   7.7750       .
233       .       1       .       1 59.00000  13.5000       .
235       .       1       .       1 24.00000  10.5000       .
236       .       .       1       . 29.93737   7.5500       .
237       .       1       .       1 44.00000  26.0000       1
238       .       1       .       .  8.00000  26.2500       2
240       .       1       .       1 33.00000  12.2750       .
242       .       .       1       . 29.93737  15.5000       1
243       .       1       .       1 29.00000  10.5000       .
244       .       .       1       1 22.00000   7.1250       .
245       .       .       1       1 30.00000   7.2250       .
246       1       .       .       1 44.00000  90.0000       2
247       .       .       1       . 25.00000   7.7750       .
248       .       1       .       . 24.00000  14.5000       2
249       1       .       .       1 37.00000  52.5542       2
252       .       .       1       . 29.00000  10.4625       2
253       1       .       .       1 62.00000  26.5500       .
254       .       .       1       1 30.00000  16.1000       1
255       .       .       1       . 41.00000  20.2125       2
257       1       .       .       . 29.93737  79.2000       .
258       1       .       .       . 30.00000  86.5000       .
259       1       .       .       . 35.00000 512.3292       .
262       .       .       1       1  3.00000  31.3875       6
264       1       .       .       1 40.00000   .            .
265       .       .       1       . 29.93737   7.7500       .
266       .       1       .       1 36.00000  10.5000       .
267       .       .       1       1 16.00000  39.6875       5
269       1       .       .       . 58.00000 153.4625       1
270       1       .       .       . 35.00000 135.6333       .
273       .       1       .       . 41.00000  19.5000       1
275       .       .       1       . 29.93737   7.7500       .
276       1       .       .       . 63.00000  77.9583       1
278       .       1       .       1 29.93737   .            .
280       .       .       1       . 35.00000  20.2500       2
281       .       .       1       1 65.00000   7.7500       .
285       1       .       .       1 29.93737  26.0000       .
286       .       .       1       1 33.00000   8.6625       .
287       .       .       1       1 30.00000   9.5000       .
288       .       .       1       1 22.00000   7.8958       .
289       .       1       .       1 42.00000  13.0000       .
290       .       .       1       . 22.00000   7.7500       .
291       1       .       .       . 26.00000  78.8500       .
292       1       .       .       . 19.00000  91.0792       1
293       .       1       .       1 36.00000  12.8750       .
294       .       .       1       . 24.00000   8.8500       .
296       1       .       .       1 29.93737  27.7208       .
297       .       .       1       1 23.50000   7.2292       .
298       1       .       .       .  2.00000 151.5500       3
299       1       .       .       1 29.93737  30.5000       .
300       1       .       .       . 50.00000 247.5208       1
302       .       .       1       1 29.93737  23.2500       2
303       .       .       1       1 19.00000   .            .
304       .       1       .       . 29.93737  12.3500       .
305       .       .       1       1 29.93737   8.0500       .
306       1       .       .       1  0.92000 151.5500       3
307       1       .       .       . 29.93737 110.8833       .
309       .       1       .       1 30.00000  24.0000       1
311       1       .       .       . 24.00000  83.1583       .
315       .       1       .       1 43.00000  26.2500       2
316       .       .       1       . 26.00000   7.8542       .
317       .       1       .       . 24.00000  26.0000       1
319       1       .       .       . 31.00000 164.8667       2
320       1       .       .       . 40.00000 134.5000       2
322       .       .       1       1 27.00000   7.8958       .
323       .       1       .       . 30.00000  12.3500       .
324       .       1       .       . 22.00000  29.0000       2
325       .       .       1       1 29.93737  69.5500      10
327       .       .       1       1 61.00000   6.2375       .
329       .       .       1       . 31.00000  20.5250       2
330       1       .       .       . 16.00000  57.9792       1
331       .       .       1       . 29.93737  23.2500       2
332       1       .       .       1 45.50000  28.5000       .
335       1       .       .       . 29.93737 133.6500       1
336       .       .       1       1 29.93737   7.8958       .
337       1       .       .       1 29.00000  66.6000       1
339       .       .       1       1 45.00000   8.0500       .
340       1       .       .       1 45.00000  35.5000       .
341       .       1       .       1  2.00000  26.0000       2
342       1       .       .       . 24.00000 263.0000       5
343       .       1       .       1 28.00000  13.0000       .
345       .       1       .       1 36.00000  13.0000       .
346       .       1       .       . 24.00000  13.0000       .
348       .       .       1       . 29.93737  16.1000       1
349       .       .       1       1  3.00000  15.9000       2
350       .       .       1       1 42.00000   8.6625       .
352       1       .       .       1 29.93737  35.0000       .
353       .       .       1       1 15.00000   7.2292       2
354       .       .       1       1 25.00000  17.8000       1
355       .       .       1       1 29.93737   7.2250       .
356       .       .       1       1 28.00000   9.5000       .
357       1       .       .       . 22.00000  55.0000       1
360       .       .       1       . 29.93737   7.8792       .
361       .       .       1       1 40.00000  27.9000       5
362       .       1       .       1 29.00000  27.7208       1
363       .       .       1       . 45.00000  14.4542       1
365       .       .       1       1 29.93737  15.5000       1
366       .       .       1       1 30.00000   7.2500       .
367       1       .       .       . 60.00000  75.2500       1
368       .       .       1       . 29.93737   7.2292       .
370       1       .       .       . 24.00000  69.3000       .
371       1       .       .       1 25.00000  55.4417       1
372       .       .       1       1 18.00000   6.4958       1
373       .       .       1       1 19.00000   8.0500       .
374       1       .       .       1 22.00000 135.6333       .
376       1       .       .       . 29.93737  82.1708       1
377       .       .       1       . 22.00000   7.2500       .
379       .       .       1       1 20.00000   4.0125       .
381       1       .       .       . 42.00000 227.5250       .
382       .       .       1       .  1.00000  15.7417       2
383       .       .       1       1 32.00000   7.9250       .
384       1       .       .       . 35.00000  52.0000       1
385       .       .       1       1 29.93737   7.8958       .
386       .       1       .       1 18.00000  73.5000       .
387       .       .       1       1  1.00000  46.9000       7
388       .       1       .       . 36.00000  13.0000       .
389       .       .       1       1 29.93737   7.7292       .
390       .       1       .       . 17.00000  12.0000       .
391       1       .       .       1 36.00000 120.0000       3
392       .       .       1       1 21.00000   7.7958       .
393       .       .       1       1 28.00000   7.9250       2
394       1       .       .       . 23.00000 113.2750       1
395       .       .       1       . 24.00000  16.7000       2
396       .       .       1       1 22.00000   7.7958       .
397       .       .       1       . 31.00000   7.8542       .
398       .       1       .       1 46.00000  26.0000       .
399       .       1       .       1 23.00000  10.5000       .
401       .       .       1       1 39.00000   7.9250       .
402       .       .       1       1 26.00000   8.0500       .
404       .       .       1       1 28.00000  15.8500       1
405       .       .       1       . 20.00000   8.6625       .
406       .       1       .       1 34.00000  21.0000       1
407       .       .       1       1 51.00000   7.7500       .
408       .       1       .       1  3.00000  18.7500       2
410       .       .       1       . 29.93737  25.4667       4
411       .       .       1       1 29.93737   7.8958       .
414       .       1       .       1 29.93737   .            .
417       .       1       .       . 34.00000  32.5000       2
421       .       .       1       1 29.93737   7.8958       .
422       .       .       1       1 21.00000   7.7333       .
423       .       .       1       1 29.00000   7.8750       .
425       .       .       1       1 18.00000  20.2125       2
426       .       .       1       1 29.93737   7.2500       .
428       .       1       .       . 19.00000  26.0000       .
429       .       .       1       1 29.93737   7.7500       .
431       1       .       .       1 28.00000  26.5500       .
432       .       .       1       . 29.93737  16.1000       1
433       .       1       .       . 42.00000  26.0000       1
434       .       .       1       1 17.00000   7.1250       .
435       1       .       .       1 50.00000  55.9000       1
437       .       .       1       . 21.00000  34.3750       4
438       .       1       .       . 24.00000  18.7500       5
439       1       .       .       1 64.00000 263.0000       5
443       .       .       1       1 25.00000   7.7750       1
444       .       1       .       . 28.00000  13.0000       .
446       1       .       .       1  4.00000  81.8583       2
449       .       .       1       .  5.00000  19.2583       3
451       .       1       .       1 36.00000  27.7500       3
453       1       .       .       1 30.00000  27.7500       .
454       1       .       .       1 49.00000  89.1042       1
456       .       .       1       1 29.00000   7.8958       .
459       .       1       .       . 50.00000  10.5000       .
460       .       .       1       1 29.93737   7.7500       .
461       1       .       .       1 48.00000  26.5500       .
463       1       .       .       1 47.00000  38.5000       .
464       .       1       .       1 48.00000  13.0000       .
465       .       .       1       1 29.93737   8.0500       .
466       .       .       1       1 38.00000   7.0500       .
468       1       .       .       1 56.00000  26.5500       .
470       .       .       1       .  0.75000  19.2583       3
471       .       .       1       1 29.93737   7.2500       .
472       .       .       1       1 38.00000   8.6625       .
474       .       1       .       . 23.00000  13.7917       .
475       .       .       1       . 22.00000   9.8375       .
479       .       .       1       1 22.00000   7.5208       .
480       .       .       1       .  2.00000  12.2875       1
481       .       .       1       1  9.00000  46.9000       7
484       .       .       1       . 63.00000   9.5875       .
485       1       .       .       1 25.00000  91.0792       1
486       .       .       1       . 29.93737  25.4667       4
487       1       .       .       . 35.00000  90.0000       1
489       .       .       1       1 30.00000   8.0500       .
491       .       .       1       1 29.93737  19.9667       1
493       1       .       .       1 55.00000  30.5000       .
494       1       .       .       1 71.00000  49.5042       .
497       1       .       .       . 54.00000  78.2667       1
498       .       .       1       1 29.93737  15.1000       .
499       1       .       .       . 25.00000 151.5500       3
500       .       .       1       1 24.00000   7.7958       .
501       .       .       1       1 17.00000   8.6625       .
502       .       .       1       . 21.00000   7.7500       .
503       .       .       1       . 29.93737   7.6292       .
504       .       .       1       . 37.00000   9.5875       .
505       1       .       .       . 16.00000  86.5000       .
506       1       .       .       1 18.00000 108.9000       1
507       .       1       .       . 33.00000  26.0000       2
508       1       .       .       1 29.93737  26.5500       .
509       .       .       1       1 28.00000  22.5250       .
511       .       .       1       1 29.00000   7.7500       .
512       .       .       1       1 29.93737   8.0500       .
513       1       .       .       1 36.00000  26.2875       .
514       1       .       .       . 54.00000  59.4000       1
516       1       .       .       1 47.00000  34.0208       .
517       .       1       .       . 34.00000  10.5000       .
518       .       .       1       1 29.93737  24.1500       .
519       .       1       .       . 36.00000  26.0000       1
521       1       .       .       . 30.00000  93.5000       .
522       .       .       1       1 22.00000   7.8958       .
524       1       .       .       . 44.00000  57.9792       1
526       .       .       1       1 40.50000   7.7500       .
528       1       .       .       1 29.93737 221.7792       .
530       .       1       .       1 23.00000  11.5000       3
532       .       .       1       1 29.93737   7.2292       .
533       .       .       1       1 17.00000   7.2292       2
535       .       .       1       . 30.00000   8.6625       .
536       .       1       .       .  7.00000  26.2500       2
537       1       .       .       1 45.00000  26.5500       .
538       1       .       .       . 30.00000 106.4250       .
541       1       .       .       . 36.00000  71.0000       2
542       .       .       1       .  9.00000  31.2750       6
543       .       .       1       . 11.00000  31.2750       6
544       .       1       .       1 32.00000  26.0000       1
545       1       .       .       1 50.00000 106.4250       1
546       1       .       .       1 64.00000  26.0000       .
547       .       1       .       . 19.00000  26.0000       1
548       .       1       .       1 29.93737  13.8625       .
549       .       .       1       1 33.00000  20.5250       2
552       .       1       .       1 27.00000  26.0000       .
553       .       .       1       1 29.93737   7.8292       .
555       .       .       1       . 22.00000   7.7750       .
556       1       .       .       1 62.00000  26.5500       .
557       1       .       .       . 48.00000  39.6000       1
558       1       .       .       1 29.93737 227.5250       .
559       1       .       .       . 39.00000  79.6500       2
560       .       .       1       . 36.00000  17.4000       1
561       .       .       1       1 29.93737   7.7500       .
563       .       1       .       1 28.00000  13.5000       .
564       .       .       1       1 29.93737   8.0500       .
565       .       .       1       . 29.93737   8.0500       .
567       .       .       1       1 19.00000   7.8958       .
568       .       .       1       . 29.00000  21.0750       4
569       .       .       1       1 29.93737   7.2292       .
570       .       .       1       1 32.00000   7.8542       .
573       1       .       .       1 36.00000  26.3875       .
575       .       .       1       1 16.00000   8.0500       .
576       .       .       1       1 19.00000  14.5000       .
577       .       1       .       . 34.00000  13.0000       .
578       1       .       .       . 39.00000  55.9000       1
579       .       .       1       . 29.93737  14.4583       1
580       .       .       1       1 32.00000   7.9250       .
581       .       1       .       . 25.00000  30.0000       2
584       1       .       .       1 36.00000  40.1250       .
585       .       .       1       1 29.93737   8.7125       .
587       .       1       .       1 47.00000  15.0000       .
588       1       .       .       1 60.00000  79.2000       2
590       .       .       1       1 29.93737   8.0500       .
591       .       .       1       1 35.00000   7.1250       .
592       1       .       .       . 52.00000  78.2667       1
593       .       .       1       1 47.00000   7.2500       .
594       .       .       1       . 29.93737   7.7500       2
595       .       1       .       1 37.00000  26.0000       1
596       .       .       1       1 36.00000  24.1500       2
597       .       1       .       . 29.93737  33.0000       .
598       .       .       1       1 49.00000   .            .
600       1       .       .       1 49.00000  56.9292       1
601       .       1       .       . 24.00000  27.0000       3
603       1       .       .       1 29.93737  42.4000       .
605       1       .       .       1 35.00000  26.5500       .
606       .       .       1       1 36.00000  15.5500       1
608       1       .       .       1 27.00000  30.5000       .
609       .       1       .       . 22.00000  41.5792       3
610       1       .       .       . 40.00000 153.4625       .
611       .       .       1       . 39.00000  31.2750       6
612       .       .       1       1 29.93737   7.0500       .
613       .       .       1       . 29.93737  15.5000       1
614       .       .       1       1 29.93737   7.7500       .
615       .       .       1       1 35.00000   8.0500       .
616       .       1       .       . 24.00000  65.0000       3
617       .       .       1       1 34.00000  14.4000       2
618       .       .       1       . 26.00000  16.1000       1
619       .       1       .       .  4.00000  39.0000       3
621       .       .       1       1 27.00000  14.4542       1
622       1       .       .       1 42.00000  52.5542       1
623       .       .       1       1 20.00000  15.7417       2
624       .       .       1       1 21.00000   7.8542       .
625       .       .       1       1 21.00000  16.1000       .
626       1       .       .       1 61.00000  32.3208       .
627       .       1       .       1 57.00000  12.3500       .
631       1       .       .       1 80.00000  30.0000       .
633       1       .       .       1 32.00000  30.5000       .
634       1       .       .       1 29.93737   .            .
635       .       .       1       .  9.00000  27.9000       5
637       .       .       1       1 32.00000   7.9250       .
638       .       1       .       1 31.00000  26.2500       2
639       .       .       1       . 41.00000  39.6875       5
640       .       .       1       1 29.93737  16.1000       1
641       .       .       1       1 20.00000   7.8542       .
642       1       .       .       . 24.00000  69.3000       .
644       .       .       1       1 29.93737  56.4958       .
645       .       .       1       .  0.75000  19.2583       3
646       1       .       .       1 48.00000  76.7292       1
647       .       .       1       1 19.00000   7.8958       .
648       1       .       .       1 56.00000  35.5000       .
649       .       .       1       1 29.93737   7.5500       .
650       .       .       1       . 23.00000   7.5500       .
651       .       .       1       1 29.93737   7.8958       .
654       .       .       1       . 29.93737   7.8292       .
655       .       .       1       . 18.00000   6.7500       .
656       .       1       .       1 24.00000  73.5000       2
658       .       .       1       . 32.00000  15.5000       2
659       .       1       .       1 23.00000  13.0000       .
661       1       .       .       1 50.00000 133.6500       2
662       .       .       1       1 40.00000   7.2250       .
663       1       .       .       1 47.00000  25.5875       .
667       .       1       .       1 25.00000  13.0000       .
668       .       .       1       1 29.93737   7.7750       .
670       1       .       .       . 29.93737  52.0000       1
671       .       1       .       . 40.00000  39.0000       2
674       .       1       .       1 31.00000  13.0000       .
677       .       .       1       1 24.50000   8.0500       .
678       .       .       1       . 18.00000   9.8417       .
679       .       .       1       . 43.00000  46.9000       7
681       .       .       1       . 29.93737   8.1375       .
682       1       .       .       1 27.00000  76.7292       .
683       .       .       1       1 20.00000   9.2250       .
687       .       .       1       1 14.00000  39.6875       5
689       .       .       1       1 18.00000   7.7958       .
690       1       .       .       . 15.00000 211.3375       1
691       1       .       .       1 31.00000  57.0000       1
692       .       .       1       .  4.00000  13.4167       1
693       .       .       1       1 29.93737  56.4958       .
694       .       .       1       1 25.00000   7.2250       .
695       1       .       .       1 60.00000  26.5500       .
699       1       .       .       1 49.00000 110.8833       2
701       1       .       .       . 18.00000 227.5250       1
702       1       .       .       1 35.00000  26.2875       .
703       .       .       1       . 18.00000  14.4542       1
704       .       .       1       1 25.00000   7.7417       .
705       .       .       1       1 26.00000   7.8542       1
708       1       .       .       1 42.00000  26.2875       .
709       1       .       .       . 22.00000 151.5500       .
710       .       .       1       1 29.93737  15.2458       2
712       1       .       .       1 29.93737  26.5500       .
713       1       .       .       1 48.00000  52.0000       1
714       .       .       1       1 29.00000   9.4833       .
716       .       .       1       1 19.00000   7.6500       .
717       1       .       .       . 38.00000 227.5250       .
718       .       1       .       . 27.00000  10.5000       .
719       .       .       1       1 29.93737  15.5000       .
720       .       .       1       1 33.00000   7.7750       .
721       .       1       .       .  6.00000  33.0000       1
723       .       1       .       1 34.00000  13.0000       .
725       1       .       .       1 27.00000  53.1000       1
726       .       .       1       1 20.00000   8.6625       .
728       .       .       1       . 29.93737   7.7375       .
729       .       1       .       1 25.00000  26.0000       1
730       .       .       1       . 25.00000   7.9250       1
732       .       .       1       1 11.00000  18.7875       .
735       .       1       .       1 23.00000  13.0000       .
736       .       .       1       1 28.50000  16.1000       .
737       .       .       1       . 48.00000  34.3750       4
738       1       .       .       1 35.00000 512.3292       .
739       .       .       1       1 29.93737   7.8958       .
740       .       .       1       1 29.93737   7.8958       .
742       1       .       .       1 36.00000  78.8500       1
743       1       .       .       . 21.00000 262.3750       4
744       .       .       1       1 24.00000  16.1000       1
745       .       .       1       1 31.00000   7.9250       .
749       1       .       .       1 19.00000  53.1000       1
750       .       .       1       1 31.00000   7.7500       .
752       .       .       1       1  6.00000  12.4750       1
753       .       .       1       1 33.00000   9.5000       .
754       .       .       1       1 23.00000   7.8958       .
755       .       1       .       . 48.00000  65.0000       3
757       .       .       1       1 28.00000   7.7958       .
759       .       .       1       1 34.00000   8.0500       .
760       1       .       .       . 33.00000  86.5000       .
762       .       .       1       1 41.00000   7.1250       .
763       .       .       1       1 20.00000   7.2292       .
764       1       .       .       . 36.00000 120.0000       3
766       1       .       .       . 51.00000  77.9583       1
767       1       .       .       1 29.93737  39.6000       .
768       .       .       1       . 30.50000   7.7500       .
769       .       .       1       1 29.93737  24.1500       1
770       .       .       1       1 32.00000   8.3625       .
771       .       .       1       1 24.00000   9.5000       .
773       .       1       .       . 57.00000  10.5000       .
774       .       .       1       1 29.93737   7.2250       .
777       .       .       1       1 29.93737   7.7500       .
778       .       .       1       .  5.00000  12.4750       .
780       1       .       .       . 43.00000 211.3375       1
781       .       .       1       . 13.00000   7.2292       .
782       1       .       .       . 17.00000  57.0000       1
783       1       .       .       1 29.00000  30.0000       .
784       .       .       1       1 29.93737  23.4500       3
786       .       .       1       1 25.00000   7.2500       .
789       .       .       1       1  1.00000  20.5750       3
790       1       .       .       1 46.00000  79.2000       .
791       .       .       1       1 29.93737   7.7500       .
792       .       1       .       1 16.00000  26.0000       .
793       .       .       1       . 29.93737  69.5500      10
794       1       .       .       1 29.93737  30.6958       .
795       .       .       1       1 25.00000   7.8958       .
796       .       1       .       1 39.00000  13.0000       .
797       1       .       .       . 49.00000  25.9292       .
799       .       .       1       1 30.00000   7.2292       .
800       .       .       1       . 30.00000  24.1500       2
801       .       1       .       1 34.00000  13.0000       .
803       1       .       .       1 11.00000 120.0000       3
804       .       .       1       1  0.42000   8.5167       1
806       .       .       1       1 31.00000   7.7750       .
808       .       .       1       . 18.00000   7.7750       .
811       .       .       1       1 26.00000   7.8875       .
812       .       .       1       1 39.00000  24.1500       .
813       .       1       .       1 35.00000  10.5000       .
815       .       .       1       1 30.50000   8.0500       .
816       1       .       .       1 29.93737   .            .
817       .       .       1       . 23.00000   7.9250       .
819       .       .       1       1 43.00000   6.4500       .
822       .       .       1       1 27.00000   8.6625       .
823       1       .       .       1 38.00000   .            .
824       .       .       1       . 27.00000  12.4750       1
825       .       .       1       1  2.00000  39.6875       5
826       .       .       1       1 29.93737   6.9500       .
827       .       .       1       1 29.93737  56.4958       .
828       .       1       .       1  1.00000  37.0042       2
831       .       .       1       . 15.00000  14.4542       1
832       .       1       .       1  0.83000  18.7500       2
833       .       .       1       1 29.93737   7.2292       .
835       .       .       1       1 18.00000   8.3000       .
836       1       .       .       . 39.00000  83.1583       2
838       .       .       1       1 29.93737   8.0500       .
840       1       .       .       1 29.93737  29.7000       .
843       1       .       .       . 30.00000  31.0000       .
845       .       .       1       1 17.00000   8.6625       .
846       .       .       1       1 42.00000   7.5500       .
847       .       .       1       1 29.93737  69.5500      10
849       .       1       .       1 28.00000  33.0000       1
850       1       .       .       . 29.93737  89.1042       1
851       .       .       1       1  4.00000  31.2750       6
852       .       .       1       1 74.00000   7.7750       .
853       .       .       1       .  9.00000  15.2458       2
855       .       1       .       . 44.00000  26.0000       1
856       .       .       1       . 18.00000   9.3500       1
857       1       .       .       . 45.00000 164.8667       2
858       1       .       .       1 51.00000  26.5500       .
859       .       .       1       . 24.00000  19.2583       3
860       .       .       1       1 29.93737   7.2292       .
861       .       .       1       1 41.00000  14.1083       2
862       .       1       .       1 21.00000  11.5000       1
864       .       .       1       . 29.93737  69.5500      10
865       .       1       .       1 24.00000  13.0000       .
867       .       1       .       . 27.00000  13.8583       1
868       1       .       .       1 31.00000  50.4958       .
871       .       .       1       1 26.00000   7.8958       .
872       1       .       .       . 47.00000  52.5542       2
874       .       .       1       1 47.00000   9.0000       .
877       .       .       1       1 20.00000   9.8458       .
878       .       .       1       1 19.00000   7.8958       .
879       .       .       1       1 29.93737   7.8958       .
880       1       .       .       . 56.00000  83.1583       1
881       .       1       .       . 25.00000  26.0000       1
882       .       .       1       1 33.00000   7.8958       .
883       .       .       1       . 22.00000  10.5167       .
885       .       .       1       1 25.00000   7.0500       .
886       .       .       1       . 39.00000  29.1250       5
887       .       1       .       1 27.00000  13.0000       .
888       1       .       .       . 19.00000  30.0000       .
889       .       .       1       . 29.93737  23.4500       3
testm        <- sparse.model.matrix(Survived ~.-1, # Survived Target으로 제외 
                                    data = titanic.ted.Imp) 
testm
266 x 7 sparse Matrix of class "dgCMatrix"
    Pclass1 Pclass2 Pclass3 Sexmale      Age     Fare FamSize
2         1       .       .       . 38.00000  71.2833       1
7         1       .       .       1 54.00000  51.8625       .
13        .       .       1       1 20.00000   8.0500       .
16        .       1       .       . 55.00000  16.0000       .
17        .       .       1       1  2.00000  29.1250       5
22        .       1       .       1 34.00000  13.0000       .
23        .       .       1       . 15.00000   8.0292       .
26        .       .       1       . 38.00000  31.3875       6
37        .       .       1       1 29.93737   7.2292       .
44        .       1       .       .  3.00000  41.5792       3
46        .       .       1       1 29.93737   8.0500       .
52        .       .       1       1 21.00000   7.8000       .
54        .       1       .       . 29.00000  26.0000       1
57        .       1       .       . 21.00000  10.5000       .
58        .       .       1       1 28.50000   7.2292       .
59        .       1       .       .  5.00000  27.7500       3
63        1       .       .       1 45.00000  83.4750       1
66        .       .       1       1 29.93737  15.2458       2
67        .       1       .       . 29.00000  10.5000       .
68        .       .       1       1 19.00000   8.1583       .
69        .       .       1       . 17.00000   7.9250       6
71        .       1       .       1 32.00000  10.5000       .
73        .       1       .       1 21.00000  73.5000       .
78        .       .       1       1 29.93737   8.0500       .
81        .       .       1       1 22.00000   9.0000       .
87        .       .       1       1 16.00000  34.3750       4
90        .       .       1       1 24.00000   8.0500       .
98        1       .       .       1 23.00000  63.3583       1
99        .       1       .       . 34.00000  23.0000       1
100       .       1       .       1 34.00000  26.0000       1
101       .       .       1       . 28.00000   7.8958       .
102       .       .       1       1 29.93737   7.8958       .
104       .       .       1       1 33.00000   8.6542       .
106       .       .       1       1 28.00000   7.8958       .
109       .       .       1       1 38.00000   7.8958       .
118       .       1       .       1 29.00000  21.0000       1
120       .       .       1       .  2.00000  31.2750       6
121       .       1       .       1 21.00000  73.5000       2
123       .       1       .       1 32.50000  30.0708       1
124       .       1       .       . 32.50000  13.0000       .
127       .       .       1       1 29.93737   7.7500       .
133       .       .       1       . 47.00000  14.5000       1
135       .       1       .       1 25.00000  13.0000       .
137       1       .       .       . 19.00000  26.2833       2
139       .       .       1       1 16.00000   9.2167       .
140       1       .       .       1 24.00000  79.2000       .
144       .       .       1       1 19.00000   6.7500       .
145       .       1       .       1 18.00000  11.5000       .
152       1       .       .       . 22.00000  66.6000       1
155       .       .       1       1 29.93737   7.3125       .
159       .       .       1       1 29.93737   8.6625       .
161       .       .       1       1 44.00000  16.1000       1
165       .       .       1       1  1.00000  39.6875       5
166       .       .       1       1  9.00000  20.5250       2
168       .       .       1       . 45.00000  27.9000       5
170       .       .       1       1 28.00000  56.4958       .
172       .       .       1       1  4.00000  29.1250       5
175       1       .       .       1 56.00000  30.6958       .
177       .       .       1       1 29.93737  25.4667       4
178       1       .       .       . 50.00000  28.7125       .
183       .       .       1       1  9.00000  31.3875       6
186       1       .       .       1 29.93737  50.0000       .
187       .       .       1       . 29.93737  15.5000       1
193       .       .       1       . 19.00000   7.8542       1
195       1       .       .       . 44.00000  27.7208       .
201       .       .       1       1 28.00000   9.5000       .
208       .       .       1       1 26.00000  18.7875       .
210       1       .       .       1 40.00000  31.0000       .
215       .       .       1       1 29.93737   7.7500       1
221       .       .       1       1 16.00000   8.0500       .
222       .       1       .       1 27.00000  13.0000       .
225       1       .       .       1 38.00000  90.0000       1
228       .       .       1       1 20.50000   7.2500       .
231       1       .       .       . 35.00000  83.4750       1
234       .       .       1       .  5.00000  31.3875       6
239       .       1       .       1 19.00000  10.5000       .
241       .       .       1       . 29.93737  14.4542       1
250       .       1       .       1 54.00000  26.0000       1
251       .       .       1       1 29.93737   7.2500       .
256       .       .       1       . 29.00000  15.2458       2
260       .       1       .       . 50.00000  26.0000       1
261       .       .       1       1 29.93737   7.7500       .
263       1       .       .       1 52.00000  79.6500       2
268       .       .       1       1 25.00000   7.7750       1
271       1       .       .       1 29.93737  31.0000       .
272       .       .       1       1 25.00000   .            .
274       1       .       .       1 37.00000  29.7000       1
277       .       .       1       . 45.00000   7.7500       .
279       .       .       1       1  7.00000  29.1250       5
282       .       .       1       1 28.00000   7.8542       .
283       .       .       1       1 16.00000   9.5000       .
284       .       .       1       1 19.00000   8.0500       .
295       .       .       1       1 24.00000   7.8958       .
301       .       .       1       . 29.93737   7.7500       .
308       1       .       .       . 17.00000 108.9000       1
310       1       .       .       . 30.00000  56.9292       .
312       1       .       .       . 18.00000 262.3750       4
313       .       1       .       . 26.00000  26.0000       2
314       .       .       1       1 28.00000   7.8958       .
318       .       1       .       1 54.00000  14.0000       .
321       .       .       1       1 22.00000   7.2500       .
326       1       .       .       . 36.00000 135.6333       .
328       .       1       .       . 36.00000  13.0000       .
333       1       .       .       1 38.00000 153.4625       1
334       .       .       1       1 16.00000  18.0000       2
338       1       .       .       . 41.00000 134.5000       .
344       .       1       .       1 25.00000  13.0000       .
347       .       1       .       . 40.00000  13.0000       .
351       .       .       1       1 23.00000   9.2250       .
358       .       1       .       . 38.00000  13.0000       .
359       .       .       1       . 29.93737   7.8792       .
364       .       .       1       1 35.00000   7.0500       .
369       .       .       1       . 29.93737   7.7500       .
375       .       .       1       .  3.00000  21.0750       4
378       1       .       .       1 27.00000 211.5000       2
380       .       .       1       1 19.00000   7.7750       .
400       .       1       .       . 28.00000  12.6500       .
403       .       .       1       . 21.00000   9.8250       1
409       .       .       1       1 21.00000   7.7750       .
412       .       .       1       1 29.93737   6.8583       .
413       1       .       .       . 33.00000  90.0000       1
415       .       .       1       1 44.00000   7.9250       .
416       .       .       1       . 29.93737   8.0500       .
418       .       1       .       . 18.00000  13.0000       2
419       .       1       .       1 30.00000  13.0000       .
420       .       .       1       . 10.00000  24.1500       2
424       .       .       1       . 28.00000  14.4000       2
427       .       1       .       . 28.00000  26.0000       1
430       .       .       1       1 32.00000   8.0500       .
436       1       .       .       . 14.00000 120.0000       3
440       .       1       .       1 31.00000  10.5000       .
441       .       1       .       . 45.00000  26.2500       2
442       .       .       1       1 20.00000   9.5000       .
445       .       .       1       1 29.93737   8.1125       .
447       .       1       .       . 13.00000  19.5000       1
448       1       .       .       1 34.00000  26.5500       .
450       1       .       .       1 52.00000  30.5000       .
452       .       .       1       1 29.93737  19.9667       1
455       .       .       1       1 29.93737   8.0500       .
457       1       .       .       1 65.00000  26.5500       .
458       1       .       .       . 29.93737  51.8625       1
462       .       .       1       1 34.00000   8.0500       .
467       .       1       .       1 29.93737   .            .
469       .       .       1       1 29.93737   7.7250       .
473       .       1       .       . 33.00000  27.7500       3
476       1       .       .       1 29.93737  52.0000       .
477       .       1       .       1 34.00000  21.0000       1
478       .       .       1       1 29.00000   7.0458       1
482       .       1       .       1 29.93737   .            .
483       .       .       1       1 50.00000   8.0500       .
488       1       .       .       1 58.00000  29.7000       .
490       .       .       1       1  9.00000  15.9000       2
492       .       .       1       1 21.00000   7.2500       .
495       .       .       1       1 21.00000   8.0500       .
496       .       .       1       1 29.93737  14.4583       .
510       .       .       1       1 26.00000  56.4958       .
515       .       .       1       1 24.00000   7.4958       .
520       .       .       1       1 32.00000   7.8958       .
523       .       .       1       1 29.93737   7.2250       .
525       .       .       1       1 29.93737   7.2292       .
527       .       1       .       . 50.00000  10.5000       .
529       .       .       1       1 39.00000   7.9250       .
531       .       1       .       .  2.00000  26.0000       2
534       .       .       1       . 29.93737  22.3583       2
539       .       .       1       1 29.93737  14.5000       .
540       1       .       .       . 22.00000  49.5000       2
550       .       1       .       1  8.00000  36.7500       2
551       1       .       .       1 17.00000 110.8833       2
554       .       .       1       1 22.00000   7.2250       .
562       .       .       1       1 40.00000   7.8958       .
566       .       .       1       1 24.00000  24.1500       2
571       .       1       .       1 62.00000  10.5000       .
572       1       .       .       . 53.00000  51.4792       2
574       .       .       1       . 29.93737   7.7500       .
582       1       .       .       . 39.00000 110.8833       2
583       .       1       .       1 54.00000  26.0000       .
586       1       .       .       . 18.00000  79.6500       2
589       .       .       1       1 22.00000   8.0500       .
599       .       .       1       1 29.93737   7.2250       .
602       .       .       1       1 29.93737   7.8958       .
604       .       .       1       1 44.00000   8.0500       .
607       .       .       1       1 30.00000   7.8958       .
620       .       1       .       1 26.00000  10.5000       .
628       1       .       .       . 21.00000  77.9583       .
629       .       .       1       1 26.00000   7.8958       .
630       .       .       1       1 29.93737   7.7333       .
632       .       .       1       1 51.00000   7.0542       .
636       .       1       .       . 28.00000  13.0000       .
643       .       .       1       .  2.00000  27.9000       5
652       .       1       .       . 18.00000  23.0000       1
653       .       .       1       1 21.00000   8.4333       .
657       .       .       1       1 29.93737   7.8958       .
660       1       .       .       1 58.00000 113.2750       2
664       .       .       1       1 36.00000   7.4958       .
665       .       .       1       1 20.00000   7.9250       1
666       .       1       .       1 32.00000  73.5000       2
669       .       .       1       1 43.00000   8.0500       .
672       1       .       .       1 31.00000  52.0000       1
673       .       1       .       1 70.00000  10.5000       .
675       .       1       .       1 29.93737   .            .
676       .       .       1       1 18.00000   7.7750       .
680       1       .       .       1 36.00000 512.3292       1
684       .       .       1       1 14.00000  46.9000       7
685       .       1       .       1 60.00000  39.0000       2
686       .       1       .       1 25.00000  41.5792       3
688       .       .       1       1 19.00000  10.1708       .
696       .       1       .       1 52.00000  13.5000       .
697       .       .       1       1 44.00000   8.0500       .
698       .       .       1       . 29.93737   7.7333       .
700       .       .       1       1 42.00000   7.6500       .
706       .       1       .       1 39.00000  26.0000       .
707       .       1       .       . 45.00000  13.5000       .
711       1       .       .       . 24.00000  49.5042       .
715       .       1       .       1 52.00000  13.0000       .
722       .       .       1       1 17.00000   7.0542       1
724       .       1       .       1 50.00000  13.0000       .
727       .       1       .       . 30.00000  21.0000       3
731       1       .       .       . 29.00000 211.3375       .
733       .       1       .       1 29.93737   .            .
734       .       1       .       1 23.00000  13.0000       .
741       1       .       .       1 29.93737  30.0000       .
746       1       .       .       1 70.00000  71.0000       2
747       .       .       1       1 16.00000  20.2500       2
748       .       1       .       . 30.00000  13.0000       .
751       .       1       .       .  4.00000  23.0000       2
756       .       1       .       1  0.67000  14.5000       2
758       .       1       .       1 18.00000  11.5000       .
761       .       .       1       1 29.93737  14.5000       .
765       .       .       1       1 16.00000   7.7750       .
772       .       .       1       1 48.00000   7.8542       .
775       .       1       .       . 54.00000  23.0000       4
776       .       .       1       1 18.00000   7.7500       .
779       .       .       1       1 29.93737   7.7375       .
785       .       .       1       1 25.00000   7.0500       .
787       .       .       1       . 18.00000   7.4958       .
788       .       .       1       1  8.00000  29.1250       5
798       .       .       1       . 31.00000   8.6833       .
802       .       1       .       . 31.00000  26.2500       2
805       .       .       1       1 27.00000   6.9750       .
807       1       .       .       1 39.00000   .            .
809       .       1       .       1 39.00000  13.0000       .
810       1       .       .       . 33.00000  53.1000       1
814       .       .       1       .  6.00000  31.2750       6
818       .       1       .       1 31.00000  37.0042       2
820       .       .       1       1 10.00000  27.9000       5
821       1       .       .       . 52.00000  93.5000       2
829       .       .       1       1 29.93737   7.7500       .
830       1       .       .       . 62.00000  80.0000       .
834       .       .       1       1 23.00000   7.8542       .
837       .       .       1       1 21.00000   8.6625       .
839       .       .       1       1 32.00000  56.4958       .
841       .       .       1       1 20.00000   7.9250       .
842       .       1       .       1 16.00000  10.5000       .
844       .       .       1       1 34.50000   6.4375       .
848       .       .       1       1 35.00000   7.8958       .
854       1       .       .       . 16.00000  39.4000       1
863       1       .       .       . 48.00000  25.9292       .
866       .       1       .       . 42.00000  13.0000       .
869       .       .       1       1 29.93737   9.5000       .
870       .       .       1       1  4.00000  11.1333       2
873       1       .       .       1 33.00000   5.0000       .
875       .       1       .       . 28.00000  24.0000       1
876       .       .       1       . 15.00000   7.2250       .
884       .       1       .       1 28.00000  10.5000       .
890       1       .       .       1 26.00000  30.0000       .
891       .       .       1       1 32.00000   7.7500       .
# 2. Convert Factor Var. into Numeric Var. for Target
train.y <- as.numeric( as.character( titanic.trd.Imp$Survived ))  

train.y
  [1] 0 1 1 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 1
 [98] 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0
[195] 1 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0
[292] 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 1
[389] 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 1
[486] 1 1 0 0 0 1 1 0 0 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1
[583] 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0
# 3. Convert to xgb.DMatrix object
train_matrix <- xgb.DMatrix(data = as.matrix(trainm),
                            label = train.y)

train_matrix
xgb.DMatrix  dim: 625 x 7  info: label  colnames: yes
test_matrix  <- xgb.DMatrix(data = as.matrix(testm))

test_matrix
xgb.DMatrix  dim: 266 x 7  info: NA  colnames: yes
set.seed(100)                                                         # Seed 고정 -> 동일한 결과를 출력하기 위해
titanic.xgb <- xgb.train(data = train_matrix,  
                         watchlist = list(train = train_matrix),      # 모형 구축하는 동안 오차를 계산하기 위해
                         nrounds = 50,                                # nrounds : 반복 수(= 생성하고자 하는 트리 개수) 
                         params = list(objective = "binary:logistic", # 손실함수
                                       eta = 0.01,                    # 학습률
                                       gamma = 0,                     # 분할하기 위해 필요한 최소 손실 감소/ 클수록 분할이 쉽게 일어나지 않음
                                       max_depth = 5,                 # 트리의 최대 깊이
                                       min_child_weight = 1,          # 분할하기 위해 필요한 case의 최소 가중치 합/ 클수록 분할이 쉽게 일어나지 않음
                                       subsample = 1,                 # 트리를 생성할 때 Dataset으로부터 사용할 case 비율
                                       lambda = 1),                   # 규제항
                         early_stopping_rounds = 10)                  # 만약 10번 이후의 반복에서 손실이 개선되지 않으면 조기 종료
[1] train-logloss:0.688079 
Will train until train_logloss hasn't improved in 10 rounds.

[2] train-logloss:0.683130 
[3] train-logloss:0.678273 
[4] train-logloss:0.673507 
[5] train-logloss:0.668828 
[6] train-logloss:0.664236 
[7] train-logloss:0.659727 
[8] train-logloss:0.655300 
[9] train-logloss:0.650952 
[10]    train-logloss:0.646683 
[11]    train-logloss:0.642489 
[12]    train-logloss:0.638370 
[13]    train-logloss:0.634324 
[14]    train-logloss:0.630348 
[15]    train-logloss:0.626442 
[16]    train-logloss:0.622604 
[17]    train-logloss:0.618832 
[18]    train-logloss:0.615125 
[19]    train-logloss:0.611482 
[20]    train-logloss:0.607900 
[21]    train-logloss:0.604354 
[22]    train-logloss:0.600892 
[23]    train-logloss:0.597488 
[24]    train-logloss:0.594115 
[25]    train-logloss:0.590823 
[26]    train-logloss:0.587585 
[27]    train-logloss:0.584375 
[28]    train-logloss:0.581246 
[29]    train-logloss:0.578169 
[30]    train-logloss:0.575088 
[31]    train-logloss:0.572083 
[32]    train-logloss:0.569150 
[33]    train-logloss:0.566249 
[34]    train-logloss:0.563356 
[35]    train-logloss:0.560515 
[36]    train-logloss:0.557747 
[37]    train-logloss:0.554994 
[38]    train-logloss:0.552294 
[39]    train-logloss:0.549525 
[40]    train-logloss:0.546895 
[41]    train-logloss:0.544207 
[42]    train-logloss:0.541557 
[43]    train-logloss:0.539005 
[44]    train-logloss:0.536474 
[45]    train-logloss:0.533901 
[46]    train-logloss:0.531511 
[47]    train-logloss:0.529220 
[48]    train-logloss:0.526885 
[49]    train-logloss:0.524640 
[50]    train-logloss:0.522387 
# Training Error Plot
plot(titanic.xgb$evaluation_log$train_logloss, 
     col = "blue",
     type = "l",
     xlab = "iter",
     ylab = "Error")

# 변수 중요도
importance <- xgb.importance(feature_names = colnames(trainm), model = titanic.xgb)

importance
   Feature       Gain      Cover  Frequency
    <char>      <num>      <num>      <num>
1: Sexmale 0.53265933 0.24761708 0.07331378
2: Pclass3 0.16199525 0.09080070 0.07771261
3: FamSize 0.10389248 0.06846369 0.22727273
4:     Age 0.09835220 0.22891257 0.22873900
5: Pclass1 0.06029680 0.13526143 0.06598240
6:    Fare 0.04280394 0.22894454 0.32697947
# 변수 중요도 plot
xgb.plot.importance(importance_matrix = importance) 

Result! 변수 Sexmale이 Target Survived을 분류하는 데 있어 중요하다.

17.7 모형 평가

Caution! 모형 평가를 위해 Test Dataset에 대한 예측 class/확률 이 필요하며, 함수 predict()를 이용하여 생성한다.

# "Survived = 1"에 대한 예측 확률 생성
test.xgb.prob <- predict(titanic.xgb,
                         newdata = test_matrix)        # Test Dataset including Only 예측 변수

test.xgb.prob %>%
  as_tibble
# A tibble: 266 × 1
   value
   <dbl>
 1 0.676
 2 0.442
 3 0.342
 4 0.653
 5 0.420
 6 0.342
 7 0.497
 8 0.331
 9 0.342
10 0.636
# ℹ 256 more rows


17.7.1 ConfusionMatrix

# 예측 class 생성
cv <- 0.5                                                          # Cutoff Value
test.xgb.class <- as.factor(ifelse(test.xgb.prob > cv, "1", "0"))  # 예측 확률 > cv이면 "Survived = 1" 아니면 "Survived = 0"

test.xgb.class %>%
  as_tibble
# A tibble: 266 × 1
   value
   <fct>
 1 1    
 2 0    
 3 0    
 4 1    
 5 0    
 6 0    
 7 0    
 8 0    
 9 0    
10 1    
# ℹ 256 more rows
CM   <- caret::confusionMatrix(test.xgb.class, titanic.ted.Imp$Survived, 
                               positive = "1")         # confusionMatrix(예측 class, 실제 class, positive = "관심 class")
CM
Confusion Matrix and Statistics

          Reference
Prediction   0   1
         0 156  33
         1   8  69
                                          
               Accuracy : 0.8459          
                 95% CI : (0.7968, 0.8871)
    No Information Rate : 0.6165          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.6582          
                                          
 Mcnemar's Test P-Value : 0.0001781       
                                          
            Sensitivity : 0.6765          
            Specificity : 0.9512          
         Pos Pred Value : 0.8961          
         Neg Pred Value : 0.8254          
             Prevalence : 0.3835          
         Detection Rate : 0.2594          
   Detection Prevalence : 0.2895          
      Balanced Accuracy : 0.8138          
                                          
       'Positive' Class : 1               
                                          


17.7.2 ROC 곡선

ac  <- titanic.ted.Imp$Survived                        # Test Dataset의 실제 class 
pp  <- as.numeric(test.xgb.prob)                       # 예측 확률을 수치형으로 변환

17.7.2.1 Package “pROC”

pacman::p_load("pROC")

xgb.roc  <- roc(ac, pp, plot = T, col = "gray")        # roc(실제 class, 예측 확률)
auc      <- round(auc(xgb.roc), 3)
legend("bottomright", legend = auc, bty = "n")

Caution! Package "pROC"를 통해 출력한 ROC 곡선은 다양한 함수를 이용해서 그래프를 수정할 수 있다.

# 함수 plot.roc() 이용
plot.roc(xgb.roc,   
         col="gray",                                   # Line Color
         print.auc = TRUE,                             # AUC 출력 여부
         print.auc.col = "red",                        # AUC 글씨 색깔
         print.thres = TRUE,                           # Cutoff Value 출력 여부
         print.thres.pch = 19,                         # Cutoff Value를 표시하는 도형 모양
         print.thres.col = "red",                      # Cutoff Value를 표시하는 도형의 색깔
         auc.polygon = TRUE,                           # 곡선 아래 면적에 대한 여부
         auc.polygon.col = "gray90")                   # 곡선 아래 면적의 색깔

# 함수 ggroc() 이용
ggroc(xgb.roc) +
annotate(geom = "text", x = 0.9, y = 1.0,
label = paste("AUC = ", auc),
size = 5,
color="red") +
theme_bw()

17.7.2.2 Package “Epi”

pacman::p_load("Epi")       
# install_version("etm", version = "1.1", repos = "http://cran.us.r-project.org")

ROC(pp, ac, plot = "ROC")                              # ROC(예측 확률, 실제 class)  

17.7.2.3 Package “ROCR”

pacman::p_load("ROCR")

xgb.pred <- prediction(pp, ac)                         # prediction(예측 확률, 실제 class) 

xgb.perf <- performance(xgb.pred, "tpr", "fpr")        # performance(, "민감도", "1-특이도")                      
plot(xgb.perf, col = "gray")                           # ROC Curve

perf.auc   <- performance(xgb.pred, "auc")             # AUC
auc        <- attributes(perf.auc)$y.values
legend("bottomright", legend = auc, bty = "n")


17.7.3 향상 차트

17.7.3.1 Package “ROCR”

xgb.perf <- performance(xgb.pred, "lift", "rpp")       # Lift Chart                      
plot(xgb.perf, main = "lift curve",
     colorize = T,                                     # Coloring according to cutoff 
     lwd = 2)