코딩 기록들
다양한 데이터 처리방법 본문
다양한 데이터 처리방법
it 회사에서는 '데이터기반 의사결정'이 대세임 + '그로스해킹'도 데이터를 통한지표에 100%가까이 의존함
그로스해킹(groth : 성장 + 'hacking : 프로그래밍에 적용하다) = 데이터를 분석하여 성장을 방해하는 요인을 제거하고, 개선책을 지속적으로 실시해 서비스 성장시켜나가는일 ==> 즉, '성장 촉진 구조'를 제품과 서비스에 적용하는것
데이터 파이프라인 개요
데이터 파이프라인 : 데이터 생성해서 무사히 저장하기까지 일련의 과정
데이터파이프라인이 하는일
- 데이터 생성
- 데이터 수집
- 데이터 가공후 저장(ETL : 데이터파이프라인의 하위개념, 하나의 시스템에서 데이터 추출, 변환해 데이터베이스 or 데이터 웨어하우스에 쌓아둔다)
- 데이터 시각화(BI)
데이터를 저장하는 과정이 복잡한이유 : 데이터가 누수되지않고 안전하게 저장되게 하기 위함
데이터 웨어하우스
- 기간시스템의 데이터베이스에 축적된 데이터를 공통형식으로 변환해서 관리하는 DB
- 저장하기전에 데이터가 처리되어야하며, 데이터웨어하우스에 어떤데이터를 포함할지 결정 '쓰기 스키마'
데이터레이크
- 구조,반구조,구조화안된 대량의 데이터를 저장, 처리, 보호하기위한 집중식 저장소
- 현재 정의된 용도가 없는 비정형 원시데이터를 저장
데이터 분석 프로세스
- 문제정의
- 데이터수집
- 데이터 전처리 : 데이터 생성시 분석을전제로 데이터를 생성하지않았기때문에 전처리 과정이 필요(노이즈제거, 중복값제거, 결측값보정, 데이터 연계/통합, 데이터구조변경)
- 모델링
- 해석및 시각화
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센서데이터
이상값 원인
- 인공(오류)/비자연적
- 자연적
다양한유형의 이상값
- 데이터오류
- 측정 오류 : 측정기기에 결함이 있는경우 발생
- 실험 오류
- 의도적 이상치 : 일반적으로 민감한 데이터와 관련된 자체보고 측정에서 발견됨
- 데이터 처리오류
- 샘플링오류
- 자연적 이상값 : 이상값이 인위적이지 않은경우(오류로인해) 자연적 이상값임
데이터 전처리 방법
>> 대부분 정형데이터에서 많이 사용되긴 함
- 데이터 클리닝 : 결측치 대체( 비정형데이터, ignore : 이미지에 검은박스로 채움 or 이미지 자르고 패딩먹여서 크기 맞춰줌(키우거나 조절)) / 잡음데이터(음성에서 사용) 평활 / 이상치 확인및 제거 / 불일치 해결
- 데이터통합
- 데이터 변환
- 데이터 축소 : 축소된데이터도 원래데이터와 같은분석결과 얻을수있어야함 - 정형데이터에서 많이사용
- 데이터 이산화 : 수치값을 속성값으로 변환
- 데이터표현 특징추출 (ex가속도 센서 : 가속도특성에따른 연산필요), 데이터 축소의 일종이기도 함
결측치 처리방법
- 해당 튜플 무시 : 분류문제에서 클래스구분라벨이 빠진경우 > 임시값을 주거나,해당라벨을 사용하지 않고 분류해야함
- 기준에따라 자동으로 채우기 : 결측치에대한 값을 별도로 정의 ex)unknown, ignore 마스크 쓴/안쓴사람 분류
- 전문가가 직접 값을 채우기 : 가장 신뢰성이 높음 ex) 의료데이터
잡음데이터 처리방법
>> 음성에서 많이 사용하는 방식
- 잡음 : 랜덤에러나 측정된 변수의 변형된값, 발생원인 : 센서의 작동실패, 데이터전송문제, 데이터엔트리(기입, 표기)문제, 기술적인 한계, 데이터속성값의 부정확성
- Bining : 데이터를 정렬 -> 일정주파수단위위 bins로 나눔 -> 대표값으로 변환 / 사용되는 대표값 : 평균, Median
- Regression : 데이터 가장 잘 표현하는 추세함수를 찾아 이 함수의 값을 사용
- 클러스터링 : 비슷한성격가진 클러스터단위로 묶은다음 outlier 제거
데이터 통합
- 데이터통합 : 다양한데이터를 하나의데이터로 합치는것
- 스키마통합 : 다양한 소스의 데이터를 통합
- 데이터 통합시 문제및 해결책
- // 해결방법//
- 중복문제 : 연관관계 분석등을통해 중복제거
- 일관성문제 : 계산 검증
- entitty확인문제 : (비어있는경우) 검증체크
- 표현문제 : 표현일치화 ex) kg, 파운드
- 다른스케일에(mm와 cm)의한 통합문제 : 스케일 변환과정 필요
데이터변환
- 평활화 smoothing : 데이터의 노이즈 제거
- 집합 aggregation : 요약하고 데이터큐브를 생성하는 방법
- 일반화 generalization : 특정 구간 분포하는 값으로 스케일 변환시키는 방법
- 정규화 normalization : min-max , z-score normalization / normalization by decimal scaling -> 각각의 방법은 test, train 데이터에 모두 적용해줭햐됨
- 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 |