[AI/Concepts] Data Processing

2024. 10. 18. 22:36·AI/Concepts

데이터를 가져다 쓰기 전에 지저분한 데이터를 Cleaning하고, 밸런싱 해주는 과정이 필요하다.
Data Filtering, Handling Outliers, Handling Mssing Data, Balancing Data를 해줘야 한다.

  • 데이터 필터링 (Data Filtering): 더럽고, 복잡하거나 거친 데이터셋을 처리하는 과정
    • 컬럼 단위 필터링 (Column-wise Filtration)
    • 행 단위 필터링 (Row-wise Filtration)
      • 특정 Condition을 만족하는 얘만 가져올 수 있다.

 

Outlier들을 알아서 빼줄 수 있는 방법을 봐보자.

  • 이상치 처리 (Handling Outliers): 단변량 및 다변량 이상치 탐지
    • 단변량의 경우, 사분위수 범위(IQR) 또는 Z-점수를 사용
    • 다변량의 경우, 산점도나 클러스터링, 회귀 등을 활용한 고급 방법

 

 

데이터에서 빠져 있는 값들을 삭제하는 건 단점이 크다. Imputation을 해보자.

  • 결측치 처리 (Handling Missing Data): 데이터에서 빠져 있는 값들
    • 결측값을 삭제하는 대신, 대체(임퓨테이션)가 또 다른 옵션
      • 단순 대체 (평균, 중앙값, 최빈값)
      • k-NN Imputation
      • 모델 기반 방법

 

not uniform한 클래스 분포(ex. 환자 클래스)에서 데이터 균형을 맞춰줘야 한다.

  • 데이터 균형 맞추기 (Balancing Data): 처음부터 균형이 맞지 않았던 데이터를 조정
    • 언더샘플링(Undersampling) 및 오버샘플링(Oversampling)
    • SMOTE(합성 소수 오버샘플링 기법) : 이미 존재하는 값들 근접 데이터 모아서

 

numerical value의 scale을 맞춰줘야 한다.

  • 스케일링 (Scaling): 숫자형 컬럼을 공통 스케일로 변환
    • 최대 절대값 스케일링 (Maximum Absolute Scaling)
    • 최소-최대 스케일링 (Min-max Scaling)
    • Z-점수 방법 (Z-score Method)
    • 강건 스케일링 (Robust Scaling)
      • mean과 interquartile range 사용

 

categorical attribute 또한 숫자로 바꿔줘야 한다.

  • 인코딩 (Encoding): 범주형 컬럼을 숫자형으로 변환
    • 원-핫 인코딩 (One Hot Encoding)
    • 레이블 인코딩 (Label Encoding)
    • 서열 인코딩 (Ordinal Encoding)

 

모든 변수가 모델링에 필요하지 않다. 불필요한 변수가 성능을 떨어트릴 수도 있고, overfitting 위험도 있다 -> Feature Selection이 필요하다.

  • 속성 선택 (Attribute Selection): 속성 수를 줄이는 과정
    • 모델을 간단하고 설명 가능하게 만듦
    • 필터 기반 (Filter-based): 상관관계, 통계적 테스트 등
    • 래퍼 기반 (Wrapper-based): 전진 탐색, 재귀적 제거 등
    • 임베디드 방법 (Embedded): 모델 자체에서 중요도를 제공 (예: 트리 기반 모델)

⠀

'AI > Concepts' 카테고리의 다른 글

[AI/Concepts] 06. Uncertainty  (0) 2024.11.19
[AI/Concepts] 05. Knowledge  (0) 2024.11.19
[AI/Concepts] Agent and Search  (0) 2024.10.18
[AI/Concepts] Data Analysis  (0) 2024.10.18
[AI/Concepts] Introductions of AI  (0) 2024.09.06
'AI/Concepts' 카테고리의 다른 글
  • [AI/Concepts] 05. Knowledge
  • [AI/Concepts] Agent and Search
  • [AI/Concepts] Data Analysis
  • [AI/Concepts] Introductions of AI
lumana
lumana
배움을 나누는 공간 https://github.com/bebeis
  • lumana
    Brute force Study
    lumana
  • 전체
    오늘
    어제
    • 분류 전체보기 (456)
      • Software Development (27)
        • Performance (0)
        • TroubleShooting (1)
        • Refactoring (0)
        • Test (8)
        • Code Style, Convetion (0)
        • DDD (0)
        • Software Engineering (18)
      • Java (71)
        • Basic (5)
        • Core (21)
        • Collection (7)
        • 멀티스레드&동시성 (13)
        • IO, Network (8)
        • Reflection, Annotation (3)
        • Modern Java(8~) (12)
        • JVM (2)
      • Spring (53)
        • Framework (12)
        • MVC (23)
        • Transaction (3)
        • AOP (11)
        • Boot (0)
        • AI (0)
      • DB Access (1)
        • Jdbc (1)
        • JdbcTemplate (0)
        • JPA (14)
        • Spring Data JPA (0)
        • QueryDSL (0)
      • Computer Science (129)
        • Data Structure (27)
        • OS (14)
        • Database (10)
        • Network (21)
        • 컴퓨터구조 (5)
        • 시스템 프로그래밍 (23)
        • Algorithm (29)
      • HTTP (8)
      • Infra (1)
        • Docker (1)
      • 프로그래밍언어론 (15)
      • Programming Language(Sub) (77)
        • Kotlin (1)
        • Python (25)
        • C++ (51)
        • JavaScript (0)
      • FE (11)
        • HTML (1)
        • CSS (9)
        • React (0)
        • Application (1)
      • Unix_Linux (0)
        • Common (0)
      • PS (13)
        • BOJ (7)
        • Tip (3)
        • 프로그래머스 (0)
        • CodeForce (0)
      • Book Review (4)
        • Clean Code (4)
      • Math (3)
        • Linear Algebra (3)
      • AI (7)
        • DL (0)
        • ML (0)
        • DA (0)
        • Concepts (7)
      • 프리코스 (4)
      • Project Review (6)
      • LegacyPosts (11)
      • 모니터 (0)
      • Diary (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
lumana
[AI/Concepts] Data Processing
상단으로

티스토리툴바