빅데이터 분석기사(빅분기) 실기시험에서 제공되는 환경의 R 패키지 목록을 알아보자.
개요
Kdata에서 2021년 4월 19일자 “제2회 빅데이터분석기사 실기 안내” 게시물로 공지한바에 따르면 시험 환경에서 R 패키지는 총 148개가 설치되어있다고 한다. 물론 이 내용은 향후 바뀔 수 있으나 보통 큰 문제가 없지 않는한 1년 단위로 바뀌고 큰 변경을 없기 때문에 최초 공지에 있는 패키지 목록을 기준으로 알아보아도 되겠다. 그리고 모든 패키지가 시험에 중요한 패키지는 아니다. 특정 패키지의 의존패키지 같은 사소한 패키지는 최대한 제외하고 알아보자.
분석 패키지
목록
● caret
: 모델링
● e1071
: 모델링
● ipred
: 모델링
● rpart
: 의사결정나무
● randomForest
: 랜덤포레스트
● nnet
: 신경망
● Ckmeans.1d.dp
: k-means, k-median
● xgboost
: XGBoost
● SQUAREM
: EM 모델
● cluster
: 클러스터링
● lmtest
: 선형회귀
● lava
: 잠재변수모델
● mgcv
: 일반화가법모형
● nlme
: 혼합효과모형
● spatial
: kriging
● ModelMetrics
: 모델평가
● CARRoT
: AUC
● pROC
: 분류모델 평가
● survival
: 생존분석
● igraph
: 네트워크 분석
● influenceR
: 네트워크 분석
● hunspell
: 텍스트 마이닝
상세
caret, e1071
머신러닝을 하기 위해서 꼭 알아야되는 패키지
ipred
boosting, bagging, cross validation 를 위한 패키지
rpart
의사결정나무의 모델링을 위한 패키지
randomForest
랜덤포레스트 모델링을 위한 패키지
nnet
간단한 신경망 모델링에 사용하는 패키지
Ckmeans.1d.dp
k-means와 k-median 등등 관련 알고리즘을 지원한다. k-means는 R에서 기본함수가 제공되기 때문에 k-median을 염두해두고 있는 것 같다.
Reverse depends를 확인해보면 e1071
이나 carat
패키지의 의존 패키지가 아닌것을 알 수 있는데, 확실히 k-means 군집분석이 아닌 다른 군집분석을 출제할 수 있겠다.
xgboost
XGBoost 모델링 패키지
SQUAREM
EM(Expectation-Maximization) 모델을 위한 패키지
cluster
다양한 군집분석을 위한 패키지
lmtest
선형모형의 검정을 위해 사용하는 패키지. 과연 시험에 나올까 의심이 되는 패키지.
lava
잠재변수모델(Latent Variable Model)을 위한 패키지. 하지만 잠재변수모델링은 시험에 나오지 않을 것 같다. 보통 잠재변수모델링을 하게되면 lavaan
패키지를 쓰는데 해당 패키지는 목록에 없다.
mgcv
일반화 가법 모형(GAM)을 위한 패키지
nlme
가우시안 선형 모형 및 비선형 혼합효과 모형을 위한 패키지. 시계열 분석 관련 함수(ACF()
등)도 있다.
spatial
kriging을 위한 패키지
ModelMetrics
보다 쉽게 모델 성능평가를 할 수 있게 도와주는 패키지
CARRoT
AUC계산을 위해서 사용하는 것이 아닌가 매우 의심되는 패키지
pROC
분류모델 평가를 위해서 활용하는 대표적인 패키지
survival
생존분석을 위한 패키지(ipred 패키지의 의존 패키지로 있을 가능성이 큼)
igraph, influenceR
네트워크 분석을 위한 패키지
hunspell
텍스트 마이닝을 위한 형태소 분석에 사용하는 패키지. 그 유명한 tm
패키지나 koNLP
가 아닌 hunspell
인지 알 수 없지만 아무튼 최소 형태소 분석은 염두해야 하겠다.
데이터 입출력 패키지
목록
● readr
: 파일 입출력
● data.table
: 파일 입출력(병렬)
● jsonlite
: JSON
● rbibutils
: Bibtex 파일 입력
상세
readr
다양한 파일 입출력을 위해 사용하는 패키지.
data.table
파일을 다중 스레드로 빠르게 읽고 쓸 수 있게 하는 패키지. 리소스가 매우 제한적인 시험 환경 때문에 존재의 의미가 없어보이는 패키지
jsonlite
JSON 파일 입출력을 위한 패키지. JSON 형식을 다루는 것은 크롤링 결과물이나 시스템 로그파일을 다룰 수 있다는 것을 의미한다. 어차피 변환만 되면 데이터프레임과 다를게 없으니 걱정 안해도 된다.
rbibutils
Bibtex 파일 입력을 위한 패키지. Bibtex 형식이 생소한 사람이 있을텐데 이건 그냥 논문이 정리된 문헌정보 관련 파일 형식이라고 보면 되겠다. 이게 있다는 것은 논문데이터가 Bibtex 파일 형식으로 제공되고 hunspell
같은 패키지와 함께 형태소 분석이 실시될 수 있다는 것을 시사한다.
데이터 핸들링 패키지
목록
● doParallel
: 병렬처리
● parallel
: 병렬처리
● foreach
: 병렬처리
● glue
: 텍스트 처리
● stringr
: 텍스트 처리
● lubridate
: 시간 데이터 처리
● reshape2
: 객체 구조 변경
● data.table
: data.table
● tibble
: tibble
● tidyr
: 종합 데이터 전처리
● dplyr
: 종합 데이터 전처리
● purrr
: 고급 데이터 처리
● zoo
: 결측 및 시계열 처리
● MASS
: 통계용 함수 및 데이터셋
상세
doParallel, parallel, foreach
병렬처리를 지원하는 패키지. 리소스가 매우 제한적인 시험 환경 때문에 존재의 의미가 없어보이는 패키지
glue
텍스트 처리관련 패키지. paste()
같은 기본함수로 대체 가능하여 몰라도 되는 패키지.
stringr
고급 텍스트 처리를 위한 패키지. 기본함수로 대부분 대체 가능하나 str_extract_all()
함수는 제법 유용하다.
lubridate
시간 데이터 처리를 위한 패키지. 시험이 아니라도 반드시 알고 있어야 하는 패키지.
reshape2
객체 구조 변경에 사용하는 패키지. melt()
, dcast()
함수를 주로 활용
data.table, tibble
데이터프레임으로 대체 가능하여 굳이 필요가 없음.
tidyr, dplyr
종합 데이터 전처리를 위한 패키지
purrr
고급 데이터 전처리를 위한 패키지. 반복문과 apply()
함수를 조합하면 대부분 함수를 대체할 수 있다. 하지만 대용량 데이터 핸들링을 한다면 살펴볼만하다.
zoo
결측 및 시계열 데이터 처리를 위한 패키지.
MASS
통계용 함수 및 데이터셋을 위한 패키지. 여러 함수의 의존패키지이나 굳이 이 패키지의 함수를 사용한다면 Box-Cox 변환함수 boxcox()
를 쓸 수 있다.
시각화 패키지
목록
● ggplot2
: 종합 시각화
● lattice
: 종합 시각화
● rpart
: 의사결정나무 시각화
● DiagrammeR
: 네트워크 구조 시각화
● visNetwork
: 네트워크 구조 시각화
● isoband
: 등고선 시각화
● vcd
: 범주형 데이터 시각화
상세
시험 환경을 고려해볼 때 그린 그래프를 확인할 수 없기 때문에 넘어가도록 한다.
웹 및 기타 패키지
목록
● remotes
: 외부 패키지 설치
● htmltools
: HTML 관련
● htmlwidgets
: HTML 위젯
● xmlparsedata
: xml 파서
● downloader
: 파일 다운로드
● httpuv
: HTTP 및 웹소켓
상세
트래픽 때문에 현실적으로 웹작업은 힘들다고 본다. 만약에 XML데이터를 정제문제를 출제 할 수 있을텐데 XML
, XML2
도 없고 rvest
패키지도 없는 것을 보아 출제되기 매우 어려울 것으로 생각된다.
총평
이상하게 시계열 분석 관련해서 미흡하다. 그리고 ADP에서 말이 많았던 SOM 알고리즘도 안보인다. 하지만 네트워크 분석과 생존분석 관련 패키지가 있다는 점이 큰 차별점 같은데 향후 출제 경향을 지켜봐야 하겠다.
종합적인 내용은 etc) 빅분기 - 실기시험 준비 포스팅에서 다루니 참고하도록 하자.