Sign In

[데이터 분석] EDA

Y
Yerim
  1. DataAnalysis

EDA란?

EDA 정의

•
탐색적 데이터 분석 Exploratory Data Analysis
•
벨 연구소의 수학자 ‘존 튜키’가 개발한 데이터 분석 방법론
•
데이터를 다양한 각도에서 관찰하고 이해하는 모든 과정
•
데이터를 분석하고 결과를 내는 과정에서 지속적으로 해당 데이터에 대한 ‘탐색과 이해’를 기반으로 가져야 한다

EDA의 목적

•
데이터의 이해
•
이상치 및 오류 탐지
•
패턴 발견
•
중요 변수 식별

EDA의 필요성

데이터 수집 → 데이터 전처리 → 순수 데이터 → EDA (탐색적 데이터 분석)
•
데이터를 다양한 관점에서 바라보면서 얻을 수 있는 이점들이 존재
•
데이터가 표현하는 현상을 더 잘 이해, 잠재적인 문제 발견
•
데이터의 다양한 패턴 발견 → 기존 가설 수정/새로운 가설 설정
•
자료 수집을 위한 기반
•
적절한 통계 도구 제시

EDA의 대상

•
일변량 Univariate: EDA를 통해 파악하려는 변수 1개, 데이터 설명 및 패턴 발견 목적
•
다변량 Multi-variate: 변수 2개 이상, 변수들간의 관계를 보는 것이 목적

EDA의 종류

•
시각화 Graphic: 차트, 그림 등, 데이터를 한 눈에 파악하여 대략적인 형태 파악 가능
•
비시각화 Non-Graphic: 주로 summary statistics, 정확한 값 파악 용이

EDA 유형

시각화
비시각화
일변량
일변량 시각화
일변량 비시각화
다변량
다변량 시각화
다변량 비시각화
•
일변량 시각화: 데이터를 전체적으로 살펴보는 것이 주목적
•
일변량 비시각화: 데이터의 distribution을 확인하는 것이 주목적
•
다변량 시각화: 주어진 둘 이상의 변수 간 관계를 전체적으로 살펴보는 것이 주목적
•
다변량 비시각화: 주어진 둘 이상의 변수 간 관계를 확인하는 것이 주목적

EDA 방법

•
기술 통계 분석: 평균, 중앙, 표준편차 등을 계싼하여 데이터의 중심 경향성과 분산 파악
•
시각화: 막대그래프, 히스토그램, 박스플롯, 산점도 등 → 데이터의 분포와 패턴 시각화
•
그룹화 및 집계: 데이터를 그룹화하고 집계하여 그룹 간 비교 및 경향성을 파악
•
상관분석: 변수 간의 상관계수를 계산하여 변수 간의 관계를 탐색

EDA 실행 순서

데이터 수집

•
데이터가 어떻게 수집되었는지 출처를 확인하고 데이터를 불러오기
•
데이터를 불러올 때 Python, R 등의 분석 도구들이 사용

전체적인 데이터 분석

•
분석의 목적과 목적에 맞는 변수가 무엇인지 확인
•
결측치가 있는지 확인하고 제거, 대체 등의 방법으로 적절히 처리
•
각 변수의 데이터 타입을 확인하고 필요에 따라 변환
•
이상치를 식별하고 처리
(데이터를 구성하는 각 속성값이 예측한 범위와 분포를 갖는지
→ 아니라면 그 이유가 무엇인지 확인)

개별 속성 관찰

•
개별 데이터를 관찰하여 전체적인 추세와 특이사항을 관찰
•
적절한 요약 통계 지표 사용 (평균, 중앙값, 분산 등)
•
시각화를 통해 데이터의 개별 속성에 따라 통계 지표가 적절한지 결정

상관 관계 분석

•
개별 속성 관찰에서 찾아내지 못했던 속성들의 조합, 패턴 발견
•
상관 계수를 통핸 변수 간의 상관 관계 확인
•
상관 계수를 히트맵 등으로 시각화하여 속성 간의 관계 분석

가설 설정 및 추가 분석

•
데이터에서 나타나는 패턴이나 트렌드를 식별
•
분석 결과를 바탕으로 가설을 수립

데이터 분석 준비

•
분석 목적에 맞게 데이터를 준비
•
필요한 경우 추가 데이터를 수집

결과 도출 및 해석

•
EDA를 통해 얻은 인사이트를 정리하고 해석
•
분석 결과를 실제 비즈니스 문제나 프로젝트 목표와 연결

주요 데이터 타입

•
주요 데이터 타입에는 수치형 numerical과 범주형 categrical이 존재
수치형
•
숫자형태로 되어 있는 데이터로 이산형 descrete 과 연속형 continuous이 존재
•
이산형: 변수가 가질 수 있는 값의 개수가 유한개 (정수와 같이 명확한 값으로 표현 가능)
•
연속형: 소수점으로 표현이 가능한 데이터 (어떤 구간 사이의 값을 가진다)
범주형
•
숫자로 측정할 수 없지만 여러 개의 값으로 구분 가능
•
명목형: 순서를 매길 수 없는 데이터
•
순서형: 순서를 가지고 있는 경우
판다스 데이터 타입
Python type
데이터 형태
카카오톡 데이터 예시
object
str or mixed
텍스트(문자열) 혹은 복합구성
- 텍스트 메시지 (text)
int64
int
정수
(integer numbers)
- 메시지 길이(msg_len)
- 메시지 단어 수(msg_word_count)
float64
float
실수
bool
bool
참/거짓 값(True/False)
datetime64
-
날짜와 시간
- 메시지 보낸 날짜 (date_time)
timedelta[ns]
-
두 시각의 차이
category
-
값이 유한개로 정해져 있는 문자열값
- 사용자 이름 (user_name),
- year, month, day, weekday
•
object: 문자와 숫자가 혼합된 데이터
•
int64: 정수형 수치형 데이터
•
float64: 실수형 수치형 데이터
•
bool: 참, 거짓
•
datetime64: 날짜와 시간을 나타내는 데이터
•
category: 범주형 데이터 타입 (순서형)

데이터의 분류

수치형 데이터 vs 범주형 데이터

수치형 데이터 (Quantitative Data)
범주형 데이터 (Categorical Data)
수치를 값으로 수학적 활용이 가능
어떤 대상의 그룹을 나눌 때 사용
ex) 나이, 키, 온도
ex) 성별, 성적, 별점

연속형 데이터 vs 이산형 데이터

연속형 데이터 (Continuous data)
이산형 데이터 (Discrete data)
더 작은 단위로 쪼갤 수 있다.
수를 세는 것만 가능하고 더 쪼갤 수 없다.
ex) 1년 강수량, 체중
ex) 책의 페이지수, 오늘 마주친 개의 수

순서형 데이터 vs 명목형 데이터

순서형 데이터 (Ordinal data)
명목형 데이터 (Nominal data)
순서 관계가 있는 범주형 데이터
순서 관계가 없는 범주형 데이터
ex) 영화 별점 평가, 대학교 과목 성적
ex) 개의 품종, 성별, 혈액형

척도

어떠한 대상의 특성을 단위를 사용하여 정량화한 것
•
“단위”로 봐도 무관하다.
•
척도는 범주형 자료, 연속형 자료에 따라 4가지로 구분된다.
◦
범주형 자료: 명목 척도, 순위 척도
◦
연속형 자료: 등간 척도, 비율 척도
•
척도에 따라 통계 분석이 달라진다.
•
명목 척도 / 순위 척도 → 척도에 따라 t-test, 카이제곱, 분산분석 중 어느 것을 사용할지 달라진다.

명목 척도 (Nominal Scale)

•
이름 뿐인 척도
•
ex) 성별(남/여), 국적(한국, 일본, 중국 등), 직업(회사원, 공무원, 자영업 등)
•
설문조사에 명목 척도가 많이 쓰인다.
◦
당신의 성별은? 1. 남 2. 여 → 숫자가 의미를 갖지는 않음
•
즉, 숫자로 표현될 수 있지만 수량적인 의미를 갖지 않고, 범주(카테고리)를 구분하는 용도로 쓰이는 척도이다.

순위 척도 (Ordinal Scale)

•
순위를 나타내는 척도
•
.학교 석차 -> 내가 취득한 시험 점수를 기준으로 내 성적이 몇 번째인지 나타내는 순위척도
•
관찰대상이 지닌 속성에 따라 순위를 결정
•
순서만 매기는 척도 -> 어떤 속성에 대한 우열 판단 O, 그들 사이에 얼마나 차이가 나는지는 알 수 없다. (1, 2등 사이 점수 차이는 알 수 없다.)

등간 척도 (Interval Scale)

•
속성을 평가할 수 있는 균일한 간격을 두고 측정하는 척도
•
ex) 섭씨 온도 (temperature), 리커트 척도(Likert scale)
•
해당 속성이 없는 절대 영점 (Abolust zero)가 없다. → 섭씨 0도는 온도가 없다는 것을 의미하는 것이 아니다. 단순히 기준점일 뿐

비율 척도 (Ratio Scale)

•
절대 영점이 있는 등간 척도
•
서열성, 등간성, 비율성의 세 속성을 모두 가짐
•
ex) 거리, 무게, 시간 등
•
사칙 연산이 가능하고 평균을 계산하는 것도 가능하다.
Tip! 통계학에서 변수와 데이터 분석에서 데이터의 차이는?
•
변수 → 측정하거나 조작하는 대상
•
데이터 → 실제 관측된 관측치들
Yerim-DevNote
Subscribe to 'Yerim-DevNote'
Subscribe to my site to be the first to receive notifications and emails about the latest updates, including new posts.
Join Slashpage and subscribe to 'Yerim-DevNote'!
Subscribe
👍