피처엔지니링
- 피처 엔지니어링은 기존에 raw데이터를 분석가가 모델이 학습할 수 있는 정보로 바꾸는 과정을 말합니다.
- 모델이 학습하는 정보를 만드는데에 있어서, 분석가가 가진 도메인지식이나 다양한 통찰력이 적용될 수 있습니다.
- 모든 경우에 만능인 피처 엔지니어링 방법은 존재하지 않으며, 모든 경우에 누가 분석하느냐에 따라 달라질 수 있습니다.
- 데이터에서 효과적으로 정보를 추출하는 기법인 피처 엔지니어링은 머신러닝의 성능을 좌우하는 중요한 역할을 합니다.
1 피처엔지니어링 기법
1.1 Imputation(결측치 처리)
- 결측치: 머신러닝 모델 성능에 영향을 준다.
- 70% 이상의 결측치가 있는 행과 열은 지워주는 것도 좋다.
- Numerical Imputation: 결측치를 0이나 중앙값으로 대체
- Categorical Imputation: 열의 가장 많이 발생한 값으로 결측치를 대체, 만약 많이 발생한 값이 없다면 'Other’로 대체
- Random sample imputation: 데이터셋에서 임의로 뽑은 값으로 결측치 대체
1.2 Outliers(이상치 처리)
- 제거 : boxplot 또는 백분위수등을 이용하여 이상치에 해당하는 값을 삭제한다.
- 치환 : 삭제가 어려운 경우 평균, 최빈값, 중앙값, 예측값등으로 치환한다.
1.3 Binning(구간화)
- categorical / numberical data에 모두 적용가능
- 데이터를 구간화하여 오버피팅을 줄일 수 있다.
- 100,000개의 열로 구성된 데이터셋의 경우, 카테고리를 합치는 것이 유리하다
1.4 Log Transform(로그 변환)
- 로그변환을 이용하면 한 쪽에 편향된 데이터를 정규분포에 가깝게 만들어 준다
- 이상치의 영향을 줄이고, 오버피팅을 방지한다.
1.5 One-hot encoding(원핫 인코딩)
- 범주형 자료를 수치형 자료로 바꾸어 정보의 손실없이 범주형자료를 그룹화해준다.
1.6 Extraction & merge(특징 추출 및 결합)
- 기존의 하나의 컬럼을 여러 개의 컬럼으로 분리하거나 여러 개의 컬럼을 하나의 컬럼으로 결합
- 컬럼 안에서의 특정한 정보를 추가로 얻을 수도 있고, 여러 개의 컬럼을 통한 정보를 얻을 수도 있음.
1.7 Scaling(스케일링)
Feature들의 크기, 범위를 정규화 시켜주는 것을 말함.
예를 들어, 키와 몸무게 데이터를 이용하여 100m 달리기 시간을 예측한다고 했을 경우 키와 몸무게는 단위가 다르다.
키의 범위가 170~180cm이고, 몸무게의 범위가 50kg~120kg이라고 하면, 100m달리기 시간을 예측하는데 몸무게가 더 큰 가중치를 갖게 된다.
따라서 키와 몸무게에 min-max Normalization을 적용하면 (x - 170) / (180 - 170), (x - 50) / (120 - 50)
0 ~ 1 사이에 수로 정규화가 되어 동등한 가중치를 갖게 한다.
'데이터분석' 카테고리의 다른 글
[데이터 분석] sales 데이터 전처리하기 (0) | 2021.06.30 |
---|---|
[데이터 분석] sales 데이터 분석 (0) | 2021.06.30 |
[데이터 분석] 오픈 API를 통한 데이터 수집 : 행정안전부_소방서위치조회서비스 (0) | 2021.06.30 |
[데이터 분석] 사람인 채용공고 크롤링 (0) | 2021.06.30 |
[데이터 분석] 아마존 ecommerse 데이터 분석 (0) | 2021.06.30 |
댓글