Feature Engineering 요약

Taek goo Kim·2021년 1월 26일
0

Feature Engineering

Feature Engineering은 ML/DL 알고리즘이 더 좋은 성능을 보여주도록 데이터를 말그대로 가공하는 것이며, 데이터 타입이나 상황에 따라 적용할 수 있는 방법이 다르다. 여기서는 주로 수치형, 범주형, 결합형, 텍스트 등을 주로 설명하고자 한다.

수치형 데이터의 정규화

  • 모든 feature를 동일한 구간내로 이동시킴
    • 선형함수정규화: xnorm=(xxmin)(xmaxxmin)x_{norm} = \frac{(x - x_{min})}{(x_{max} - x_{min})}
    • 표준정규화(z normalization): z=xμσz=\frac{x −\mu}{\sigma}, where μ\mu is 평균, σ\sigma is 표준편차
    • 단, Tree 계열은 불필요함.
      • Tree 계열은 정보이득비율에 의해 Tree 가지가 뻗어나가는데 정규화를 하더라도 정보이득비율에는 변화가 없음

범주형 데이터

  • 높낮이가 존재하는 경우, ordinal encoding
  • 높낮이가 없는 경우, one-hot encoding
  • 불필요하게 차원이 커지면 -> 차원축소 또는 희소행렬 사용

결합 Feature

  • 데이터 사이에 존재하는 관계를 단일차원의 discrete feature로 만드는 것을 의미
  • 예를 들어, 상품 종류, 색상, 브랜드, 구매여부 feature가 존재하는 경우 이를 결합하면 상품_색상_브랜드_구매여부 라는 feature로 결합하여 단일 feature로 할 수 있음
    • 단 이러한 경우 feature의 수가 폭발(feature explosion)될 수 있음

Text 표현모델

BoW & N-Gram

  • tftf-idf=tf(t,d)log(ndf(t)+1)idf=tf(t,d)∗log(\frac{n}{df(t) + 1}) , where tt is text(i.e. word), dd is document
    • 아래의 두 부분으로 나누어짐
    • tf(t,d)tf(t,d) : 특정 문서 dd에서의 특정 단어 tt의 등장 횟수.
    • df(t,d)df(t,d) : 특정 단어 tt가 등장한 문서의 수.

토픽모델

  • 문서 set에서 대표성을 가진 주제를 찾기위한 통계 모델

Word-Embedding

  • 저차원 공간에 dense vector로 각 단어를 투영하는 모델로 대표적으로 Word2Vec이 있음
  • NKN * K (N: 단어수, K: |dense vector|)로 문장표현

word2vec

  • C-BoW방식: Continuouse Bag of Words
    • 문장속 주변 단어의 출현에 기반해 WtW_t의 생성활률을 예측하여 softmax로 출력
  • Skip-Gram 방식
    • C-BoW방식과는 반대로 WtW_t를 기반으로 주변단어의 생성확률을 예측하고 softmax로 출력
profile
Unknowns vastly exceeds knowns

0개의 댓글