안녕하세요. 오늘은 간단하게 피처 엔지니어링에 대한 설명을 하겠습니다.
피처 엔지니어링은 머신러닝 모델을 만드는데 있어 필수라고 할 수 있습니다. 그렇다면 이 피처 엔지니어링이 무엇인지 간략하게 알아보도록 하죠 :)
머신러닝 모델이 좋은 성능을 내려면 반드시 피처 엔지니어링은 필요합니다. 시계열 데이터를 다루는 대회에서는 유의미한 파생 변수를 생성하기 위한 몇 가지 기술들이 있습니다.
날짜/시간의 정보가 포함된 데이터의 경우, 주중/주말 여부, 공유일 여부, 아침/낮/밤, 계절, 학기/시험기간.방학 등 다양한 파생변수를 생성할 수 있습니다. 그러나 모든 파생 변수가 모델에 유의미 한 것은 아닙니다. 식별력이 있는 변수는 모델마다, 주제마다 다르기 때문에 모든 가능성을 시도해보는 것이 좋습니다.
Tabular형태의 시계열 데이터를 다루는 대회는 주로 딥러닝 모델보다는 트리 기반의 앙상블 모델이 더 좋은 성능을 냅니다. 사이킷 런의 Decision Tree, RandomForest, ExtraTrees, AdaBoost, GradientBoosting 등 다양한 트리 모델을 지원하지만, Boosting Tree모델 중에서도, 가장 좋은 성능과 빠른 속도를 자랑하는 XGBoost는 케글에서 가장 많이 사용되는 트리 모델입니다.
LightGBM은 마이크로소프트에서 오픈소스한 알고리즘이며, XGBoost 보다 빠른 학습 속도를 보여주어 경진대회에서 활발히 사용합니다.
※Boosting Tree모델이란, 데이터에 하나의 트리 모델을 학습 시킨 후, 해당 트리 모델의 성늘이 낮은 부분을 보완하는 다른 트리 모델을 학습 시키는 방식으로 수많은 트리 모델을 순차적으로 학습시키며 성능을 개선하는 모델입니다.
'머신러닝' 카테고리의 다른 글
머신러닝 입문자 가이드(1) : 케글 대회 구조 알아보기 (0) | 2020.10.14 |
---|---|
머신러닝에 가장 적합한 언어는? (0) | 2020.09.24 |