피처 엔지니어링(Feature Engineering)

calico·2025년 4월 8일

Artificial Intelligence

목록 보기
13/143

피처 엔지니어링(Feature Engineering)


  • 피처 엔지니어링(Feature Engineering)은 데이터를 분석하고 모델링하기 전에 원시 데이터를 전처리하고 변환하여 모델이 데이터를 효과적으로 학습할 수 있도록 만드는 과정입니다.

    • 이는 머신러닝 및 데이터 분석 단계에서 매우 중요한 역할을 하며, 좋은 피처 엔지니어링이 모델의 성능에 크게 영향을 미칩니다. 아래에서 주요 피처 엔지니어링 기법에 대해 설명하겠습니다.



1. 결측치 처리 (Handling Missing Values)


  • 데이터셋에 결측치가 포함되어 있는 경우, 이를 처리해야 모델 성능을 높일 수 있습니다.

    • 삭제: 결측치가 포함된 열 또는 행을 삭제합니다. (단, 데이터 손실 가능성 있음)

    • 대체(Imputation): 평균, 중앙값, 최빈값 또는 예측값으로 결측치를 대체합니다.

    • 플래그 추가: 결측치 여부를 나타내는 새로운 변수를 추가합니다.



2. 데이터 스케일링 및 정규화


  • 머신러닝 모델(특히 거리 기반 알고리즘)은 변수의 스케일에 영향을 받기 때문에 데이터의 스케일을 맞추는 과정이 필요합니다.

    • 표준화(Standardization): 데이터의 평균을 0, 표준편차를 1로 변환.

      • 공식: z=xμσz = \frac{x - \mu}{\sigma}
    • 정규화(Normalization): 데이터를 0과 1 사이로 변환.

      • 공식: xnorm=xmin(x)max(x)min(x)x_{norm} = \frac{x - min(x)}{max(x) - min(x)}



3. 범주형 데이터 인코딩 (Categorical Encoding)


  • 범주형 변수를 모델이 이해할 수 있는 수치형으로 변환하는 방법입니다.

    • 레이블 인코딩(Label Encoding): 범주를 숫자로 매핑 (예: A → 0, B → 1).

    • 원-핫 인코딩(One-Hot Encoding): 각 범주를 새로운 열로 만들고, 해당 범주의 값을 1로 표시.

    • 임베딩(Embeddings): 범주형 데이터를 저차원 연속 공간으로 변환 (주로 딥러닝에서 사용).



4. 특성 생성 (Feature Generation)


  • 새로운 특성을 생성하여 모델 입력으로 제공합니다.

    • 기존 변수의 조합: 변수 간 곱, 합, 차, 비율 등을 생성.

      • 예: 가격 & 판매량 → 매출
    • 날짜/시간 변수 처리: 단순 날짜에서 분, 시간, 요일, 월과 같은 추가 변수 생성.

    • 도메인 지식 활용: 데이터와 관련된 전문지식을 사용해 새로운 피처를 만듬.



5. 차원 축소 (Dimensionality Reduction)


  • 많은 변수로 구성된 데이터에서 중요도를 낮추고, 주요한 정보를 유지하면서 차원을 감소시킵니다.

    • PCA(Principal Component Analysis): 변수를 선형 변환하여 주성분을 생성.

    • LDA(Linear Discriminant Analysis): 클래스 정보를 활용하여 중요한 차원을 추출.

    • t-SNE, UMAP: 비선형 차원 축소 기법(주로 시각화에 사용).



6. 기술 통계 적용 (Feature Aggregation)


  • 특성을 요약하거나 통계적 수치로 변환하는 과정입니다.

    • 평균, 합계, 최대값, 최소값, 분산 등의 통계를 계산.

    • 그룹화 연산을 통해 데이터 집계. (예: 고객별 구매량의 평균 계산)



7. 비선형 변환 (Non-linear Transformations)


  • 데이터의 분포를 정규화하거나 이상치를 줄이기 위해 변환을 수행합니다.

    • 로그 변환(Log Transformation): 데이터 범위 축소.

    • 제곱근 변환(Square Root Transformation): 데이터의 스케일을 줄임.

    • Box-Cox, Yeo-Johnson: 정규성을 높이는 데 사용되는 방법.



8. 다항식 피처 생성 (Polynomial Features)


  • 변수의 다항식 형태(제곱, 세제곱 등)를 생성하여 모델 입력으로 추가합니다.

    • 예: x2,x3x^2, x^3 또는 x1x2x_1 \cdot x_2



9. 이상치 처리 (Outlier Handling)


  • 삭제: 이상치를 삭제.

  • 클리핑(Clipping): 최댓값과 최솟값 범위 내로 제한.

  • 변환: 이상치를 처리하기 위한 로그 변환이나 스케일 조정.



10. 특성 선택 (Feature Selection)


  • 중요하지 않은 피처를 제거하여 모델의 성능과 해석력을 개선.

    • 통계적 기법: 피어슨 상관계수, 카이제곱 검정.

    • 모델 기반 기법: Lasso, 중요도 순위(Feature Importance) 사용.

    • 차원 축소 기법: PCA 등을 사용해 선택.



이 외에도 데이터의 특성이나 프로젝트의 도메인에 따라 다양한 피처 엔지니어링 기법을 조합해서 사용할 수 있습니다. 피처 엔지니어링은 단순 기법 이상의 창의성과 도메인 지식을 요구하며, 모델 성능을 크게 좌우하는 요소 중 하나로 여겨집니다.

profile
https://velog.io/@corone_hi/posts

0개의 댓글