특성 공학
From CS Wiki
- 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로 추가