Feature Engineering 요약

vanang7·2021년 1월 26일
0

Feature Engineering

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

수치형 데이터의 정규화

  • 모든 feature를 동일한 구간내로 이동시킴
    • 선형함수정규화: $x_{norm} = \frac{(x - x_{min})}{(x_{max} - x_{min})}$
    • 표준정규화(z normalization): $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

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

토픽모델

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

Word-Embedding

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

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

0개의 댓글