머리말

최근 다양한 분야에서 데이터의 중요성이 재발견되고 있고, 데이터가 품고 있는 정보를 캐내려는 시도가 빈번하게 이루어지고 있다. 이러한 이유로 인하여 통계분석이 다양한 분야에서 중요한 화두로 떠오르고 있다.

Statistical learning은 데이터를 이해하려는 통계적인 접근 방법을 의미하는데, 두 가지 방식으로 구분할 수 있다. 하나는 Supervised learning으로 한 개 이상의 input(설명변수)을 근거로 하나의 output(반응변수) 예측을 위한 모형 수립과 관련된 방법을 의미한다. 다른 하나는 Unsupervised learning으로 input은 있으나, output이 특정되지 않는 상황에서 데이터 사이의 관계 및 구조 수립과 관련된 방법을 의미한다.

Supervised learning은 반응변수의 유형에 따라 연속형 반응변수의 경우에 적용되는 regression 모형과 범주형 반응변수의 경우에 적용되는 classification 모형으로 구분할 수 있다. 이 책에서는 supervised statistical learning에서 선형회귀모형과 로지스틱 회귀모형, 그리고 tree-based 모형 중 bagging과 random forest, 그리고 boosting에 대한 기본적인 내용을 살펴보고, R을 사용해서 예제 문제를 함께 풀어보도록 하겠다.

이 책에서는 선형회귀모형 및 로지스틱 회귀모형의 이론적인 내용을 자세하게 다루고 있지 않다. 이론적인 부분을 포함해서 statistical learning에 대한 포괄적인 내용은 An Introduction to Statistical Learning 에서 찾아 볼 수 있으며, 선형회귀모형에 대한 조금 더 자세한 설명은 R과 회귀분석에서 볼 수 있다.

또한 R의 기초적인 사용법 및 패키지 tidyverse에 대한 소개 없이 사용하고 있으며, R code에는 프롬프트(> 또는 +)를 제거하였고, console 창에 출력되는 실행 결과물은 ##으로 시작되도록 하였다. dplyrggplot2 등을 포함한 R 사용법에 대한 소개는 R과 통계분석 에서 볼 수 있다.

이 책을 작성할 때의 R 세션 정보는 다음과 같다.

sessionInfo()
## R version 4.3.1 (2023-06-16 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 11 x64 (build 22621)
## 
## Matrix products: default
## 
## 
## locale:
## [1] LC_COLLATE=Korean_Korea.utf8  LC_CTYPE=Korean_Korea.utf8   
## [3] LC_MONETARY=Korean_Korea.utf8 LC_NUMERIC=C                 
## [5] LC_TIME=Korean_Korea.utf8    
## 
## time zone: Asia/Seoul
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## loaded via a namespace (and not attached):
##  [1] digest_0.6.33     R6_2.5.1          bookdown_0.35     fastmap_1.1.1    
##  [5] xfun_0.39         cachem_1.0.8      knitr_1.43        htmltools_0.5.5  
##  [9] rmarkdown_2.24    cli_3.6.1         sass_0.4.7        jquerylib_0.1.4  
## [13] compiler_4.3.1    rstudioapi_0.15.0 tools_4.3.1       evaluate_0.21    
## [17] bslib_0.5.1       yaml_2.3.7        jsonlite_1.8.7    rlang_1.1.1