목차
특징 공학(Feature Engineering)이란?
특징 공학은 데이터의 특징(feature)을 다루는 기술을 의미합니다. 특히 현제 있는 데이터의 특징에서 해당 영역의 지식 등을 활용해서 새로운 데이터의 특징을 작성하는 작업을 의미합니다.
특징 공학의 목적은 데이터의 질을 향상시켜 머신러닝 모델의 예측 성능을 향상시키는 것입니다. 특징은 모델 성능에 가장 큰 영향력을 미치는 요소이기 때문에 새로운 데이터의 특징을 생성하는 과정을 거쳐서 성능이 더 뛰어난 모델을 만들려는 것이죠.
특징 공학의 데이터 가공이란?
특징 공학에서 가장 어려운 부분은 대상이 되는 영역에 대한 사전 지식이 필요한 경우가 많다는 것입니다. 다양한 산업의 다양한 비즈니스 문제가 있기 때문에 중요한 특징은 모두 다르겠죠.
특징 공학은 기존의 데이터를 가공하는 것인데 여기서 가공 방법은 매우 다양할 수 있습니다. 기존 특징을 제거하거나 기존 특징을 더하거나 빼거나 나누거나 해서 새로운 특징을 만들 수도 있습니다.
특징 공학 데이터 가공의 핵심은 해당 영역의 전문 지식을 바탕으로 해결하고자 하는 문제를 더 잘 이해할 수 있는 지표를 찾는다는 것입니다.
머신러닝에서 특징 공학(Feature Engineering)을 적용하는 단계
특징 공학은 모델의 성능을 높이기 위해서 데이터를 가공해서 더 유의미한 특징을 찾는 것이기 때문에 모델을 구축하기 전에 시행됩니다.
① 데이터 수집
② 데이터 클리닝
③ 특징 공학
④ 모델 구축
⑤ 모델 예측 훈련 및 테스트
물론 이 순서는 조금 이론적인 부분이 있어서 먼저 모델을 정의해보고 성능이 충분하지 않아서 특징 공학을 적용해보는 상황은 쉽게 예상해볼 수 있습니다.
특징을 선별하거나 특징 공학을 적용하면 데이터의 품질을 향상시킬 수 있고 모델의 성능도 향상할 수 있는 가능성이 높지만 데이터의 양이나 문제의 복잡도에 따라서 매우 지루하고 힘든 과정일 수 있습니다.
특징 공학(Feature Engineering)의 과정은?
① 어떤 특징이 있는지 가설을 세운다
② 새로운 특징을 작성한다
③ 모델을 구축해 생성한 특징이 유효한지 확인하고 유효화지 않은 경우는 ①로 돌아간다.
특징 공학이 중요한 이유는?
모델의 성능을 향상시키기 위해서는 알고리즘의 하이퍼파라미터를 최적화하는 방법도 있지만 더 많은 경우 최적화 이상으로 데이터의 특징의 영향력이 더 큽니다.
특징 공학의 자동화
특징 공학은 머신러닝 모델을 구축하는 과정에서 매우 큰 비중을 차지하는 작업입니다. 일반적으로 전체 작업의 70%가 특징 공학과 관련된 작업에 소비됩니다. 따라서 이 과정을 자동화하는 것으로 많은 경우 효율이 오르고 재현성도 높아지게 됩니다.
다만 주의해야 하는 것은 자동화가 만능은 아니라는 점입니다. 자동 특성 공학은 데이터 과학자를 대신하는 것이 아니라 보조하는 도구이기 때문에 최종적으로는 특징을 선택하는 것은 해당 분야의 지식을 가진 데이터 과학자입니다.
함께 읽으면 좋은 글
'프로그래밍' 카테고리의 다른 글
【AI, ML 용어】 메타 특징(Meta-features)이란? (0) | 2022.10.04 |
---|---|
【캐글 용어】 shake-up이란? (0) | 2022.09.30 |
【AI, ML 용어】Regressor(회귀 변수)란? Feat. Regression (0) | 2022.09.29 |
목적 함수(objective function)란 무엇인가? 【1분만에 이해하기】 (0) | 2022.09.08 |
【엑셀】 행・열 숫자 표시하기/없애기 + 행・열 모두 숫자로 표시하기 (0) | 2022.07.01 |
최근댓글