특성 공학

From IT Wiki
Revision as of 22:26, 17 April 2020 by 이수민 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Feature Engineering; 피처 엔지니어링; 특징 공학
인공지능 알고리즘에 적용, 빅데이터 분석 등을 위해 데이터에 대한 도메인 지식을 활용하여 특성(Feature)를 만들어내는 과정

표현[edit | edit source]

  • 이렇게 문서화되거나 공식적으로 인용되는 경우가 아니라면 '특성 공학'이라는 말은 널리 쓰이지 않음
  • 실무에선 대부분 영문 그대로 '피처 엔지니어링'이라고 읽음
  • Feature이 개별적으로 해석될 때는 '특징'이라고 해석되는 경우가 더 많으나 '공학'과는 어울리지 않는 어감 때문인지 Feature Engineering은 '특성 공학'으로 더 많이 표기
    • 본 문서에선 가장 일반적으로 쓰이는 한글 표기를 차용하되, 통일성을 위해 Feature도 특성으로 표기

필요성[edit | edit source]

  • 과적합 방지: 불필요한 요소들이 분석에 사용될 경우 과적합(overfitting, 오버피팅)이 발생
  • 편향 방지: 부정확한 정보들이 분석에 적용될 경우 편향(bias)이 발생

특성 공학 기법[edit | edit source]

  • 차원 축소(Dimension Reduction)
    • 협의적으로는 아래서 설명하는 특성 추출을 차원 축소와 동일한 개념으로 이해
    • 광의적으로는 아래서 설명하는 두가지 기법을 아우르는 상위 개념
    • 특성 선정(Feature Selection)
      • 특성 랭킹(Feature Ranking) 또는 특성 중요도(Feature Importance)에 따라 선정
      • 분석가의 사전 배경 지식을 이용하거나, 랜덤 선정 및 성능 측정을 반복하는 방법 사용
    • 특성 추출(Feature Extraction)
      • 특성을 단순히 선택하는 것이 아니라 특성들의 조합으로 새로운 특성을 생성
      • PCA는 특성 추출 기법에 속함
  • 스케일링(Scaling)
    • 변수의 분포가 편향되어 있을 경우, 변수 간의 관계가 잘 드러나지 않는 경우 범위 변환
    • 전체 값에 로그나 제곱루트 적용하는 방법 등
  • 변형(Transform)
    • 기존 존재하는 변수의 성질을 이용해 다른 변수를 만드는 방법
    • 날짜별 판매 데이터에 주말 여부를 추가하는 등, 분석가에 경험에 따라 추가 또는 변형
  • 비닝(Binning)
    • 연속형 변수를 범주형 변수로 변환
    • 33살, 47살 -> 30대, 40대
  • 더미(Dummy)
    • 범주형 변수를 연속형 변수로 변환 가능
    • 기존 특성이나 특성의 조합을 규칙에 따라 수치화하여 Dummy Data로 추가