코딩 기록들

다양한 데이터 처리방법 본문

이미지다루기및 데이터셋 구축

다양한 데이터 처리방법

코딩펭귄 2022. 12. 3. 03:20

다양한 데이터 처리방법

it 회사에서는 '데이터기반 의사결정'이 대세임 + '그로스해킹'도 데이터를 통한지표에 100%가까이 의존함

그로스해킹(groth : 성장 + 'hacking : 프로그래밍에 적용하다) = 데이터를 분석하여 성장을 방해하는 요인을 제거하고, 개선책을 지속적으로 실시해 서비스 성장시켜나가는일 ==> 즉, '성장 촉진 구조'를 제품과 서비스에 적용하는것

 

 

데이터 파이프라인 개요

데이터 파이프라인 : 데이터 생성해서 무사히 저장하기까지 일련의 과정

raw data = 정제되지 않은 데이터 -> 데이터파이프라인 -> 대시보드

데이터파이프라인이 하는일

  1. 데이터 생성
  2. 데이터 수집
  3. 데이터 가공후 저장(ETL : 데이터파이프라인의 하위개념, 하나의 시스템에서 데이터 추출, 변환해 데이터베이스 or 데이터 웨어하우스에 쌓아둔다)
  4. 데이터 시각화(BI)

데이터를 저장하는 과정이 복잡한이유 : 데이터가 누수되지않고 안전하게 저장되게 하기 위함

 

데이터 웨어하우스

  • 기간시스템의 데이터베이스에 축적된 데이터를 공통형식으로 변환해서 관리하는 DB
  • 저장하기전에 데이터가 처리되어야하며, 데이터웨어하우스에 어떤데이터를 포함할지 결정 '쓰기 스키마' 

데이터레이크

  • 구조,반구조,구조화안된 대량의 데이터를 저장, 처리, 보호하기위한 집중식 저장소
  • 현재 정의된 용도가 없는 비정형 원시데이터를 저장

데이터 분석 프로세스

  1. 문제정의
  2. 데이터수집
  3. 데이터 전처리 : 데이터 생성시 분석을전제로 데이터를 생성하지않았기때문에 전처리 과정이 필요(노이즈제거, 중복값제거, 결측값보정, 데이터 연계/통합, 데이터구조변경)
  4. 모델링
  5. 해석및 시각화

train data --

ex) 수능공부

validation data : train 할때 사용  -- ex)모의고사

test data = 제 3단계정도 되는 데이터 (validation data와는 다름)  -- ex) 수능문제

 

 

데이터 type 

categorical (범주형변수)

  • 관측결과가 몇개의 범주또는 항목의 형태로 나타나는 자료형, 빈도수
  • mode : 빈도수가 가장높은 categorical data type

Numerical(수치해석학)

  • 관측된 값이 수치로 측정되는 자료형
  • 평균, 중앙값, 표준편차std, 최대최소, 사분위수

 

 

데이터 format 

정형데이터

  • 데이터베이스의 사전에 정의된 규칙에맞게 들어간 데이터중, 수치만으로 의미파악이 쉬운 데이터 
  • 데이터 스키마를 지원, 스키마 구조를통해 탐색가능 ex) 스프레드시트, tables
  • 이상값 데이터 : 측정및 실험오류가 나타날수있음(이상값), 자연적 이상값 나타날수있음

비정형데이터

  • 형태가 없고, 연산이 불가능한 데이터 : 정해진규칙이 없어서 데이터의 의미를 쉽게 파악하기 힘들다
  • dataset이 아닌, 하나의 데이터가 객체화 되어있으며, 구조화가아니기때문에 이해하기 힘들다 - 이진파일형태 데이터면 종류별로 응용sw이용해 탐색 ex) 동영상(이진), 이미지(이진), 음성, text, 시계열데이터
  • 이상값데이터 : 처리오류, 샘플링오류, 데이터오류

반정형 데이터

  • 반은 semi를 의미 : 완전한 정형이 아닌 약한정형 데이터(DB는 아니지만 스키마 가지고있고, 연산 불가능)
  • 스키마에 해당하는 메타데이터가 데이터내부에 존대, 데이터내부에있는 규칙성 파악해 파싱parsing  규칙 적용 ex)  html, xml, json, 웹로그, IoT센서데이터

 

이상값 원인

  1. 인공(오류)/비자연적
  2. 자연적

 

다양한유형의 이상값

  1. 데이터오류
  2. 측정 오류 : 측정기기에 결함이 있는경우 발생
  3. 실험 오류
  4. 의도적 이상치 : 일반적으로 민감한 데이터와 관련된 자체보고 측정에서 발견됨
  5. 데이터 처리오류
  6. 샘플링오류
  7. 자연적 이상값 : 이상값이 인위적이지 않은경우(오류로인해) 자연적 이상값임

 

데이터 전처리 방법   

   >> 대부분 정형데이터에서 많이 사용되긴 함

  1. 데이터 클리닝 : 결측치 대체( 비정형데이터, ignore : 이미지에 검은박스로 채움 or 이미지 자르고 패딩먹여서 크기 맞춰줌(키우거나 조절)) / 잡음데이터(음성에서 사용) 평활 / 이상치 확인및 제거 / 불일치 해결
  2. 데이터통합 
  3. 데이터 변환
  4. 데이터 축소 : 축소된데이터도 원래데이터와 같은분석결과 얻을수있어야함 - 정형데이터에서 많이사용
  5. 데이터 이산화 : 수치값을 속성값으로 변환
  6. 데이터표현 특징추출 (ex가속도 센서 : 가속도특성에따른 연산필요), 데이터 축소의 일종이기도 함

 

결측치 처리방법

  1. 해당 튜플 무시 : 분류문제에서 클래스구분라벨이 빠진경우 > 임시값을 주거나,해당라벨을 사용하지 않고 분류해야함
  2. 기준에따라 자동으로 채우기 : 결측치에대한 값을 별도로 정의 ex)unknown, ignore 마스크 쓴/안쓴사람 분류
  3. 전문가가 직접 값을 채우기 : 가장 신뢰성이 높음 ex) 의료데이터

 

잡음데이터 처리방법

 >> 음성에서 많이 사용하는 방식

  • 잡음 : 랜덤에러나 측정된 변수의 변형된값, 발생원인 : 센서의 작동실패, 데이터전송문제, 데이터엔트리(기입, 표기)문제, 기술적인 한계, 데이터속성값의 부정확성
  • Bining : 데이터를 정렬 -> 일정주파수단위위 bins로 나눔 -> 대표값으로 변환 / 사용되는 대표값 : 평균, Median
  • Regression : 데이터 가장 잘 표현하는 추세함수를 찾아 이 함수의 값을 사용
  • 클러스터링 : 비슷한성격가진 클러스터단위로 묶은다음 outlier 제거

 

데이터 통합

  • 데이터통합 : 다양한데이터를 하나의데이터로 합치는것
  • 스키마통합 : 다양한 소스의 데이터를 통합
  • 데이터 통합시 문제및 해결책
  • // 해결방법//
  • 중복문제 : 연관관계 분석등을통해 중복제거
  • 일관성문제 : 계산 검증
  • entitty확인문제 : (비어있는경우) 검증체크
  • 표현문제 : 표현일치화 ex) kg, 파운드
  • 다른스케일에(mm와 cm)의한 통합문제 : 스케일 변환과정 필요

 

데이터변환

  1. 평활화 smoothing : 데이터의 노이즈 제거
  2. 집합 aggregation : 요약하고 데이터큐브를 생성하는 방법
  3. 일반화 generalization : 특정 구간 분포하는 값으로 스케일 변환시키는 방법
  4. 정규화 normalization : min-max ,  z-score  normalization / normalization by decimal scaling -> 각각의 방법은  test, train 데이터에 모두 적용해줭햐됨
  5. attribute / feature construction

 

Normalization과 정규화(Standardization)

표준화 : 평균까지의 거리로, 2개이상의 대상이 단위가 다를때, 대상데이터를 같은 기준으로 볼수있게 해줌

정규화 : 0~1 사이 값 사용

 

데이터축소

  • 데이터축소
  • 차원축소방법
  • 데이터 압축
  • DWT discrete wavelet transform
  • PCA principal cimponents analysis
  • 수량축소 Numerosity Reduction - 이미지처리 : CPU 영역 커야함

 

 

차원축소

- 차원축소는 feature로 구성된 다차원데이터 세트의 차원을 축소해 새로운차원의 데이터세트를 생성하는것

- 차원이 증가할수록 예측신뢰도가 떨어지고, 과적합(Overfiting) 발생

- 주성분분석(PCA)은 고차원의 데이터를 저차원의 데이터로 축소시키는 방법

1. 차원축소는 시각화 가능하게하며, 이를통해 데이터패턴을 쉽게 인지할수있음

2. 쓸모없는 feature 제거함으로써 > 노이즈 제거할수있음 >> 메모리 절약할수있음 >>> 모델성능향상에 기여

 

특정추출을 사용한 차원축소

- 목적 : 내재된 정보 많이 유지하며 특성집합을 새로운집합으로 변환하는것

- 단점 : 새로운 특성을 사람이 이해하지 못함(데잍터가 그저 숫자로 보이게 됨)

고품질 예측을 만들기 위한 데이터의 능력을 조금만 희색 + 특성의 수를 줄임

 

주성분 사용해 특성줄이기

- PCA는 타깃벡터정보 사용하지않고, 특성행렬만 이용하는 비지도학습기법

- PCA는 데이터의 분산 유지하며 특성수 줄이는 선형차원축소기법

- 특성줄이기위한 한가지방법은 2D 공간의 모든샘플을 1차원주성분에 투영하는것

 

 

선형적으로 구분되지않는 데이터의 차원축소

- 커널트릭 사용

 

클래스 분리를 최대화함으로써 특성 축소

선형판별분석(LDA) 

- 클래스를 최대한 분리하는 성분 축으로 특성을 투영

- 분류알고리즘이지만, 차원축소에도 자주 사용되는 기법

- 특성공간을 저차원 공간으로 투영함

- 사이킷런의 LinearDiscriminantAnalysis 클래스로 구현

 

 

 

범주형자료

- 수치로 측정이 불가능한 자료 ex) 성별, 지역, 혈액형 등

- 범주형자료가 숫자로 표현이 불가능한것은 아님. 숫자로 치환해 표현하면 범주형 자료로 볼수있음

- 범주형자료의 2가지 종류 : 1. 순위형자료(범주사이의 순서에 의미가 있음  ex랭킹), 2. 명목형자료(범주사이의 순서에 의미가 없음 ex 지역, 혈액형)

 

범주형자료의 표현및 처리방법

- 도수분포표 or 막대그래프로 표현이 가능

- 도수 각 범주에 속하는 관측값의 개수 의미

- 상대도수 도수를 자료의 전체개수로 나눈 비율을 의미

- 순서가 없는 범주형 데이터 처리 : 문자열타킷데이터 '원-핫 인코딩' 진행(사이킷런의 LabelBinarizer 사용)

 

 

 

 

'이미지다루기및 데이터셋 구축' 카테고리의 다른 글

[Dataset 구현] 1. customdataset  (1) 2023.01.05
CNN  (0) 2022.12.28
인공신경망  (0) 2022.12.23
04. Image augmentation  (0) 2022.12.16
이미지다루기_넘파이에 대하여  (0) 2022.12.06