데이터 전처리 : 시계열, 이미지, 텍스트
🔑 시계열 데이터, 이미지 데이터, 텍스트 데이터, 전처리시계열 데이터하나의 변수를 시간에 따라 여러 번 관측한 데이터가격, 매출, 온도, 성장 등 변화 예측과 반복되는 패턴에 대한 인사이트 도출을 목표로 함단순히 값 뿐만 아니라 변동성 등에 대한 다양한 예측시간 또는 회차 단위이며, 시간 t는 절대적인 순서가 중요한 데이터이므로 t는 고정하고 이외의변수들의 여러 요인에 대해 분석하는 것이 일반적시계열 데이터의 특징추세(trend) : 장기적인 증가 또는 감소계절성(seasonality) : 특정 요일/계절에 따라 영향주기(cycle) : 고정된 빈도가 아니지만 형태적으로 유사하게 나타나는 패턴노이즈(noise) : 측정 오류, 내부 변동성 등 다양한 요인으로 생기는 왜곡이미지 데이터이미지 데이터 전처..
2025.01.13
정형 데이터
🔑 범주형 데이터(순서형, 명목형), 수치형 데이터(이산형, 연속형), 피쳐 엔지니어링, 결측치, 이상치, 클러스터링, 차원 축소범주형 데이터 : 명확한 그룹 등으로 구분 - 순서형 / 명목형수치형 데이터 : 수로 나타남 - 이산형 / 연속형순서형인지 수치형인지가 고민된다면 산술연산의 의미를 두면 된다. (별점 4점은 별점 2점보다 2배 좋은건가?)경우에 따라 순서형도 수치형처럼 치환하여 계산해볼 수 있다. (평균 별점)범주형 데이터명목형 데이터순서가 상관없이 항목으로 구분되는 데이터데이터 분석에 있어서는 집단 간 분석에 용이 / 범주 별 관계 분석에도 용이 (추천 알고리즘)순서형 데이터에서는 오히려 적합할 수 있으나, 일반적으로 선형적인 연산이 들어가는 대부분 모델에서는 모델에 좋지 않은 영향명목형 ..
2025.01.13
데이터 분석 & 데이터 시각화
🔑 데이터 분석, 데이터 문해력, 데이터 선별, 데이터 시각화데이터 분석통계적 데이터 분석과거 통계적 데이터 분석 결과물의 핵심은 추론이다.전체 모집단이 존재하고, 현재 가지고 있는 데이터를 표본 집단으로 가정한다.현재의 표본 데이터로 모집단의 특징을 아는 것이 통계적 데이터 분석의 목적이다.데이터가 많아질수록 추론의 신뢰도가 높아진다.인공 신경망과 같은 최신 머신러닝 모델이 더 뛰어난 성능을 보이는 영역이 존재하나, 데이터의 수 및 학습 환경 등의 영향을 받기 때문에 해결하고자 하는 문제가 무엇이냐에 따라 통계 모델을 사용하기도 한다.데이터 문해력데이터를 건전한 목적과 윤리적인 방법으로 사용한다는 전제 하에, 현실 세상의 문제에 대한 끊임없는 탐구를 통해 질문하고 답하는 능력좋은 질문을 할 수 있는 ..
2025.01.10



시계열 데이터

  • 하나의 변수를 시간에 따라 여러 번 관측한 데이터
  • 가격, 매출, 온도, 성장 등 변화 예측과 반복되는 패턴에 대한 인사이트 도출을 목표로 함
    • 단순히 값 뿐만 아니라 변동성 등에 대한 다양한 예측
  • 시간 또는 회차 단위이며, 시간 t는 절대적인 순서가 중요한 데이터이므로 t는 고정하고 이외의
    변수들의 여러 요인에 대해 분석하는 것이 일반적

시계열 데이터의 특징

  • 추세(trend) : 장기적인 증가 또는 감소
  • 계절성(seasonality) : 특정 요일/계절에 따라 영향
  • 주기(cycle) : 고정된 빈도가 아니지만 형태적으로 유사하게 나타나는 패턴
  • 노이즈(noise) : 측정 오류, 내부 변동성 등 다양한 요인으로 생기는 왜곡




이미지 데이터

이미지 데이터 전처리

고차원 데이터를 전처리를 하는 이유는 크게 세가지

  1. 데이터 퀄리티 향상

  2. 데이터 양 증대

  3. 쉬운 검증(시각화를 통한 인지 개선)

    → 1과 2는 테크닉, 3은 시각화로 접근

  • 색상 공간(Color Space) : RGB, HSV, Grayscale

  • 노이즈 삽입(Noise)

  • 사이즈 조정(Resizing) : Crop & Interpolation

  • 아핀 변환(Affine Transformation) : 회전, 왜곡, 평행 이동 등

  • 특성 추출(Feature Extraction) : SIFT, SURF, ORB, FAST 등

    → 이후 task에 따라 도메인 지식 기반 변형 가능


이미지 데이터 라이브러리

  • OpenCV : 효율적인 처리, 복잡한 사용
    • BGR 순서로 데이터 저장. H * W로 저장
  • PIL (Python Image Library => Pillow) : 쉬운 이미지 전처리 기능 모두 제공
    • RGB 순서로 데이터 저장, W * H로 저장
  • scikit-image : SciPy 기반 이미지 처리, scikit-learn과 유사한 포맷으로 쉬운 사용
  • albumentations : 이미지 전처리용 라이브러리. 일반적으로 데이터 증강 등에 활용
  • torchvision : torch 기반 이미지 전처리
  • SciPy : 대부분의 기능적 요소 탑재, 다만 사용성이 다른 라이브러리에 비해 아쉬움




텍스트 데이터

정규 표현식

정규표현식(Regex) 정리



'Study - AI > EDA - Data Analysis' 카테고리의 다른 글

정형 데이터  (0) 2025.01.13
데이터 분석 & 데이터 시각화  (0) 2025.01.10



  • 범주형 데이터 : 명확한 그룹 등으로 구분 - 순서형 / 명목형
  • 수치형 데이터 : 수로 나타남 - 이산형 / 연속형

순서형인지 수치형인지가 고민된다면 산술연산의 의미를 두면 된다.

(별점 4점은 별점 2점보다 2배 좋은건가?)
경우에 따라 순서형도 수치형처럼 치환하여 계산해볼 수 있다. (평균 별점)





범주형 데이터

명목형 데이터

  • 순서가 상관없이 항목으로 구분되는 데이터
  • 데이터 분석에 있어서는 집단 간 분석에 용이 / 범주 별 관계 분석에도 용이 (추천 알고리즘)

순서형 데이터에서는 오히려 적합할 수 있으나, 일반적으로 선형적인 연산이 들어가는 대부분 모델에서는 모델에 좋지 않은 영향


명목형 데이터 전처리

  • Label Encoding
    • 숫자로 1 대 1로 매핑
    • 없는 레이블에 대해서 미리 전처리 필요 (기본값 -1로 설정한다거나)
    • 다음의 2개 이상에서 [0,1,2]등으로 레이블링을 한다면 자체적인 순서 존재
  • One-Hot Encoding
    • 순서 정보를 모델에 주입하지 않기 위한 방법
    • 추가로 다수 범주가 동시에 포함될 수 있는 경우에도 효과적인 인코딩
    • 변수에 따라 데이터가 커질 수 있음.오히려 학습 속도와 퀄리티에 악영향
  • Binary Encoding
    • 범주가 너무 많다면(모델 학습 시간 또는 메모리 문제 등)
    1. 레이블링을 우선한다.(0,1,2,3…)
    2. 이를 이진수로 변환한다 (000,001,010,…111)
    3. 이를 컬럼 데이터로 변환한다 [0,0,0][0,0,1]
      → 범주의 개수가 k개일 때 k<2^N을 만족하는 최소 N만큼의 컬럼 생성
    • 순서 정보를 없애며, 개수가 많은 범주에 효과적
    • 범주의 의미가 거의 사라진다
  • Embedding
    • 자연어 처리에 있어 적절한 임베딩 모델을 사용하는 것도 하나의 방법
  • Hashing
    • 랜덤 해시 값으로 순서정보를 없앨 수도 있음

순서형 데이터

각 값이 우위 등의 순서가 존재하는 데이터


순환형 데이터

  • 순서는 있지만 해당 값이 순환되는 경우 존재 (범주형/수치형 모두 포함)
    • 월, 요일, 각도 등
  • 삼각함수 등 값의 크기에 따라 순환되는 값을 사용할 수도 있음 (시계열 등에서도 사용 가능)
    • sin(2pii/n), cos(2pii/n)등
    • NeRF에서는 각도 값의 표현력을 넓히기 위해 한 값을 여러 개의 Sin,Cos값으로 치환해서 사용





수치형 데이터

  • 이산형 데이터(Discrete) : 정수 형태 → 인구 수, 횟수 등
  • 연속형 데이터(Continuous) : 실수 형태 → 키, 몸무게, 온도 등
  • 구간형 데이터 : 구간의 값이 중요 → 온도, 시간 등
  • 비율형 데이터 : 원점과의 거리가 중요 → 인구 수, 횟수, 밀도 등





정형 데이터 피쳐 엔지니어링

결측치 missing value

  • 데이터셋에 누락된 값 (Null, NA)
  • 대다수 모델에는 공백으로 값을 받지 않기 때문에 제외, 혹은 예측으로 처리함

결측치가 얼마나 있는가?

  1. 결측치가 과반수인 경우
    • 결측치 유무만 사용
    • 결측치 데이터 포함 열 제외
  2. 결측치가 유의미하게(>5%) 많은 경우
    • 결측치 정보가 유의미한 정보임을 우선 파악
    • 결측치를 채우기 위한 대푯값 전략
  3. 결측치의 개수가 매우 적은 경우
    • 결측치가 포함된 행의 값을 미포함하는 경우도 고려 가능
    • 결측치를 위한 대푯값 계산 필요

결측치를 채우기 위한 방법

  1. 규칙 기반
    • 도메인 지식이나 논리적 추론에 의한 방법
    • 지나치게 복잡하거나 단순한 경우 잘못된 편향이 반영될 수 있음
  2. 집단 대푯값
    • 특정 집단의 대푯값(평균, 중앙값, 최빈값) 등 사용
    • 집단 설계가 중요하고 이상치에 민감할 수 있음
  3. 모델 기반
    • 회귀모델을 포함한 다양한 모델을 통해 예측
    • 복잡한 패턴을 예측할 수 있으나 과적합 이슈 발생 가능



이상치 Outlier

  • 관측된 데이터의 범위에서 과하게 벗어난 값을 의미함
  • 사분위수(IQR), 표준편차, z-score 등의 기준이 대표적
  • DBSCAN, Isolation Forest 등의 방법론 존재

IQR(Inter Quantile Range)

  • IQR = 3분위수와 1분위수의 차이
    • 1분위수 : 1.5 * IQR 이상
    • 3분위수 ­: 1.5 * IQR 이상



피쳐 엔지니어링

  • 보다 나은 특성을 통해 좋은 모델을 만들고, 해석에 용이하게 만드는 과정
  • 특성 추출(Feature Extraction), 특성 선택(Feature Selection)



클러스터링 Clustering

  • 클러스터링(Clustering)이란 유사한 성격을 가진 데이터를 그룹으로 분류하는 것
  • 클러스터링 방법론
    • K-Mean : 그룹을 K개로 그룹화하여, 각 클러스터의 중심점을 기준으로 데이터 분리
    • Hierarchical Clustering : 데이터를 점진적으로 분류하는 방법
    • DBSCAN : 밀도기반 클러스터링
    • GMM : 가우시안 분포가 혼합된 것으로 모델링



차원 축소

  • 차원 축소(dimensionreduction)란 특성 추출 방법 중 하나로 데이터의 특성(feature)N개를 M개로 줄이는 방법을 통칭
    • 데이터의 복잡성 감소 : 고차원 데이터에서
    • 시각화 : 패턴 발견에 용이 =>클러스터링과 매우 밀접한 관련
    • 모델 성능 향상
  • 차원 축소 방법
    • 정보를 최대한 보유하고, 왜곡을 최소화해야 함.
      • 가까운 데이터는 최대한 가깝게, 먼 데이터는 최대한 멀게
    • PCA : 데이터의 공분산을 계산하여 고유 벡터를 찾아 투영
    • t-SNE : 데이터 포인트 간 유사성 모델링하여, 저차원 공간에서 재현
    • UMAP : 위상 구조의 정보를 최대화하여 저차원 공간에 재현
    • LDA : 클래스간 분산을 최대화하고, 클래스 내 분산을 최소화하는 방식
    • Isomap : 고차원에서 최단 경로 거리에 대한 정보를 저장
    • Autoencoder : 인코더/디코더 구조로 고차원 데이터의 정보를 최대한 저장한 저차원 공간

특정 벡터들이 하나의 평면에 새롭게 투영된 것 → 많이 왜곡된 것

→ 차원 축소는 정답이 될 수는 없다?





데이터 분석

통계적 데이터 분석

  • 과거 통계적 데이터 분석 결과물의 핵심은 추론이다.
  • 전체 모집단이 존재하고, 현재 가지고 있는 데이터를 표본 집단으로 가정한다.
  • 현재의 표본 데이터로 모집단의 특징을 아는 것이 통계적 데이터 분석의 목적이다.
  • 데이터가 많아질수록 추론의 신뢰도가 높아진다.
  • 인공 신경망과 같은 최신 머신러닝 모델이 더 뛰어난 성능을 보이는 영역이 존재하나, 데이터의 수 및 학습 환경 등의 영향을 받기 때문에 해결하고자 하는 문제가 무엇이냐에 따라 통계 모델을 사용하기도 한다.

데이터 문해력

  • 데이터를 건전한 목적과 윤리적인 방법으로 사용한다는 전제 하에, 현실 세상의 문제에 대한 끊임없는 탐구를 통해 질문하고 답하는 능력
  1. 좋은 질문을 할 수 있는 역량
  2. 필요한 데이터를 선별하고 검증할 수 있는 역량
  3. 데이터 해석 능력을 기반으로 유의미한 결론을 만들어내는 역량
  4. 가설 기반 A/B테스트를 수행하여 결과를 판별할 수 있는 역량
  5. 의사결정자들도 이해하기 쉽게 분석 결과를 표현할 수 있는 역량
  6. 데이터 스토리텔링을 통해 의사결정자들이 전체 그림을 이해하고 분석 결과에 따라 실행하게 하는 역량

탐색적 데이터 분석 (EDA, Exploratory Data Analysis)

  1. Input Data, 전처리 방법론, 모델 후보군 고려
    • 데이터 유형
    • 모델과 학습 방법론
    • 외부 유사 데이터
  2. Target Data와 Metric에 대한 (대략적인)정보 파악
    • 기본 모델 / 단일값 결과물에 대해 베이스라인 점수 파악

데이터 선별

  1. 데이터 수집이 올바르게 진행되었는가?

  2. 예외치(Outlier)는 어떻게 선별할 것인가?

  3. 예외된 데이터는 어떻게 이후 분석에 사용할 것인가?

  4. 결측치는 어떻게 생겼을까?

  5. 결측치가 있는 데이터를 사용할 것인가?

    1. 결측치는 모델에 넣기 전 전처리 작업을 거친다. 결측치가 포함된 행 또는 열 자체를 제거하기도 하며, 대푯값으로 대체하기도 한다.

      → 따라서 “결측치를 얼마나 모델에 넣을 것인가?” 는 선별 기준이 아니다

  6. 외부 데이터를 가져온다면 어떤 것이 가장 큰 차이로 존재할까?

  7. 새로 생길 데이터에 있어 고려하지 못한 사례는 어떤 게 있을까?(edgecase)




데이터 시각화

채널 Channel

  • 채널은 데이터의 속성을 시각적으로 표현하는 방법이다.
  • 색상, 크기, 모양은 데이터 시각화에서 사용되는 채널의 예이다.
  • 데이터의 복잡성을 감소시키지는 않는다
  • 데이터에 따라 적합한 채널이 존재한다. 예시로 색상은 정확한 수치 비교에는 적합하지 않다
  • 위치, 방향, 질감도 시각화의 채널이다.



전주의적 속성

  • 전주의적 속성이란 사람이 의식적인 주의를 기울이기 전에 무의식적으로 인지하는 시각적 특성
  • 색상의 대비 등



색상

범주형 Categorical

  • Discrete, Qualitative 등으로 불림
  • 독립된 색상으로 구성되며 범주형 변수에 사용
  • 서로 다른 색상을 사용하여 데이터 포인트들 사이의 명확한 구분을 제공
  • 색의 차이로 구분하는 것이 특징이지만, 채도나 명도 등의 개별적 차이로 범주를 구분하는 것은 어렵다

연속형 Sequential

  • 정렬된 값을 가지는 순서형, 연속형 변수에 적합
  • 연속적인 색상을 사용해 값 표현 → 밝기나 채도 등을 조절해 데이터의 크기나 강도 표현

발산형 Diverge

  • 연속형과 유사하지만 중앙을 기준으로 발산
    • 상반된 값이나 서로 다른 2개를 표현하는 데에 적합
  • 중앙의 색은 양쪽 점에서 편향되지 않아야 함 → 꼭 무채색일 필요는 없음 : RdYlBU 등의 색상도 사용됨 (중간값 연노랑)



'Study - AI > EDA - Data Analysis' 카테고리의 다른 글

데이터 전처리 : 시계열, 이미지, 텍스트  (0) 2025.01.13
정형 데이터  (0) 2025.01.13