11  LASSO Regression

LASSO Regression의 장점


LASSO Regression의 단점


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



11.1 데이터 불러오기

pacman::p_load("data.table", 
               "tidyverse", 
               "dplyr", "tidyr",
               "ggplot2", "GGally",
               "caret",
               "glmnet")                                                # For glmnet

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

11.2 데이터 전처리 I

titanic %<>%
  data.frame() %>%                                                      # Data Frame 형태로 변환 
  mutate(Survived = ifelse(Survived == 1, "yes", "no"))                 # Target을 문자형 변수로 변환

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

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

glimpse(titanic)                                                        # 데이터 구조 확인
Rows: 891
Columns: 11
$ Survived <fct> no, yes, yes, yes, no, no, no, no, yes, yes, yes, yes, no, no, no, yes, no, yes, no, yes, no, yes, yes, yes, no, yes, no, no, yes, no, no, yes, yes, no, no, no, yes, no, no, yes, no…
$ 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> no, yes, yes, yes, no, no, no, no, yes, yes, yes, yes, no, no, no, yes, no, yes, no, yes, no, yes, yes, yes, no, yes, no, no, yes, no, no, yes, yes, no, no, no, yes, no, no, yes, no…
$ 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 %>% 
  select(Survived, Pclass, Sex, Age, Fare, FamSize)                     # 분석에 사용할 변수 선택

titanic1 %>%
  as_tibble
# A tibble: 891 × 6
   Survived Pclass Sex      Age  Fare FamSize
   <fct>    <fct>  <fct>  <dbl> <dbl>   <int>
 1 no       3      male      22  7.25       1
 2 yes      1      female    38 71.3        1
 3 yes      3      female    26  7.92       0
 4 yes      1      female    35 53.1        1
 5 no       3      male      35  8.05       0
 6 no       3      male      NA  8.46       0
 7 no       1      male      54 51.9        0
 8 no       3      male       2 21.1        4
 9 yes      3      female    27 11.1        2
10 yes      2      female    14 30.1        1
# ℹ 881 more rows

11.3 데이터 탐색

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

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

11.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

11.5 데이터 전처리 II

# 1. 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을 이용하여 결측값 대체

# 2. Standardization
preProcValues <- preProcess(titanic.trd.Imp, 
                            method = c("center", "scale"))               # Standardization 정의 -> Training Dataset에 대한 평균과 표준편차 계산 

titanic.trd.Imp <- predict(preProcValues, titanic.trd.Imp)               # Standardization for Training Dataset
titanic.ted.Imp <- predict(preProcValues, titanic.ted.Imp)               # Standardization for Test Dataset

# 3. Convert Factor Var. into Dummy Var. 
train.x <- model.matrix(Survived ~.,                                     # Survived는 Target으로 제외  
                        titanic.trd.Imp)[,-1]                            # [,-1] : 절편 제거

train.x
    Pclass2 Pclass3 Sexmale         Age         Fare     FamSize
1         0       1       1 -0.61306970 -0.517763935  0.04506631
3         0       1       0 -0.30411628 -0.504633254 -0.55421976
4         0       0       0  0.39102893  0.374149700  0.04506631
5         0       1       1  0.39102893 -0.502201647 -0.55421976
6         0       1       1  0.00000000 -0.494259044 -0.55421976
8         0       1       1 -2.15783684 -0.248828144  1.84292454
9         0       1       0 -0.22687792 -0.442222643  0.64435239
10        1       0       0 -1.23097656 -0.073834105  0.04506631
11        0       1       0 -2.00336012 -0.333934407  0.64435239
12        0       0       0  2.16751113 -0.142323735 -0.55421976
14        0       1       1  0.69998236 -0.050408971  3.04149669
15        0       1       0 -1.23097656 -0.506010517 -0.55421976
18        1       0       1  0.00000000 -0.405909990 -0.55421976
19        0       1       0  0.08207551 -0.308645689  0.04506631
20        0       1       0  0.00000000 -0.518250257 -0.55421976
21        1       0       1  0.39102893 -0.153022808 -0.55421976
24        0       0       1 -0.14963956  0.031779363 -0.55421976
25        0       1       0 -1.69440670 -0.248828144  1.84292454
27        0       1       1  0.00000000 -0.518250257 -0.55421976
28        0       0       1 -0.84478477  4.457305033  2.44221062
29        0       1       0  0.00000000 -0.505524195 -0.55421976
30        0       1       1  0.00000000 -0.505201278 -0.55421976
31        0       0       1  0.77722072 -0.119548327 -0.55421976
32        0       0       0  0.00000000  2.191451452  0.04506631
33        0       1       0  0.00000000 -0.508037505 -0.55421976
34        1       0       1  2.78541799 -0.454542140 -0.55421976
35        0       0       1 -0.14963956  0.939659905  0.04506631
36        0       0       1  0.93169743  0.352751554  0.04506631
38        0       1       1 -0.69030806 -0.502201647 -0.55421976
39        0       1       0 -0.92202313 -0.308645689  0.64435239
40        0       1       0 -1.23097656 -0.440113953  0.04506631
41        0       1       0  0.77722072 -0.474481321  0.04506631
42        1       0       0 -0.22687792 -0.250287109  0.04506631
43        0       1       1  0.00000000 -0.505201278 -0.55421976
45        0       1       0 -0.84478477 -0.505524195 -0.55421976
47        0       1       1  0.00000000 -0.357277839  0.04506631
48        0       1       0  0.00000000 -0.508037505 -0.55421976
49        0       1       1  0.00000000 -0.237074726  0.64435239
50        0       1       0 -0.92202313 -0.312536261  0.04506631
51        0       1       1 -1.77164505  0.113238214  2.44221062
53        0       0       0  1.47236593  0.833805222  0.04506631
55        0       0       1  2.70817963  0.546875535  0.04506631
56        0       0       1  0.00000000  0.031779363 -0.55421976
60        0       1       1 -1.46269163  0.253541968  3.64078277
61        0       1       1 -0.61306970 -0.518168555 -0.55421976
62        0       0       0  0.62274400  0.897431637 -0.55421976
64        0       1       1 -2.00336012 -0.116062374  2.44221062
65        0       0       1  0.00000000 -0.119548327 -0.55421976
70        0       1       1 -0.30411628 -0.490286770  0.64435239
72        0       1       0 -1.07649984  0.253541968  3.64078277
74        0       1       1 -0.30411628 -0.377621640  0.04506631
75        0       1       1  0.15931386  0.440207722 -0.55421976
76        0       1       1 -0.38135463 -0.509982791 -0.55421976
77        0       1       1  0.00000000 -0.505201278 -0.55421976
79        1       0       1 -2.24820571 -0.094664228  0.64435239
80        0       1       0  0.00483715 -0.416122741 -0.55421976
82        0       1       1 -0.07240121 -0.473995000 -0.55421976
83        0       1       0  0.00000000 -0.507308023 -0.55421976
84        0       0       1 -0.14963956  0.257432540 -0.55421976
85        1       0       0 -0.99926149 -0.454542140 -0.55421976
86        0       1       0  0.23655222 -0.350469338  1.24363847
88        0       1       1  0.00000000 -0.502201647 -0.55421976
89        0       0       0 -0.53583135  4.457305033  2.44221062
91        0       1       1 -0.07240121 -0.502201647 -0.55421976
92        0       1       1 -0.76754642 -0.506010517 -0.55421976
93        0       0       1  1.24065086  0.531231545  0.04506631
94        0       1       1 -0.30411628 -0.258554574  1.24363847
95        0       1       1  2.24474949 -0.517763935 -0.55421976
96        0       1       1  0.00000000 -0.502201647 -0.55421976
97        0       0       1  3.17160977  0.015326133 -0.55421976
103       0       0       1 -0.69030806  0.844665754  0.04506631
105       0       1       1  0.54550565 -0.504633254  0.64435239
107       0       1       0 -0.69030806 -0.509982791 -0.55421976
108       0       1       1  0.00000000 -0.507551184 -0.55421976
110       0       1       0  0.00000000 -0.189010600  0.04506631
111       0       0       1  1.31788921  0.352751554 -0.55421976
112       0       1       0 -1.19235738 -0.377621640  0.04506631
113       0       1       1 -0.61306970 -0.502201647 -0.55421976
114       0       1       0 -0.76754642 -0.467672820  0.04506631
115       0       1       0 -0.99926149 -0.377541884 -0.55421976
116       0       1       1 -0.69030806 -0.504633254 -0.55421976
117       0       1       1  3.13299059 -0.508037505 -0.55421976
119       0       0       1 -0.45859299  4.156190321  0.04506631
122       0       1       1  0.00000000 -0.502201647 -0.55421976
125       0       0       1  1.85855771  0.844665754  0.04506631
126       0       1       1 -1.38545327 -0.440113953  0.04506631
128       0       1       1 -0.45859299 -0.519870680 -0.55421976
129       0       1       0  0.00000000 -0.223864289  0.64435239
130       0       1       1  1.16341250 -0.523113472 -0.55421976
131       0       1       1  0.23655222 -0.505201278 -0.55421976
132       0       1       1 -0.76754642 -0.521654507 -0.55421976
134       1       0       0 -0.07240121 -0.153022808  0.04506631
136       1       0       1 -0.53583135 -0.366113328 -0.55421976
138       0       0       1  0.54550565  0.374149700  0.04506631
141       0       1       0  0.00000000 -0.362222756  0.64435239
142       0       1       0 -0.61306970 -0.508037505 -0.55421976
143       0       1       0 -0.45859299 -0.350469338  0.04506631
146       1       0       1 -0.84478477  0.056095438  0.64435239
147       0       1       1 -0.22687792 -0.507146564 -0.55421976
148       0       1       0 -1.61716834  0.009894895  1.84292454
149       1       0       1  0.50688647 -0.153022808  0.64435239
150       1       0       1  0.93169743 -0.405909990 -0.55421976
151       1       0       1  1.62684264 -0.415150098 -0.55421976
153       0       1       1  1.97441524 -0.502201647 -0.55421976
154       0       1       1  0.81583989 -0.376730699  0.64435239
156       0       0       1  1.62684264  0.535203819  0.04506631
157       0       1       0 -1.07649984 -0.508362368 -0.55421976
158       0       1       1  0.00483715 -0.502201647 -0.55421976
160       0       1       1  0.00000000  0.694149249  5.43864100
162       1       0       0  0.77722072 -0.352414624 -0.55421976
163       0       1       1 -0.30411628 -0.507551184 -0.55421976
164       0       1       1 -0.99926149 -0.490286770 -0.55421976
167       0       0       0  0.00000000  0.411110134  0.04506631
169       0       0       1  0.00000000 -0.154481773 -0.55421976
171       0       0       1  2.39922620 -0.007126358 -0.55421976
173       0       1       0 -2.23507519 -0.442222643  0.64435239
174       0       1       1 -0.69030806 -0.504633254 -0.55421976
176       0       1       1 -0.92202313 -0.506010517  0.64435239
179       1       0       1  0.00483715 -0.405909990 -0.55421976
180       0       1       1  0.46826729 -0.658797171 -0.55421976
181       0       1       0  0.00000000  0.694149249  5.43864100
182       1       0       1  0.00000000 -0.366031626 -0.55421976
184       1       0       1 -2.23507519  0.099864373  1.24363847
185       0       1       0 -2.00336012 -0.230347927  0.64435239
188       0       0       1  1.16341250 -0.142323735 -0.55421976
189       0       1       1  0.77722072 -0.357277839  0.64435239
190       0       1       1  0.46826729 -0.505201278 -0.55421976
191       1       0       0  0.15931386 -0.405909990 -0.55421976
192       1       0       1 -0.84478477 -0.405909990 -0.55421976
194       1       0       1 -2.08059848 -0.153022808  0.64435239
196       0       0       0  2.16751113  2.191451452 -0.55421976
197       0       1       1  0.00000000 -0.508037505 -0.55421976
198       0       1       1  0.93169743 -0.495311444  0.04506631
199       0       1       0  0.00000000 -0.508037505 -0.55421976
200       1       0       0 -0.45859299 -0.405909990 -0.55421976
202       0       1       1  0.00000000  0.694149249  5.43864100
203       0       1       1  0.31379058 -0.532435282 -0.55421976
204       0       1       1  1.20203168 -0.518250257 -0.55421976
205       0       1       1 -0.92202313 -0.502201647 -0.55421976
206       0       1       0 -2.15783684 -0.455271622  0.04506631
207       0       1       1  0.15931386 -0.350469338  0.04506631
209       0       1       0 -1.07649984 -0.508037505 -0.55421976
211       0       1       1 -0.45859299 -0.521654507 -0.55421976
212       1       0       0  0.39102893 -0.250287109 -0.55421976
213       0       1       1 -0.61306970 -0.517763935 -0.55421976
214       1       0       1  0.00483715 -0.405909990 -0.55421976
216       0       0       0  0.08207551  1.544725556  0.04506631
217       0       1       0 -0.22687792 -0.504633254 -0.55421976
218       1       0       1  0.93169743 -0.133569948  0.04506631
219       0       0       0  0.15931386  0.825294596 -0.55421976
220       1       0       1  0.00483715 -0.454542140 -0.55421976
223       0       1       1  1.62684264 -0.502201647 -0.55421976
224       0       1       1  0.00000000 -0.505201278 -0.55421976
226       0       1       1 -0.61306970 -0.476912929 -0.55421976
227       1       0       1 -0.84478477 -0.454542140 -0.55421976
229       1       0       1 -0.92202313 -0.405909990 -0.55421976
230       0       1       0  0.00000000 -0.163397019  1.84292454
232       0       1       1 -0.07240121 -0.507551184 -0.55421976
233       1       0       1  2.24474949 -0.396183559 -0.55421976
235       1       0       1 -0.45859299 -0.454542140 -0.55421976
236       0       1       0  0.00000000 -0.511928077 -0.55421976
237       1       0       1  1.08617414 -0.153022808  0.04506631
238       1       0       0 -1.69440670 -0.148159593  0.64435239
240       1       0       1  0.23655222 -0.420013313 -0.55421976
242       0       1       0  0.00000000 -0.357277839  0.04506631
243       1       0       1 -0.07240121 -0.454542140 -0.55421976
244       0       1       1 -0.61306970 -0.520195543 -0.55421976
245       0       1       1  0.00483715 -0.518250257 -0.55421976
246       0       0       1  1.08617414  1.091960238  0.64435239
247       0       1       0 -0.38135463 -0.507551184 -0.55421976
248       1       0       0 -0.45859299 -0.376730699  0.64435239
249       0       0       1  0.54550565  0.363532329  0.64435239
252       0       1       0 -0.07240121 -0.455271622  0.64435239
253       0       0       1  2.47646456 -0.142323735 -0.55421976
254       0       1       1  0.00483715 -0.345606123  0.04506631
255       0       1       0  0.85445907 -0.265606236  0.64435239
257       0       0       0  0.00000000  0.881869349 -0.55421976
258       0       0       0  0.00483715  1.023875227 -0.55421976
259       0       0       0  0.39102893  9.307471078 -0.55421976
262       0       1       1 -2.08059848 -0.048220525  3.04149669
264       0       0       1  0.77722072 -0.658797171 -0.55421976
265       0       1       0  0.00000000 -0.508037505 -0.55421976
266       1       0       1  0.46826729 -0.454542140 -0.55421976
267       0       1       1 -1.07649984  0.113238214  2.44221062
269       0       0       0  2.16751113  2.326487371  0.04506631
270       0       0       0  0.39102893  1.979658438 -0.55421976
273       1       0       0  0.85445907 -0.279466399  0.04506631
275       0       1       0  0.00000000 -0.508037505 -0.55421976
276       0       0       0  2.55370292  0.857714732  0.04506631
278       1       0       1  0.00000000 -0.658797171 -0.55421976
280       0       1       0  0.39102893 -0.264876754  0.64435239
281       0       1       1  2.70817963 -0.508037505 -0.55421976
285       0       0       1  0.00000000 -0.153022808 -0.55421976
286       0       1       1  0.23655222 -0.490286770 -0.55421976
287       0       1       1  0.00483715 -0.473995000 -0.55421976
288       0       1       1 -0.61306970 -0.505201278 -0.55421976
289       1       0       1  0.93169743 -0.405909990 -0.55421976
290       0       1       0 -0.61306970 -0.508037505 -0.55421976
291       0       0       0 -0.30411628  0.875060848 -0.55421976
292       0       0       0 -0.84478477  1.112953764  0.04506631
293       1       0       1  0.46826729 -0.408341597 -0.55421976
294       0       1       0 -0.45859299 -0.486639359 -0.55421976
296       0       0       1  0.00000000 -0.119548327 -0.55421976
297       0       1       1 -0.49721217 -0.518168555 -0.55421976
298       0       0       0 -2.15783684  2.289283776  1.24363847
299       0       0       1  0.00000000 -0.065484938 -0.55421976
300       0       0       0  1.54960428  4.156190321  0.04506631
302       0       1       1  0.00000000 -0.206518174  0.64435239
303       0       1       1 -0.84478477 -0.658797171 -0.55421976
304       1       0       0  0.00000000 -0.418554349 -0.55421976
305       0       1       1  0.00000000 -0.502201647 -0.55421976
306       0       0       1 -2.24125426  2.289283776  1.24363847
307       0       0       0  0.00000000  1.498200151 -0.55421976
309       1       0       1  0.00483715 -0.191928529  0.04506631
311       0       0       0 -0.45859299  0.958869605 -0.55421976
315       1       0       1  1.00893579 -0.148159593  0.64435239
316       0       1       0 -0.30411628 -0.506010517 -0.55421976
317       1       0       0 -0.45859299 -0.153022808  0.04506631
319       0       0       0  0.08207551  2.548331678  0.64435239
320       0       0       0  0.77722072  1.957612512  0.64435239
322       0       1       1 -0.22687792 -0.505201278 -0.55421976
323       1       0       0  0.00483715 -0.418554349 -0.55421976
324       1       0       0 -0.61306970 -0.094664228  0.64435239
325       0       1       1  0.00000000  0.694149249  5.43864100
327       0       1       1  2.39922620 -0.537459956 -0.55421976
329       0       1       0  0.08207551 -0.259527217  0.64435239
330       0       0       0 -1.07649984  0.469064095  0.04506631
331       0       1       0  0.00000000 -0.206518174  0.64435239
332       0       0       1  1.20203168 -0.104390658 -0.55421976
335       0       0       0  0.00000000  1.941077581  0.04506631
336       0       1       1  0.00000000 -0.505201278 -0.55421976
337       0       0       1 -0.07240121  0.636763311  0.04506631
339       0       1       1  1.16341250 -0.502201647 -0.55421976
340       0       0       1  1.16341250  0.031779363 -0.55421976
341       1       0       1 -2.15783684 -0.153022808  0.64435239
342       0       0       0 -0.45859299  4.457305033  2.44221062
343       1       0       1 -0.14963956 -0.405909990 -0.55421976
345       1       0       1  0.46826729 -0.405909990 -0.55421976
346       1       0       0 -0.45859299 -0.405909990 -0.55421976
348       0       1       0  0.00000000 -0.345606123  0.04506631
349       0       1       1 -2.08059848 -0.349496695  0.64435239
350       0       1       1  0.93169743 -0.490286770 -0.55421976
352       0       0       1  0.00000000  0.022052932 -0.55421976
353       0       1       1 -1.15373820 -0.518168555  0.64435239
354       0       1       1 -0.38135463 -0.312536261  0.04506631
355       0       1       1  0.00000000 -0.518250257 -0.55421976
356       0       1       1 -0.14963956 -0.473995000 -0.55421976
357       0       0       0 -0.61306970  0.411110134  0.04506631
360       0       1       0  0.00000000 -0.505524195 -0.55421976
361       0       1       1  0.77722072 -0.116062374  2.44221062
362       1       0       1 -0.07240121 -0.119548327  0.04506631
363       0       1       0  1.16341250 -0.377621640  0.04506631
365       0       1       1  0.00000000 -0.357277839  0.04506631
366       0       1       1  0.00483715 -0.517763935 -0.55421976
367       0       0       0  2.32198785  0.805030551  0.04506631
368       0       1       0  0.00000000 -0.518168555 -0.55421976
370       0       0       0 -0.45859299  0.689286034 -0.55421976
371       0       0       1 -0.38135463  0.419702463  0.04506631
372       0       1       1 -0.92202313 -0.532435282  0.04506631
373       0       1       1 -0.84478477 -0.502201647 -0.55421976
374       0       0       1 -0.61306970  1.979658438 -0.55421976
376       0       0       0  0.00000000  0.939659905  0.04506631
377       0       1       0 -0.61306970 -0.517763935 -0.55421976
379       0       1       1 -0.76754642 -0.580742570 -0.55421976
381       0       0       0  0.93169743  3.767214822 -0.55421976
382       0       1       0 -2.23507519 -0.352576083  0.64435239
383       0       1       1  0.15931386 -0.504633254 -0.55421976
384       0       0       0  0.39102893  0.352751554  0.04506631
385       0       1       1  0.00000000 -0.505201278 -0.55421976
386       1       0       1 -0.92202313  0.770988046 -0.55421976
387       0       1       1 -2.23507519  0.253541968  3.64078277
388       1       0       0  0.46826729 -0.405909990 -0.55421976
389       0       1       1  0.00000000 -0.508442125 -0.55421976
390       1       0       0 -0.99926149 -0.425362850 -0.55421976
391       0       0       1  0.46826729  1.675546040  1.24363847
392       0       1       1 -0.69030806 -0.507146564 -0.55421976
393       0       1       1 -0.14963956 -0.504633254  0.64435239
394       0       0       0 -0.53583135  1.544725556  0.04506631
395       0       1       0 -0.45859299 -0.333934407  0.64435239
396       0       1       1 -0.61306970 -0.507146564 -0.55421976
397       0       1       0  0.08207551 -0.506010517 -0.55421976
398       1       0       1  1.24065086 -0.153022808 -0.55421976
399       1       0       1 -0.53583135 -0.454542140 -0.55421976
401       0       1       1  0.69998236 -0.504633254 -0.55421976
402       0       1       1 -0.30411628 -0.502201647 -0.55421976
404       0       1       1 -0.14963956 -0.350469338  0.04506631
405       0       1       0 -0.76754642 -0.490286770 -0.55421976
406       1       0       1  0.31379058 -0.250287109  0.04506631
407       0       1       1  1.62684264 -0.508037505 -0.55421976
408       1       0       1 -2.08059848 -0.294056044  0.64435239
410       0       1       0  0.00000000 -0.163397019  1.84292454
411       0       1       1  0.00000000 -0.505201278 -0.55421976
414       1       0       1  0.00000000 -0.658797171 -0.55421976
417       1       0       0  0.31379058 -0.026579218  0.64435239
421       0       1       1  0.00000000 -0.505201278 -0.55421976
422       0       1       1 -0.69030806 -0.508362368 -0.55421976
423       0       1       1 -0.07240121 -0.505605898 -0.55421976
425       0       1       1 -0.92202313 -0.265606236  0.64435239
426       0       1       1  0.00000000 -0.517763935 -0.55421976
428       1       0       0 -0.84478477 -0.153022808 -0.55421976
429       0       1       1  0.00000000 -0.508037505 -0.55421976
431       0       0       1 -0.14963956 -0.142323735 -0.55421976
432       0       1       0  0.00000000 -0.345606123  0.04506631
433       1       0       0  0.93169743 -0.153022808  0.04506631
434       0       1       1 -0.99926149 -0.520195543 -0.55421976
435       0       0       1  1.54960428  0.428617708  0.04506631
437       0       1       0 -0.69030806  0.009894895  1.84292454
438       1       0       0 -0.45859299 -0.294056044  2.44221062
439       0       0       1  2.63094127  4.457305033  2.44221062
443       0       1       1 -0.38135463 -0.507551184  0.04506631
444       1       0       0 -0.14963956 -0.405909990 -0.55421976
446       0       0       1 -2.00336012  0.933580887  0.64435239
449       0       1       0 -1.92612177 -0.284168155  1.24363847
451       1       0       1  0.46826729 -0.118980303  1.24363847
453       0       0       1  0.00483715 -0.118980303 -0.55421976
454       0       0       1  1.47236593  1.074534365  0.04506631
456       0       1       1 -0.07240121 -0.505201278 -0.55421976
459       1       0       0  1.54960428 -0.454542140 -0.55421976
460       0       1       1  0.00000000 -0.508037505 -0.55421976
461       0       0       1  1.39512757 -0.142323735 -0.55421976
463       0       0       1  1.31788921  0.090137943 -0.55421976
464       1       0       1  1.39512757 -0.405909990 -0.55421976
465       0       1       1  0.00000000 -0.502201647 -0.55421976
466       0       1       1  0.62274400 -0.521654507 -0.55421976
468       0       0       1  2.01303442 -0.142323735 -0.55421976
470       0       1       0 -2.25438478 -0.284168155  1.24363847
471       0       1       1  0.00000000 -0.517763935 -0.55421976
472       0       1       1  0.62274400 -0.490286770 -0.55421976
474       1       0       0 -0.53583135 -0.390509160 -0.55421976
475       0       1       0 -0.61306970 -0.467429660 -0.55421976
479       0       1       1 -0.61306970 -0.512496101 -0.55421976
480       0       1       0 -2.15783684 -0.419770152  0.04506631
481       0       1       1 -1.61716834  0.253541968  3.64078277
484       0       1       0  2.55370292 -0.472292875 -0.55421976
485       0       0       1 -0.38135463  1.112953764  0.04506631
486       0       1       0  0.00000000 -0.163397019  1.84292454
487       0       0       0  0.39102893  1.091960238  0.04506631
489       0       1       1  0.00483715 -0.502201647 -0.55421976
491       0       1       1  0.00000000 -0.270387749  0.04506631
493       0       0       1  1.93579607 -0.065484938 -0.55421976
494       0       0       1  3.17160977  0.304201106 -0.55421976
497       0       0       0  1.85855771  0.863713994  0.04506631
498       0       1       1  0.00000000 -0.365058983 -0.55421976
499       0       0       0 -0.38135463  2.289283776  1.24363847
500       0       1       1 -0.45859299 -0.507146564 -0.55421976
501       0       1       1 -0.99926149 -0.490286770 -0.55421976
502       0       1       0 -0.69030806 -0.508037505 -0.55421976
503       0       1       0  0.00000000 -0.510387411 -0.55421976
504       0       1       0  0.54550565 -0.472292875 -0.55421976
505       0       0       0 -1.07649984  1.023875227 -0.55421976
506       0       0       1 -0.92202313  1.459619293  0.04506631
507       1       0       0  0.23655222 -0.153022808  0.64435239
508       0       0       1  0.00000000 -0.142323735 -0.55421976
509       0       1       1 -0.14963956 -0.220621497 -0.55421976
511       0       1       1 -0.07240121 -0.508037505 -0.55421976
512       0       1       1  0.00000000 -0.502201647 -0.55421976
513       0       0       1  0.46826729 -0.147430111 -0.55421976
514       0       0       0  1.85855771  0.496702719  0.04506631
516       0       0       1  1.31788921  0.003004692 -0.55421976
517       1       0       0  0.31379058 -0.454542140 -0.55421976
518       0       1       1  0.00000000 -0.189010600 -0.55421976
519       1       0       0  0.46826729 -0.153022808  0.04506631
521       0       0       0  0.00483715  1.160045248 -0.55421976
522       0       1       1 -0.61306970 -0.505201278 -0.55421976
524       0       0       0  1.08617414  0.469064095  0.04506631
526       0       1       1  0.81583989 -0.508037505 -0.55421976
528       0       0       1  0.00000000  3.655442578 -0.55421976
530       1       0       1 -0.53583135 -0.435089280  1.24363847
532       0       1       1  0.00000000 -0.518168555 -0.55421976
533       0       1       1 -0.99926149 -0.518168555  0.64435239
535       0       1       0  0.00483715 -0.490286770 -0.55421976
536       1       0       0 -1.77164505 -0.148159593  0.64435239
537       0       0       1  1.16341250 -0.142323735 -0.55421976
538       0       0       0  0.00483715  1.411473465 -0.55421976
541       0       0       0  0.46826729  0.722355896  0.64435239
542       0       1       0 -1.61716834 -0.050408971  3.04149669
543       0       1       0 -1.46269163 -0.050408971  3.04149669
544       1       0       1  0.15931386 -0.153022808  0.04506631
545       0       0       1  1.54960428  1.411473465  0.04506631
546       0       0       1  2.63094127 -0.153022808 -0.55421976
547       1       0       0 -0.84478477 -0.153022808  0.04506631
548       1       0       1  0.00000000 -0.389131898 -0.55421976
549       0       1       1  0.23655222 -0.259527217  0.64435239
552       1       0       1 -0.22687792 -0.153022808 -0.55421976
553       0       1       1  0.00000000 -0.506496838 -0.55421976
555       0       1       0 -0.61306970 -0.507551184 -0.55421976
556       0       0       1  2.47646456 -0.142323735 -0.55421976
557       0       0       0  1.39512757  0.111536089  0.04506631
558       0       0       1  0.00000000  3.767214822 -0.55421976
559       0       0       0  0.69998236  0.890623136  0.64435239
560       0       1       0  0.46826729 -0.320317405  0.04506631
561       0       1       1  0.00000000 -0.508037505 -0.55421976
563       1       0       1 -0.14963956 -0.396183559 -0.55421976
564       0       1       1  0.00000000 -0.502201647 -0.55421976
565       0       1       0  0.00000000 -0.502201647 -0.55421976
567       0       1       1 -0.84478477 -0.505201278 -0.55421976
568       0       1       0 -0.07240121 -0.248828144  1.84292454
569       0       1       1  0.00000000 -0.518168555 -0.55421976
570       0       1       1  0.15931386 -0.506010517 -0.55421976
573       0       0       1  0.46826729 -0.145484825 -0.55421976
575       0       1       1 -1.07649984 -0.502201647 -0.55421976
576       0       1       1 -0.84478477 -0.376730699 -0.55421976
577       1       0       0  0.31379058 -0.405909990 -0.55421976
578       0       0       0  0.69998236  0.428617708  0.04506631
579       0       1       0  0.00000000 -0.377541884  0.04506631
580       0       1       1  0.15931386 -0.504633254 -0.55421976
581       1       0       0 -0.38135463 -0.075211368  0.64435239
584       0       0       1  0.46826729  0.121748840 -0.55421976
585       0       1       1  0.00000000 -0.489314127 -0.55421976
587       1       0       1  1.31788921 -0.367004269 -0.55421976
588       0       0       1  2.32198785  0.881869349  0.64435239
590       0       1       1  0.00000000 -0.502201647 -0.55421976
591       0       1       1  0.39102893 -0.520195543 -0.55421976
592       0       0       0  1.70408100  0.863713994  0.04506631
593       0       1       1  1.31788921 -0.517763935 -0.55421976
594       0       1       0  0.00000000 -0.508037505  0.64435239
595       1       0       1  0.54550565 -0.153022808  0.04506631
596       0       1       1  0.46826729 -0.189010600  0.64435239
597       1       0       0  0.00000000 -0.016852788 -0.55421976
598       0       1       1  1.47236593 -0.658797171 -0.55421976
600       0       0       1  1.47236593  0.448638592  0.04506631
601       1       0       0 -0.45859299 -0.133569948  1.24363847
603       0       0       1  0.00000000  0.166004097 -0.55421976
605       0       0       1  0.39102893 -0.142323735 -0.55421976
606       0       1       1  0.46826729 -0.356305196  0.04506631
608       0       0       1 -0.22687792 -0.065484938 -0.55421976
609       1       0       0 -0.61306970  0.150037190  1.24363847
610       0       0       0  0.77722072  2.326487371 -0.55421976
611       0       1       0  0.69998236 -0.050408971  3.04149669
612       0       1       1  0.00000000 -0.521654507 -0.55421976
613       0       1       0  0.00000000 -0.357277839  0.04506631
614       0       1       1  0.00000000 -0.508037505 -0.55421976
615       0       1       1  0.39102893 -0.502201647 -0.55421976
616       1       0       0 -0.45859299  0.605638735  1.24363847
617       0       1       1  0.31379058 -0.378675985  0.64435239
618       0       1       0 -0.30411628 -0.345606123  0.04506631
619       1       0       0 -2.00336012  0.099864373  1.24363847
621       0       1       1 -0.22687792 -0.377621640  0.04506631
622       0       0       1  0.93169743  0.363532329  0.04506631
623       0       1       1 -0.76754642 -0.352576083  0.64435239
624       0       1       1 -0.69030806 -0.506010517 -0.55421976
625       0       1       1 -0.69030806 -0.345606123 -0.55421976
626       0       0       1  2.39922620 -0.030065170 -0.55421976
627       1       0       1  2.09027278 -0.418554349 -0.55421976
631       0       0       1  3.86675498 -0.075211368 -0.55421976
633       0       0       1  0.15931386 -0.065484938 -0.55421976
634       0       0       1  0.00000000 -0.658797171 -0.55421976
635       0       1       0 -1.61716834 -0.116062374  2.44221062
637       0       1       1  0.15931386 -0.504633254 -0.55421976
638       1       0       1  0.08207551 -0.148159593  0.64435239
639       0       1       0  0.85445907  0.113238214  2.44221062
640       0       1       1  0.00000000 -0.345606123  0.04506631
641       0       1       1 -0.76754642 -0.506010517 -0.55421976
642       0       0       0 -0.45859299  0.689286034 -0.55421976
644       0       1       1  0.00000000  0.440207722 -0.55421976
645       0       1       0 -2.25438478 -0.284168155  1.24363847
646       0       0       1  1.39512757  0.833805222  0.04506631
647       0       1       1 -0.84478477 -0.505201278 -0.55421976
648       0       0       1  2.01303442  0.031779363 -0.55421976
649       0       1       1  0.00000000 -0.511928077 -0.55421976
650       0       1       0 -0.53583135 -0.511928077 -0.55421976
651       0       1       1  0.00000000 -0.505201278 -0.55421976
654       0       1       0  0.00000000 -0.506496838 -0.55421976
655       0       1       0 -0.92202313 -0.527490365 -0.55421976
656       1       0       1 -0.45859299  0.770988046  0.64435239
658       0       1       0  0.15931386 -0.357277839  0.64435239
659       1       0       1 -0.53583135 -0.405909990 -0.55421976
661       0       0       1  1.54960428  1.941077581  0.64435239
662       0       1       1  0.77722072 -0.518250257 -0.55421976
663       0       0       1  1.31788921 -0.161047113 -0.55421976
667       1       0       1 -0.38135463 -0.405909990 -0.55421976
668       0       1       1  0.00000000 -0.507551184 -0.55421976
670       0       0       0  0.00000000  0.352751554  0.04506631
671       1       0       0  0.77722072  0.099864373  0.64435239
674       1       0       1  0.08207551 -0.405909990 -0.55421976
677       0       1       1 -0.41997381 -0.502201647 -0.55421976
678       0       1       0 -0.92202313 -0.467347958 -0.55421976
679       0       1       0  1.00893579  0.253541968  3.64078277
681       0       1       0  0.00000000 -0.500499522 -0.55421976
682       0       0       1 -0.22687792  0.833805222 -0.55421976
683       0       1       1 -0.76754642 -0.479344536 -0.55421976
687       0       1       1 -1.23097656  0.113238214  2.44221062
689       0       1       1 -0.92202313 -0.507146564 -0.55421976
690       0       0       0 -1.15373820  3.452321649  0.04506631
691       0       0       1  0.08207551  0.450015854  0.04506631
692       0       1       0 -2.00336012 -0.397803983  0.04506631
693       0       1       1  0.00000000  0.440207722 -0.55421976
694       0       1       1 -0.38135463 -0.518250257 -0.55421976
695       0       0       1  2.32198785 -0.142323735 -0.55421976
699       0       0       1  1.47236593  1.498200151  0.64435239
701       0       0       0 -0.92202313  3.767214822  0.04506631
702       0       0       1  0.39102893 -0.147430111 -0.55421976
703       0       1       0 -0.92202313 -0.377621640  0.04506631
704       0       1       1 -0.38135463 -0.508198964 -0.55421976
705       0       1       1 -0.30411628 -0.506010517  0.04506631
708       0       0       1  0.93169743 -0.147430111 -0.55421976
709       0       0       0 -0.61306970  2.289283776 -0.55421976
710       0       1       1  0.00000000 -0.362222756  0.64435239
712       0       0       1  0.00000000 -0.142323735 -0.55421976
713       0       0       1  1.39512757  0.352751554  0.04506631
714       0       1       1 -0.07240121 -0.474319863 -0.55421976
716       0       1       1 -0.84478477 -0.509982791 -0.55421976
717       0       0       0  0.62274400  3.767214822 -0.55421976
718       1       0       0 -0.22687792 -0.454542140 -0.55421976
719       0       1       1  0.00000000 -0.357277839 -0.55421976
720       0       1       1  0.23655222 -0.507551184 -0.55421976
721       1       0       0 -1.84888341 -0.016852788  0.04506631
723       1       0       1  0.31379058 -0.405909990 -0.55421976
725       0       0       1 -0.22687792  0.374149700  0.04506631
726       0       1       1 -0.76754642 -0.490286770 -0.55421976
728       0       1       0  0.00000000 -0.508280666 -0.55421976
729       1       0       1 -0.38135463 -0.153022808  0.04506631
730       0       1       0 -0.38135463 -0.504633254  0.04506631
732       0       1       1 -1.46269163 -0.293326562 -0.55421976
735       1       0       1 -0.53583135 -0.405909990 -0.55421976
736       0       1       1 -0.11102039 -0.345606123 -0.55421976
737       0       1       0  1.39512757  0.009894895  1.84292454
738       0       0       1  0.39102893  9.307471078 -0.55421976
739       0       1       1  0.00000000 -0.505201278 -0.55421976
740       0       1       1  0.00000000 -0.505201278 -0.55421976
742       0       0       1  0.46826729  0.875060848  0.04506631
743       0       0       0 -0.69030806  4.445146996  1.84292454
744       0       1       1 -0.45859299 -0.345606123  0.04506631
745       0       1       1  0.08207551 -0.504633254 -0.55421976
749       0       0       1 -0.84478477  0.374149700  0.04506631
750       0       1       1  0.08207551 -0.508037505 -0.55421976
752       0       1       1 -1.84888341 -0.416122741  0.04506631
753       0       1       1  0.23655222 -0.473995000 -0.55421976
754       0       1       1 -0.53583135 -0.505201278 -0.55421976
755       1       0       0  1.39512757  0.605638735  1.24363847
757       0       1       1 -0.14963956 -0.507146564 -0.55421976
759       0       1       1  0.31379058 -0.502201647 -0.55421976
760       0       0       0  0.23655222  1.023875227 -0.55421976
762       0       1       1  0.85445907 -0.520195543 -0.55421976
763       0       1       1 -0.76754642 -0.518168555 -0.55421976
764       0       0       0  0.46826729  1.675546040  1.24363847
766       0       0       0  1.62684264  0.857714732  0.04506631
767       0       0       1  0.00000000  0.111536089 -0.55421976
768       0       1       0  0.04345633 -0.508037505 -0.55421976
769       0       1       1  0.00000000 -0.189010600  0.04506631
770       0       1       1  0.15931386 -0.496122628 -0.55421976
771       0       1       1 -0.45859299 -0.473995000 -0.55421976
773       1       0       0  2.09027278 -0.454542140 -0.55421976
774       0       1       1  0.00000000 -0.518250257 -0.55421976
777       0       1       1  0.00000000 -0.508037505 -0.55421976
778       0       1       0 -1.92612177 -0.416122741 -0.55421976
780       0       0       0  1.00893579  3.452321649  0.04506631
781       0       1       0 -1.30821491 -0.518168555 -0.55421976
782       0       0       0 -0.99926149  0.450015854  0.04506631
783       0       0       1 -0.07240121 -0.075211368 -0.55421976
784       0       1       1  0.00000000 -0.202627602  1.24363847
786       0       1       1 -0.38135463 -0.517763935 -0.55421976
789       0       1       1 -2.23507519 -0.258554574  1.24363847
790       0       0       1  1.24065086  0.881869349 -0.55421976
791       0       1       1  0.00000000 -0.508037505 -0.55421976
792       1       0       1 -1.07649984 -0.153022808 -0.55421976
793       0       1       0  0.00000000  0.694149249  5.43864100
794       0       0       1  0.00000000 -0.061676068 -0.55421976
795       0       1       1 -0.38135463 -0.505201278 -0.55421976
796       1       0       1  0.69998236 -0.405909990 -0.55421976
797       0       0       0  1.47236593 -0.154400071 -0.55421976
799       0       1       1  0.00483715 -0.518168555 -0.55421976
800       0       1       0  0.00483715 -0.189010600  0.64435239
801       1       0       1  0.31379058 -0.405909990 -0.55421976
803       0       0       1 -1.46269163  1.675546040  1.24363847
804       0       1       1 -2.27987344 -0.493122997  0.04506631
806       0       1       1  0.08207551 -0.507551184 -0.55421976
808       0       1       0 -0.92202313 -0.507551184 -0.55421976
811       0       1       1 -0.30411628 -0.505362737 -0.55421976
812       0       1       1  0.69998236 -0.189010600 -0.55421976
813       1       0       1  0.39102893 -0.454542140 -0.55421976
815       0       1       1  0.04345633 -0.502201647 -0.55421976
816       0       0       1  0.00000000 -0.658797171 -0.55421976
817       0       1       0 -0.53583135 -0.504633254 -0.55421976
819       0       1       1  1.00893579 -0.533326223 -0.55421976
822       0       1       1 -0.22687792 -0.490286770 -0.55421976
823       0       0       1  0.62274400 -0.658797171 -0.55421976
824       0       1       0 -0.22687792 -0.416122741  0.04506631
825       0       1       1 -2.15783684  0.113238214  2.44221062
826       0       1       1  0.00000000 -0.523599793 -0.55421976
827       0       1       1  0.00000000  0.440207722 -0.55421976
828       1       0       1 -2.23507519  0.061040355  0.64435239
831       0       1       0 -1.15373820 -0.377621640  0.04506631
832       1       0       1 -2.24820571 -0.294056044  0.64435239
833       0       1       1  0.00000000 -0.518168555 -0.55421976
835       0       1       1 -0.92202313 -0.497338432 -0.55421976
836       0       0       0  0.69998236  0.958869605  0.64435239
838       0       1       1  0.00000000 -0.502201647 -0.55421976
840       0       0       1  0.00000000 -0.081047226 -0.55421976
843       0       0       0  0.00483715 -0.055758508 -0.55421976
845       0       1       1 -0.99926149 -0.490286770 -0.55421976
846       0       1       1  0.93169743 -0.511928077 -0.55421976
847       0       1       1  0.00000000  0.694149249  5.43864100
849       1       0       1 -0.14963956 -0.016852788  0.04506631
850       0       0       0  0.00000000  1.074534365  0.04506631
851       0       1       1 -2.00336012 -0.050408971  3.04149669
852       0       1       1  3.40332484 -0.507551184 -0.55421976
853       0       1       0 -1.61716834 -0.362222756  0.64435239
855       1       0       0  1.08617414 -0.153022808  0.04506631
856       0       1       0 -0.92202313 -0.476912929  0.04506631
857       0       0       0  1.16341250  2.548331678  0.64435239
858       0       0       1  1.62684264 -0.142323735 -0.55421976
859       0       1       0 -0.45859299 -0.284168155  1.24363847
860       0       1       1  0.00000000 -0.518168555 -0.55421976
861       0       1       1  0.85445907 -0.384350385  0.64435239
862       1       0       1 -0.69030806 -0.435089280  0.04506631
864       0       1       0  0.00000000  0.694149249  5.43864100
865       1       0       1 -0.45859299 -0.405909990 -0.55421976
867       1       0       0 -0.22687792 -0.389213600  0.04506631
868       0       0       1  0.08207551  0.323490562 -0.55421976
871       0       1       1 -0.30411628 -0.505201278 -0.55421976
872       0       0       0  1.31788921  0.363532329  0.64435239
874       0       1       1  1.31788921 -0.483721430 -0.55421976
877       0       1       1 -0.76754642 -0.467268201 -0.55421976
878       0       1       1 -0.84478477 -0.505201278 -0.55421976
879       0       1       1  0.00000000 -0.505201278 -0.55421976
880       0       0       0  2.01303442  0.958869605  0.04506631
881       1       0       0 -0.38135463 -0.153022808  0.04506631
882       0       1       1  0.23655222 -0.505201278 -0.55421976
883       0       1       0 -0.61306970 -0.454217277 -0.55421976
885       0       1       1 -0.38135463 -0.521654507 -0.55421976
886       0       1       0  0.69998236 -0.092232621  2.44221062
887       1       0       1 -0.22687792 -0.405909990 -0.55421976
888       0       0       0 -0.84478477 -0.075211368 -0.55421976
889       0       1       0  0.00000000 -0.202627602  1.24363847
test.x <- model.matrix(Survived ~.,                                      # Survived는 Target으로 제외  
                       titanic.ted.Imp)[,-1]                             # [,-1] : 절편 제거

test.x
    Pclass2 Pclass3 Sexmale         Age         Fare     FamSize
2         0       0       0  0.62274400  0.727866891  0.04506631
7         0       0       1  1.85855771  0.350076786 -0.55421976
13        0       1       1 -0.76754642 -0.502201647 -0.55421976
16        1       0       0  1.93579607 -0.347551409 -0.55421976
17        0       1       1 -2.15783684 -0.092232621  2.44221062
22        1       0       1  0.31379058 -0.405909990 -0.55421976
23        0       1       0 -1.15373820 -0.502606266 -0.55421976
26        0       1       0  0.62274400 -0.048220525  3.04149669
37        0       1       1  0.00000000 -0.518168555 -0.55421976
44        1       0       0 -2.08059848  0.150037190  1.24363847
46        0       1       1  0.00000000 -0.502201647 -0.55421976
52        0       1       1 -0.69030806 -0.507064862 -0.55421976
54        1       0       0 -0.07240121 -0.153022808  0.04506631
57        1       0       0 -0.69030806 -0.454542140 -0.55421976
58        0       1       1 -0.11102039 -0.518168555 -0.55421976
59        1       0       0 -1.92612177 -0.118980303  1.24363847
63        0       0       1  1.16341250  0.965030325  0.04506631
66        0       1       1  0.00000000 -0.362222756  0.64435239
67        1       0       0 -0.07240121 -0.454542140 -0.55421976
68        0       1       1 -0.84478477 -0.500094902 -0.55421976
69        0       1       0 -0.99926149 -0.504633254  3.04149669
71        1       0       1  0.15931386 -0.454542140 -0.55421976
73        1       0       1 -0.69030806  0.770988046 -0.55421976
78        0       1       1  0.00000000 -0.502201647 -0.55421976
81        0       1       1 -0.61306970 -0.483721430 -0.55421976
87        0       1       1 -1.07649984  0.009894895  1.84292454
90        0       1       1 -0.45859299 -0.502201647 -0.55421976
98        0       0       1 -0.53583135  0.573702975  0.04506631
99        1       0       0  0.31379058 -0.211381389  0.04506631
100       1       0       1  0.31379058 -0.153022808  0.04506631
101       0       1       0 -0.14963956 -0.505201278 -0.55421976
102       0       1       1  0.00000000 -0.505201278 -0.55421976
104       0       1       1  0.23655222 -0.490448229 -0.55421976
106       0       1       1 -0.14963956 -0.505201278 -0.55421976
109       0       1       1  0.62274400 -0.505201278 -0.55421976
118       1       0       1 -0.07240121 -0.250287109  0.04506631
120       0       1       0 -2.15783684 -0.050408971  3.04149669
121       1       0       1 -0.69030806  0.770988046  0.64435239
123       1       0       1  0.19793304 -0.073834105  0.04506631
124       1       0       0  0.19793304 -0.405909990 -0.55421976
127       0       1       1  0.00000000 -0.508037505 -0.55421976
133       0       1       0  1.31788921 -0.376730699  0.04506631
135       1       0       1 -0.38135463 -0.405909990 -0.55421976
137       0       0       0 -0.84478477 -0.147511813  0.64435239
139       0       1       1 -1.07649984 -0.479505995 -0.55421976
140       0       0       1 -0.45859299  0.881869349 -0.55421976
144       0       1       1 -0.84478477 -0.527490365 -0.55421976
145       1       0       1 -0.92202313 -0.435089280 -0.55421976
152       0       0       0 -0.61306970  0.636763311  0.04506631
155       0       1       1  0.00000000 -0.516548131 -0.55421976
159       0       1       1  0.00000000 -0.490286770 -0.55421976
161       0       1       1  1.08617414 -0.345606123  0.04506631
165       0       1       1 -2.23507519  0.113238214  2.44221062
166       0       1       1 -1.61716834 -0.259527217  0.64435239
168       0       1       0  1.16341250 -0.116062374  2.44221062
170       0       1       1 -0.14963956  0.440207722 -0.55421976
172       0       1       1 -2.00336012 -0.092232621  2.44221062
175       0       0       1  2.01303442 -0.061676068 -0.55421976
177       0       1       1  0.00000000 -0.163397019  1.84292454
178       0       0       0  1.54960428 -0.100256925 -0.55421976
183       0       1       1 -1.61716834 -0.048220525  3.04149669
186       0       0       1  0.00000000  0.313845834 -0.55421976
187       0       1       0  0.00000000 -0.357277839  0.04506631
193       0       1       0 -0.84478477 -0.506010517  0.04506631
195       0       0       0  1.08617414 -0.119548327 -0.55421976
201       0       1       1 -0.14963956 -0.473995000 -0.55421976
208       0       1       1 -0.30411628 -0.293326562 -0.55421976
210       0       0       1  0.77722072 -0.055758508 -0.55421976
215       0       1       1  0.00000000 -0.508037505  0.04506631
221       0       1       1 -1.07649984 -0.502201647 -0.55421976
222       1       0       1 -0.22687792 -0.405909990 -0.55421976
225       0       0       1  0.62274400  1.091960238  0.04506631
228       0       1       1 -0.72892724 -0.517763935 -0.55421976
231       0       0       0  0.39102893  0.965030325  0.04506631
234       0       1       0 -1.92612177 -0.048220525  3.04149669
239       1       0       1 -0.84478477 -0.454542140 -0.55421976
241       0       1       0  0.00000000 -0.377621640  0.04506631
250       1       0       1  1.85855771 -0.153022808  0.04506631
251       0       1       1  0.00000000 -0.517763935 -0.55421976
256       0       1       0 -0.07240121 -0.362222756  0.64435239
260       1       0       0  1.54960428 -0.153022808  0.04506631
261       0       1       1  0.00000000 -0.508037505 -0.55421976
263       0       0       1  1.70408100  0.890623136  0.64435239
268       0       1       1 -0.38135463 -0.507551184  0.04506631
271       0       0       1  0.00000000 -0.055758508 -0.55421976
272       0       1       1 -0.38135463 -0.658797171 -0.55421976
274       0       0       1  0.54550565 -0.081047226  0.04506631
277       0       1       0  1.16341250 -0.508037505 -0.55421976
279       0       1       1 -1.77164505 -0.092232621  2.44221062
282       0       1       1 -0.14963956 -0.506010517 -0.55421976
283       0       1       1 -1.07649984 -0.473995000 -0.55421976
284       0       1       1 -0.84478477 -0.502201647 -0.55421976
295       0       1       1 -0.45859299 -0.505201278 -0.55421976
301       0       1       0  0.00000000 -0.508037505 -0.55421976
308       0       0       0 -0.99926149  1.459619293  0.04506631
310       0       0       0  0.00483715  0.448638592 -0.55421976
312       0       0       0 -0.92202313  4.445146996  1.84292454
313       1       0       0 -0.30411628 -0.153022808  0.64435239
314       0       1       1 -0.14963956 -0.505201278 -0.55421976
318       1       0       1  1.85855771 -0.386457129 -0.55421976
321       0       1       1 -0.61306970 -0.517763935 -0.55421976
326       0       0       0  0.46826729  1.979658438 -0.55421976
328       1       0       0  0.46826729 -0.405909990 -0.55421976
333       0       0       1  0.62274400  2.326487371  0.04506631
334       0       1       1 -1.07649984 -0.308645689  0.64435239
338       0       0       0  0.85445907  1.957612512 -0.55421976
344       1       0       1 -0.38135463 -0.405909990 -0.55421976
347       1       0       0  0.77722072 -0.405909990 -0.55421976
351       0       1       1 -0.53583135 -0.479344536 -0.55421976
358       1       0       0  0.62274400 -0.405909990 -0.55421976
359       0       1       0  0.00000000 -0.505524195 -0.55421976
364       0       1       1  0.39102893 -0.521654507 -0.55421976
369       0       1       0  0.00000000 -0.508037505 -0.55421976
375       0       1       0 -2.08059848 -0.248828144  1.84292454
378       0       0       1 -0.22687792  3.455482739  0.64435239
380       0       1       1 -0.84478477 -0.507551184 -0.55421976
400       1       0       0 -0.14963956 -0.412718491 -0.55421976
403       0       1       0 -0.69030806 -0.467672820  0.04506631
409       0       1       1 -0.69030806 -0.507551184 -0.55421976
412       0       1       1  0.00000000 -0.525383620 -0.55421976
413       0       0       0  0.23655222  1.091960238  0.04506631
415       0       1       1  1.08617414 -0.504633254 -0.55421976
416       0       1       0  0.00000000 -0.502201647 -0.55421976
418       1       0       0 -0.92202313 -0.405909990  0.64435239
419       1       0       1  0.00483715 -0.405909990 -0.55421976
420       0       1       0 -1.53992998 -0.189010600  0.64435239
424       0       1       0 -0.14963956 -0.378675985  0.64435239
427       1       0       0 -0.14963956 -0.153022808  0.04506631
430       0       1       1  0.15931386 -0.502201647 -0.55421976
436       0       0       0 -1.23097656  1.675546040  1.24363847
440       1       0       1  0.08207551 -0.454542140 -0.55421976
441       1       0       0  1.16341250 -0.148159593  0.64435239
442       0       1       1 -0.76754642 -0.473995000 -0.55421976
445       0       1       1  0.00000000 -0.500985843 -0.55421976
447       1       0       0 -1.30821491 -0.279466399  0.04506631
448       0       0       1  0.31379058 -0.142323735 -0.55421976
450       0       0       1  1.70408100 -0.065484938 -0.55421976
452       0       1       1  0.00000000 -0.270387749  0.04506631
455       0       1       1  0.00000000 -0.502201647 -0.55421976
457       0       0       1  2.70817963 -0.142323735 -0.55421976
458       0       0       0  0.00000000  0.350076786  0.04506631
462       0       1       1  0.31379058 -0.502201647 -0.55421976
467       1       0       1  0.00000000 -0.658797171 -0.55421976
469       0       1       1  0.00000000 -0.508523827 -0.55421976
473       1       0       0  0.23655222 -0.118980303  1.24363847
476       0       0       1  0.00000000  0.352751554 -0.55421976
477       1       0       1  0.31379058 -0.250287109  0.04506631
478       0       1       1 -0.07240121 -0.521736209  0.04506631
482       1       0       1  0.00000000 -0.658797171 -0.55421976
483       0       1       1  1.54960428 -0.502201647 -0.55421976
488       0       0       1  2.16751113 -0.081047226 -0.55421976
490       0       1       1 -1.61716834 -0.349496695  0.64435239
492       0       1       1 -0.69030806 -0.517763935 -0.55421976
495       0       1       1 -0.69030806 -0.502201647 -0.55421976
496       0       1       1  0.00000000 -0.377541884 -0.55421976
510       0       1       1 -0.30411628  0.440207722 -0.55421976
515       0       1       1 -0.45859299 -0.512982422 -0.55421976
520       0       1       1  0.15931386 -0.505201278 -0.55421976
523       0       1       1  0.00000000 -0.518250257 -0.55421976
525       0       1       1  0.00000000 -0.518168555 -0.55421976
527       1       0       0  1.54960428 -0.454542140 -0.55421976
529       0       1       1  0.69998236 -0.504633254 -0.55421976
531       1       0       0 -2.15783684 -0.153022808  0.64435239
534       0       1       0  0.00000000 -0.223864289  0.64435239
539       0       1       1  0.00000000 -0.376730699 -0.55421976
540       0       0       0 -0.61306970  0.304119404  0.64435239
550       1       0       1 -1.69440670  0.056095438  0.64435239
551       0       0       1 -0.99926149  1.498200151  0.64435239
554       0       1       1 -0.61306970 -0.518250257 -0.55421976
562       0       1       1  0.77722072 -0.505201278 -0.55421976
566       0       1       1 -0.45859299 -0.189010600  0.64435239
571       1       0       1  2.47646456 -0.454542140 -0.55421976
572       0       0       0  1.78131935  0.342620505  0.64435239
574       0       1       0  0.00000000 -0.508037505 -0.55421976
582       0       0       0  0.69998236  1.498200151  0.64435239
583       1       0       1  1.85855771 -0.153022808 -0.55421976
586       0       0       0 -0.92202313  0.890623136  0.64435239
589       0       1       1 -0.61306970 -0.502201647 -0.55421976
599       0       1       1  0.00000000 -0.518250257 -0.55421976
602       0       1       1  0.00000000 -0.505201278 -0.55421976
604       0       1       1  1.08617414 -0.502201647 -0.55421976
607       0       1       1  0.00483715 -0.505201278 -0.55421976
620       1       0       1 -0.30411628 -0.454542140 -0.55421976
628       0       0       0 -0.69030806  0.857714732 -0.55421976
629       0       1       1 -0.30411628 -0.505201278 -0.55421976
630       0       1       1  0.00000000 -0.508362368 -0.55421976
632       0       1       1  1.62684264 -0.521572805 -0.55421976
636       1       0       0 -0.14963956 -0.405909990 -0.55421976
643       0       1       0 -2.15783684 -0.116062374  2.44221062
652       1       0       0 -0.92202313 -0.211381389  0.04506631
653       0       1       1 -0.69030806 -0.494745366 -0.55421976
657       0       1       1  0.00000000 -0.505201278 -0.55421976
660       0       0       1  2.16751113  1.544725556  0.64435239
664       0       1       1  0.46826729 -0.512982422 -0.55421976
665       0       1       1 -0.76754642 -0.504633254  0.04506631
666       1       0       1  0.15931386  0.770988046  0.64435239
669       0       1       1  1.00893579 -0.502201647 -0.55421976
672       0       0       1  0.08207551  0.352751554  0.04506631
673       1       0       1  3.09437141 -0.454542140 -0.55421976
675       1       0       1  0.00000000 -0.658797171 -0.55421976
676       0       1       1 -0.92202313 -0.507551184 -0.55421976
680       0       0       1  0.46826729  9.307471078  0.04506631
684       0       1       1 -1.23097656  0.253541968  3.64078277
685       1       0       1  2.32198785  0.099864373  0.64435239
686       1       0       1 -0.38135463  0.150037190  1.24363847
688       0       1       1 -0.84478477 -0.460946021 -0.55421976
696       1       0       1  1.70408100 -0.396183559 -0.55421976
697       0       1       1  1.08617414 -0.502201647 -0.55421976
698       0       1       0  0.00000000 -0.508362368 -0.55421976
700       0       1       1  0.93169743 -0.509982791 -0.55421976
706       1       0       1  0.69998236 -0.153022808 -0.55421976
707       1       0       0  1.16341250 -0.396183559 -0.55421976
711       0       0       0 -0.45859299  0.304201106 -0.55421976
715       1       0       1  1.70408100 -0.405909990 -0.55421976
722       0       1       1 -0.99926149 -0.521572805  0.04506631
724       1       0       1  1.54960428 -0.405909990 -0.55421976
727       1       0       0  0.00483715 -0.250287109  1.24363847
731       0       0       0 -0.07240121  3.452321649 -0.55421976
733       1       0       1  0.00000000 -0.658797171 -0.55421976
734       1       0       1 -0.53583135 -0.405909990 -0.55421976
741       0       0       1  0.00000000 -0.075211368 -0.55421976
746       0       0       1  3.09437141  0.722355896  0.64435239
747       0       1       1 -1.07649984 -0.264876754  0.64435239
748       1       0       0  0.00483715 -0.405909990 -0.55421976
751       1       0       0 -2.00336012 -0.211381389  0.64435239
756       1       0       1 -2.26056385 -0.376730699  0.64435239
758       1       0       1 -0.92202313 -0.435089280 -0.55421976
761       0       1       1  0.00000000 -0.376730699 -0.55421976
765       0       1       1 -1.07649984 -0.507551184 -0.55421976
772       0       1       1  1.39512757 -0.506010517 -0.55421976
775       1       0       0  1.85855771 -0.211381389  1.84292454
776       0       1       1 -0.92202313 -0.508037505 -0.55421976
779       0       1       1  0.00000000 -0.508280666 -0.55421976
785       0       1       1 -0.38135463 -0.521654507 -0.55421976
787       0       1       0 -0.92202313 -0.512982422 -0.55421976
788       0       1       1 -1.69440670 -0.092232621  2.44221062
798       0       1       0  0.08207551 -0.489882151 -0.55421976
802       1       0       0  0.08207551 -0.148159593  0.64435239
805       0       1       1 -0.22687792 -0.523113472 -0.55421976
807       0       0       1  0.69998236 -0.658797171 -0.55421976
809       1       0       1  0.69998236 -0.405909990 -0.55421976
810       0       0       0  0.23655222  0.374149700  0.04506631
814       0       1       0 -1.84888341 -0.050408971  3.04149669
818       1       0       1  0.08207551  0.061040355  0.64435239
820       0       1       1 -1.53992998 -0.116062374  2.44221062
821       0       0       0  1.70408100  1.160045248  0.64435239
829       0       1       1  0.00000000 -0.508037505 -0.55421976
830       0       0       0  2.47646456  0.897431637 -0.55421976
834       0       1       1 -0.53583135 -0.506010517 -0.55421976
837       0       1       1 -0.69030806 -0.490286770 -0.55421976
839       0       1       1  0.15931386  0.440207722 -0.55421976
841       0       1       1 -0.76754642 -0.504633254 -0.55421976
842       1       0       1 -1.07649984 -0.454542140 -0.55421976
844       0       1       1  0.35240975 -0.533569384 -0.55421976
848       0       1       1  0.39102893 -0.505201278 -0.55421976
854       0       0       0 -1.07649984  0.107645517  0.04506631
863       0       0       0  1.39512757 -0.154400071 -0.55421976
866       1       0       0  0.93169743 -0.405909990 -0.55421976
869       0       1       1  0.00000000 -0.473995000 -0.55421976
870       0       1       1 -2.00336012 -0.442222643  0.64435239
873       0       0       1  0.23655222 -0.561532870 -0.55421976
875       1       0       0 -0.14963956 -0.191928529  0.04506631
876       0       1       0 -1.15373820 -0.518250257 -0.55421976
884       1       0       1 -0.14963956 -0.454542140 -0.55421976
890       0       0       1 -0.30411628 -0.075211368 -0.55421976
891       0       1       1  0.15931386 -0.508037505 -0.55421976

11.6 모형 훈련

Package "glmnet"에서 제공하는 함수 glmnet()을 이용하여 LASSO Regression을 수행할 수 있다. 함수 glmnet()는 Target이 2개의 클래스를 가질 때 “두 번째 클래스”에 속할 확률을 모델링하며, “두 번째 클래스”란 “Factor” 변환하였을 때 두 번째 수준(Level)을 의미한다. 예를 들어, “a”와 “b” 2개의 클래스를 가진 Target을 “Factor” 변환하였을 때 수준이 “a” “b”라면, 첫 번째 클래스는 “a”, 두 번째 클래스는 “b”가 된다. 함수 glmnet()에 대한 자세한 옵션은 여기를 참고한다.

glmnet(x, y, family, alpha, lambda, ...)
  • x : 예측 변수를 포함하는 행렬
  • y : Target을 포함하는 변수
  • family : Target의 분포
    • "gaussian" : 수치형인 Target
    • "binomial" : 2개의 클래스를 가지는 Target
    • "multinomial" : 3개 이상 클래스를 가지는 Target
    • "poisson" : Count Data인 Target
  • alpha : Elasticnet Mixing Parameter
    • 0 : Ridge Regression
    • 1 : Lasso Regression
    • 0 < alpha < 1 : Elastic Net Regression
  • lambda : Regularization Parameter
    • 직접 값을 지정하면 해당 값에 대한 결과만 보여준다.
    • 값을 지정하지 않으면 100개의 lambda 값에 대한 결과를 보여준다.

11.6.1 람다 값 직접 지정

lasso.fit <- glmnet(x = train.x,                 # 예측 변수를 포함하는 행렬
                    y = titanic.trd.Imp$Survived,# Target
                    family = "binomial",         # Binary Classification
                    alpha = 1,                   # 0 : Ridge / 1 : Lasso / 0 < alpha < 1 : Elastic Net
                    lambda = 0.1)

round(coef(lasso.fit), 3)                        # 회귀계수 추정치
7 x 1 sparse Matrix of class "dgCMatrix"
                s0
(Intercept)  0.571
Pclass2      .    
Pclass3     -0.459
Sexmale     -1.308
Age          .    
Fare         .    
FamSize      .    

Result! 데이터 “titanic.trd.Imp”의 Target “Survived”은 “no”와 “yes” 2개의 클래스를 가지며, “Factor” 변환하면 알파벳순으로 수준을 부여하기 때문에 “yes”가 두 번째 클래스가 된다. 즉, “yes”에 속할 확률(= 탑승객이 생존할 확률)을 \(p\)라고 할 때, 추정된 회귀계수를 이용하여 다음과 같은 모형식을 얻을 수 있다. \[ \begin{align*} \log{\frac{p}{1-p}} = &\;0.571 -0.459 X_{\text{Pclass3}} -1.308 X_{\text{Sexmale}} \end{align*} \] 여기서, \(X_{\text{예측 변수}}\)는 더미 변수를 의미한다.

11.6.2 교차 검증을 통한 최적의 람다 값

# 100개의 람다 값에 따른 결과
lasso.fit <- glmnet(x = train.x,                 # 예측 변수를 포함하는 행렬
                    y = titanic.trd.Imp$Survived,# Target
                    family = "binomial",         # Binary Classification
                    alpha = 1)                   # 0 : Ridge / 1 : Lasso / 0 < alpha < 1 : Elastic Net

plot(lasso.fit, xvar = "lambda")                 # 람다 값에 따른 회귀계수 추정치 확인

Result! 100개의 \(\lambda\) 값에 대한 회귀계수 추정치의 변화를 보여준다. 해당 그림을 통해 \(\lambda\) 값이 클수록 회귀계수 추정치는 작아진다는 것을 알 수 있다.

lasso.fit$lambda                                 # 100개의 람다 값
 [1] 0.2507754711 0.2284972694 0.2081982018 0.1897024473 0.1728498048 0.1574943045 0.1435029446 0.1307545385 0.1191386657 0.1085547150 0.0989110133 0.0901240315 0.0821176609 0.0748225542 0.0681755247
[16] 0.0621189990 0.0566005184 0.0515722843 0.0469907447 0.0428162165 0.0390125418 0.0355467751 0.0323888976 0.0295115572 0.0268898318 0.0245010132 0.0223244107 0.0203411716 0.0185341180 0.0168875980
[31] 0.0153873504 0.0140203806 0.0127748486 0.0116399663 0.0106059037 0.0096637045 0.0088052076 0.0080229772 0.0073102381 0.0066608167 0.0060690881 0.0055299270 0.0050386635 0.0045910425 0.0041831870
[46] 0.0038115642 0.0034729553 0.0031644275 0.0028833085 0.0026271633 0.0023937734 0.0021811172 0.0019873527 0.0018108018 0.0016499351 0.0015033595 0.0013698051 0.0012481154 0.0011372363 0.0010362074
[61] 0.0009441536 0.0008602776 0.0007838529

Caution! \(\lambda\)는 모형이 Training Dataset에 과적합 되는 것을 방지하기 위해 사용하는 모수이며, 교차 검증(Cross Validation)을 통해 최적의 값을 찾을 수 있다. 이러한 방법은 package "glmnet"에서 제공하는 함수 cv.glmnet()을 통해 수행할 수 있으며, 함수에 대한 자세한 옵션은 여기를 참고한다.

set.seed(200)                                          # Seed 고정 -> 동일한 결과를 출력하기 위해
cv.lasso.fit <- cv.glmnet(x = train.x,                 # 예측 변수를 포함하는 행렬
                          y = titanic.trd.Imp$Survived,# Target
                          family = "binomial",         # Binary Classification
                          alpha = 1,                   # 0 : Ridge / 1 : Lasso / 0 < alpha < 1 : Elastic Net
                          nfolds = 5,                  # 5-Fold Cross Validation
                          type.measure = "auc")        # AUC에 기반하여 최적의 람다 값 찾기

plot(cv.lasso.fit)                                     # Plot

Result! 100개의 \(\lambda\) 값에 대한 AUC의 변화를 보여준다.
Caution! 만약 \(\lambda\) 값에 대해 직접 후보 값을 지정하고 싶으면 함수 cv.glmnet()의 옵션 lambda = 후보 값을 이용하면 된다.

cv.lasso.fit$lambda.min                                   # 최적의 람다 값
[1] 0.0007838529
max(cv.lasso.fit$cvm)                                     # 최적의 람다 값에 대한 AUC
[1] 0.850222
round(coef(cv.lasso.fit, s = cv.lasso.fit$lambda.min), 3) # 최적의 람다 값에 대한 회귀계수 추정치
7 x 1 sparse Matrix of class "dgCMatrix"
                s1
(Intercept)  2.529
Pclass2     -1.011
Pclass3     -2.330
Sexmale     -2.694
Age         -0.515
Fare         0.122
FamSize     -0.385

Result! 최적의 \(\lambda\) 값에 대해 추정된 회귀계수를 이용하여 다음과 같은 모형식을 얻을 수 있다. \[ \begin{align*} \log{\frac{p}{1-p}} = &\;2.529 - 1.011 X_{\text{Pclass2}} - 2.330 X_{\text{Pclass3}} -2.694 X_{\text{Sexmale}} \\ &-0.515 Z_{\text{Age}} +0.122 Z_{\text{Fare}} - 0.385 Z_{\text{FamSize}} \end{align*} \]

여기서, \(Z_{\text{예측 변수}}\)는 표준화한 예측 변수, \(X_{\text{예측 변수}}\)는 더미 변수를 의미한다.

11.7 모형 평가

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

# 예측 class 생성
test.lasso.class <- predict(cv.lasso.fit, 
                            newx = test.x,                # Test Dataset including Only 예측 변수 
                            s = "lambda.min",             # 최적의 람다 값 기반
                            type = "class")               # 예측 class 생성

test.lasso.class %>%                                      
  as_tibble
# A tibble: 266 × 1
   lambda.min
   <chr>     
 1 yes       
 2 no        
 3 no        
 4 yes       
 5 no        
 6 no        
 7 yes       
 8 no        
 9 no        
10 yes       
# ℹ 256 more rows


11.7.1 ConfusionMatrix

CM   <- caret::confusionMatrix(as.factor(test.lasso.class), titanic.ted.Imp$Survived, 
                               positive = "yes")       # confusionMatrix(예측 class, 실제 class, positive = "관심 class")
CM
Confusion Matrix and Statistics

          Reference
Prediction  no yes
       no  148  32
       yes  16  70
                                         
               Accuracy : 0.8195         
                 95% CI : (0.768, 0.8638)
    No Information Rate : 0.6165         
    P-Value [Acc > NIR] : 5.675e-13      
                                         
                  Kappa : 0.6067         
                                         
 Mcnemar's Test P-Value : 0.03038        
                                         
            Sensitivity : 0.6863         
            Specificity : 0.9024         
         Pos Pred Value : 0.8140         
         Neg Pred Value : 0.8222         
             Prevalence : 0.3835         
         Detection Rate : 0.2632         
   Detection Prevalence : 0.3233         
      Balanced Accuracy : 0.7944         
                                         
       'Positive' Class : yes            
                                         


11.7.2 ROC 곡선

# 예측 확률 생성
test.lasso.prob <- predict(cv.lasso.fit, 
                           newx = test.x,              # Test Dataset including Only 예측 변수 
                           s = "lambda.min",           # 최적의 람다 값 기반
                           type = "response")          # 예측 확률 생성

test.lasso.prob %>%                                    # "Survived = yes"에 대한 예측 확률                           
  as_tibble
# A tibble: 266 × 1
   lambda.min
        <dbl>
 1     0.907 
 2     0.296 
 3     0.125 
 4     0.666 
 5     0.0882
 6     0.236 
 7     0.720 
 8     0.214 
 9     0.0875
10     0.894 
# ℹ 256 more rows
ac  <- titanic.ted.Imp$Survived                        # Test Dataset의 실제 class 
pp  <- as.numeric(test.lasso.prob)                     # 예측 확률을 수치형으로 변환

11.7.2.1 Package “pROC”

pacman::p_load("pROC")

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

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

# 함수 plot.roc() 이용
plot.roc(lasso.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(lasso.roc) +
annotate(geom = "text", x = 0.9, y = 1.0,
label = paste("AUC = ", auc),
size = 5,
color="red") +
theme_bw()

11.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)  

11.7.2.3 Package “ROCR”

pacman::p_load("ROCR")

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

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

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


11.7.3 향상 차트

11.7.3.1 Package “ROCR”

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