본 게시물은 코드프레소의 code.PRESS-UP 체험단 과정을 담은 게시물입니다.
해당 게시물 수강강좌 :
파이썬으로 시작하는 통계 데이터 분석
파이썬 라이브러리를 사용하여 통계 데이터 분석 시작하기
이번 포스팅은 데이터 전처리에 대해 알아보겠습니다.
전처리에 대한 내용이 많다보니 코드프레소 강의에서는 Part.1 / Part.2로 나누어서 강의를 진행 중입니다.
데이터 오류 원인 분석
데이터 오류는 원천 데이터의 오류로 인해서 발생하거나 빅데이터 플로우의 문제로부터 발생함
결측값(Missing Value)
필수적인 데이터가 입력되지 않고 누락된 값
📊 평균값, 중앙값, 최빈값 같은 중심 경향값 넣기
📊 랜덤에 의하여 자주 나타나는 값을 넣는 분포기반 처리
노이즈(Noise)
실제는 입력되지 않았지만 입력되었다고 잘못 판단된 값
📊 일정 간격으로 이동하면서 주변보다 높거나 낮으면 평균값 대체
📊 일정 범위 중간값 대체
이상값(Outlier)
데이터의 범위에서 많이벗어난아주 작은 값이나 아주 큰 값
📊 하한보다 낮으면 하한값 대체
📊 상한보다 높으면 상한값 대체
데이터 정제 대상 선정
데이터 정제 방법 결정
삭제
대체
예측값
데이터 일관성 유지를 위한 정제기법
변환(Transform)
📍 다양한 형태로 표현된 값을 일관된 형태로 변환하는 작업
📍 코드, 형식 변환
파싱(Parsing)
📍 데이터를 정제 규칙을 적용하기 위한 유의미한 최소 단위로 분할하는 과정
📍 주민등록번호를 생년월일, 성별로 분할
보강(Enhancement)
📍 변환, 파싱, 수정, 표주화 등을 통한 추가 정보를 반영하는 작업
📍 주민등록번호를 통해 성별을 추출한 후 추가 정보 반영
데이터 정제 기술
ETL
📍 수집 대상 데이터를 추출, 가공(변환, 정제)하여 데이터 웨어하우스 및 데이터마트에 저장하는 기술
맵리듀스
📍 구글에서 대용량 데이터 세트를 분산, 병렬 컴퓨팅에서 처리하거나 생성하기 위한 목적으로 만들어진 소프트웨어 프레임워크
📍 모든 데이터를 키-값 쌍으로 구성하여 데이터를 분류
📍 데이터를 추출하는 맵(Map) 기술과 추출한 데이터를 중복 없게 처리하는 리듀스(Reduce) 기술로 구성
📍 배치(Batch) 형태 처리 방식으로 많은 데이터를 처리 할 때 성능이 느림
스파크/스톰(Spartk/Storm)
📍 In-Memory 기반 데이터 처리 방식
📍 스파크는 맵리듀스를 기반으로 성능을 개선한 것으로 실시간,배치 처리 모두 가능하며, 기계 학습과 라이브러리도 지원 가능
CEP(Complex Event Processing)
📍 실시간으로 발생하는 이벤트 처리에 대한 결괏값을 수집하고 처리하는 기술
📍 IoT 센싱 데이터, 로그, 음성데이터 등 실시간 데이터의 처리 기술
피그(Pig)
📍 대용량 데이터 집합을 분석하기 위한 플랫폼
📍 하둡을 이용하여 맵리듀스를 사용하기 위한 높은 수준의 스크립트 언어인 피그라틴(Pig Latin)을 제공
플럼(Flume)
📍 로그 데이터를 수집하고 처리하는 기법
📍 실시간에 근접하게 데이터를 전처리하고 수집하는 기술
📍 데이터를 기준에 따라 나누고, 선택한 매개변수를 기반으로 유사한 데이터를 그룹화하여 효율적으로 사용할 수 있는 프로세스
📍 사전에 군집 수를 정하지 않고 단계적으로 단계별 군집결과를 산출하는 계층적 방법과 군집을 위한 소집단의 개수를 정해놓고 각 객체 중 하나의 소집단으로 배정하는 비 계층적 방법이 있음
🏸 1. 계층적 방법
응집분석법
각 객체를 하나의 소집단으로 간주하고 단계적으로 유사한 소집단들을 합쳐 새로운 소집단을 구성해가는기법
분할분석법
전체 집단으로부터 시작하여 유사성이 떨어지는 객체들을 분리해가는 방법
🏸 2. 비 계층적 방법
인공신경망 모델
기계 학습에서 생물학의 신경망으로부터 영감을 얻은 통계학적 학습모델
K-평균 군집화
K개 소집단의 중심좌표를 이용하여 각 객체와 중심좌표간의 거리를 산출하고, 가장 근접한 소집단에 배정한 후 해당 소집단의 중심좌표를 업데이트하는 방식으로 군집화 하는 방식
내용이 어마어마합니다.
코드프레소 강의에서는 간단하게만 설명을 한것도 있고 자세하게 한것도 있고
안한 부분도 있지만 개인적으로 또 찾으며 정리하다 보니
데이터를 다루는것은 쉽지 않습니다.
다음 포스팅도 데이터 전처리 중 결측값을 어떻게 처리하는지에 대해 알아보겠습니다.
코드프레소와 함께