탐색적 데이터 분석
탐색적 데이터 분석 Exploratory Data Analysis
- 특별한 가설 없이 데이터의 주요 특성을 시각적 및 통계적으로 조사하는 과정
- 가설을 검증하려는 경우는 확인적(Confirmatory) 데이터 분석
- 데이터의 기본적인 특성과 구조를 이해하여 적절한 모형과 방법을 선택
- 예: 데이터가 비선형 관계를 가지는 경우
- 이상치나 결측치 등을 조기에 발견하여 이를 수정하거나 처리
- 데이터를 탐색하면서 새로운 가설을 생성
변수의 종류
- 범주형 변수(categorical variable): 종류, 이름 등에 해당
- 숫자로 표시하더라도 양적인 개념이 아님
- 덧셈 등 대부분의 연산이 의미가 없음
- 순서가 있을 수도 있으나, 간격이 일정하지 않음
- 예: 주거 형태, 고향, 학력, 출석
- 연속형 변수(continuous variable): 연속적인 수치
- 간격이 일정하고 덧셈, 뺄셈 등의 계산이 의미가 있음
- 예: 무게, 나이, 시간, 거리, 자녀의 수, 시험 점수
기술 통계
- 기술 통계(descriptive statistics): 데이터를 묘사, 설명
- [참고] 추론 통계(inferential statistics): 데이터를 바탕으로 추론, 예측
- 중심 경향치: 데이터가 어디에 몰려있는가?
- 평균
- 중간값
- 분위수: 데이터에서 각각의 순위가 어느 정도인가?
- 변산성 측정치: 데이터가 어떻게 퍼져있는가?
- 범위, IQR
- 분산, 표준편차
평균
- N개의 값(x₁, x₂, … , xn)이 있을 때, 그 합계(Σ)를 N으로 나눈 것
df.price.mean() # 가격 평균
- 평균은 극단값에 따라 영향을 크게 받음
- 10, 20, 30, 40, 50이 있을 경우 → 30
- 10, 20, 30, 40, 500이 있을 경우 → 120
- 1986년 미국 노스캐롤라이나 대학 (UNC) 졸업생 평균 초봉 조사
- 가장 높은 학과는 지리학과 (25만 달러) vs. 당시 미국 대졸 평균 초봉은 2만 2천달러 수준
- 당시 마이클 조던이 UNC 지리학과를 졸업
중간값 median
- 값들을 크기 순으로 정렬했을 때 중간에 위치한 값
- 10, 20, 30, 40, 50의 중간값 → 30
- 10, 20, 30, 40, 500의 중간값 → 30
df.price.median() # 가격 중간값
- "중위수"라는 표현도 많이 사용 (중위소득, 중위가격 등)
- 값이 짝수개 있을 경우는 가운데 두 값의 평균
- 10, 20, 30, 40의 중간값 → 20과 30의 평균 → 25
평균 vs. 중간값
- 임금근로자 평균소득 > 중위소득
- 월 500만원 고소득차들이 있어서 평균을 끌어올림
- 평균으로 보면, 임금근로자의 소득에 대해 과대평가를 할 수 있음
- 중간값도 왜곡된 인식을 줄 수 있음
- 만약 여러 명의 방문 고객 중에 1명만 구매할 경우, 고객 1인당 중위매출 = 0원 → 평균과 달리 전체 매출을 알 수 없음
- 평균과 중간값이 보여주는 측면이 다르므로 둘 다 보는 것이 바람직
Python 최소, 최대, 퍼센타일
df.price.min() # 최소
df.price.max() # 최대
df.price.quantile(.25) # 분위수(하위 25% 위치)
분산 variance
- 편차(=값 – 평균) 제곱의 평균
- 직관적으로 이해하기는 어려우나 수학적으로 중요한 여러 성질이 있음
- 편차를 제곱하여 크기가 커지므로 표준편차(√분산)를 많이 사용
df.price.var() # 분산
df.price.std() # 표준편차
기타 기술 통계량
df.describe(): 숫자형 열에 대한 주요 기술 통계량 요약 (개수, 평균, 표준편차, 최소값, 사분위수, 최대값)df.price.sum(): 합계df.price.count(): 결측치 제외한 데이터 개수- 범주형 변수
df.model.unique(): 고유값의 종류df.model.nunique(): 고유값 개수df.model.value_counts(): 고유값별 개수
퀴즈
사용자 정보 입력
퀴즈를 시작하기 전에 이름과 소속을 입력해주세요.