5.1 학습된 피처 vs 엔지니어링된 피처
- 딥러닝의 장점은 피처를 수작업으로 만들 필요가 없다. 이러한 이유로 딥러닝을 피처 학습이라고도 한다. 많은 피처들이 알고리즘에 의해 자동으로 학습되고 추출된다. 다만 모든 피처를 자동화하려면 아직 멀었다.
- 피처 엔지니어링에는 도메인별 기술에 대한 지식이 필요하다. 피처 엔지니어링 프로세스는 반복적인 경향이 있으며, 따라서 취약할 수 있다.
5.2 피처 엔지니어링 기법
5.2.1 결측값 처리
- 결측값 유형
- 비무작위 결측(MNAR, Missing not at random)
- 무작위 결측(MAR, Missing at random)
- 결측값이 발생한 이유가 값 자체가 아닌 다른 관측 변수에 있을 때
- 완전 무작위 결측(MCAR, Missing completely at random)
- 결측값 삭제 Deletion
- 열 삭제
- 행 삭제
- 결측값이 비무작위(MNAR)인 경우 모델이 예측을 수행하는 데 필요한 중요한 정보도 제거될 수 있다.
- 결측값이 무작위(MAR)인 경우 모델에 편향이 발생한다.
- 결측값 대치 Imputation
5.2.2 스케일링
- 모델에 피처를 입력하게 전에 각 피처를 유사한 범위로 스케일링하는 프로세스를 피처 스케일링이라고 한다. 이 기법은 적은 노력으로 모델 성능 향상을 이끌어낼 수 있는 방법이지만, 반대로 이 작업을 하지 않으면 모델이 엉뚱한 예측을 수행할 수도 있다.
- 변수가 정규 분포를 따른다고 생각된다면 평균과 단위 분산 unit variance이 0이 되도록 정규화하면 도움이 된다. 이 프로세스를 표준화standardization이라고 한다.
- 스케일링에 대한 주의사항
- 스케일링은 흔히 데이터 누수의 원인이 된다.
- 전역 통계치가 필요한 경우가 많다.
5.2.3 이산화
- 이산화는 연속형 피처를 불연속형 피처로 바꾸는 과정이다. 이 프로세스는 양자화quantization또는 비닝binning이라고 하며, 주어진 값에 대한 버킷을 생성한다.
- 단점은 범주 분류가 범주 경계에서 불연속성을 발생시킨다는 점이다.