[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
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Spring
        • MVC
        • DB
        • 핵심 원리
        • JPA
      • WEB
        • HTML
        • CSS
        • HTTP
        • Application
      • Computer Science
        • Network
        • Database
        • OS
        • 시스템 프로그래밍
        • 컴퓨터구조
      • Algorithm
        • Divide&Conquer
        • Sort
        • Greedy
        • DP
        • Backtracking
        • NP-Complete
        • Graph
      • Data Structure
        • 자료구조
        • C++ STL
        • Java Collection
      • 소프트웨어 공학
        • 시험 공부 정리
        • Theorem
      • Programming Language
        • Python
        • Java
        • C
        • C++
        • Rust
        • Theory
      • Unix_Linux
        • Common
      • React
      • PS
        • BOJ
        • Tip
        • 프로그래머스
        • CodeForce
      • Book Review
        • Clean Code
      • Math
        • Linear Algebra
      • AI
        • DL
        • ML
        • DA
        • Concepts
      • 우아한테크코스
        • 프리코스
      • Project Review
      • LegacyPosts
      • Android
      • Apple
        • Mac
        • IPhone
        • IPad
      • 모니터
      • Diary
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

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

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.