CertNote/ 출퇴근 학습 노트
로드맵
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
SCS-C03 · SpecialtySecurity - Specialty
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
  • Week 1
    • 1.ML 수명주기(ML Lifecycle): 비즈니스 문제 정의부터 A/B 테스트까지
    • 2.ML용 데이터 저장소: S3·EFS·FSx for Lustre·데이터 포맷
    • 3.데이터 수집: Kinesis·Glue·배치 vs 스트리밍
    • 4.데이터 레이블링: SageMaker Ground Truth·액티브 러닝(Active Learning)·레이블 품질
    • 5.1주차 종합 복습: ML 개요와 데이터 엔지니어링 1
  • Week 2
  • Week 3
  • Week 4
  • Week 5
    • 1.통계 기초: 분포·중심 경향·산포·변환·표본과 모집단
    • 2.상관관계 분석: 상관계수·상관과 인과의 차이·다변량 관계
    • 3.데이터 누수(Data Leakage): 원인·탐지·예방과 시계열 누수·타깃 누수
    • 4.검증 설계: 학습/검증/테스트 분할·교차 검증·시계열 분할·층화 샘플링
    • 5.5주차 종합 복습: 통계와 검증 설계
  • Week 6
  • Week 7
  • Week 8
  • Week 9
  • Week 10
  • Week 11
  • Week 12
합격 후기

© CertNote · 주간랩스

  • 소개
  • 수정 기록
  • 문의
  • 이용약관
  • 개인정보처리방침
← MLS-C01/Week 5/Day 1

기준: MLS-C01 시험 가이드·오류 제보

MLS-C01· AssociateWeek 5 · Day 1읽기 약 13분
핵심 정리
  • 평균부터 계산하지 말고 분포 모양(왜도·첨도)을 먼저 본다. 요약 통계량이 같아도 실제 모양은 전혀 다를 수 있다.
  • 치우쳤거나 이상치가 있으면 평균·표준편차 대신 중앙값·IQR 같은 강건(robust) 통계량을 쓴다.
  • 선형 스케일링(표준화·Min-Max)은 분포 모양을 바꾸지 않는다. 왜도를 줄이려면 로그·Box-Cox 같은 비선형 변환이 필요하다.
  • 손에 든 것은 언제나 표본(sample)이다. 모집단을 대표하는지(선택 편향), 표본이 충분한지(CLT)를 항상 의심한다.
  • 분포 진단은 목적이 아니라 전처리·지표·알고리즘 선택으로 이어지는 처방전이다. MLS는 진단이 아니라 처방을 묻는다.

Day 1 - 통계 기초: 분포·중심 경향·산포·변환·표본과 모집단

분포: 모양을 먼저 본다

EDA 마지막 주는 "데이터를 숫자로 정직하게 요약하고, 그 요약을 믿어도 되는지 검증하는" 일이다. MLS-C01은 알고리즘을 묻기 전에 통계 직관을 먼저 묻는다. 분포가 치우쳤는가, 평균과 중앙값 중 무엇을 믿을 것인가, 이 표본이 모집단을 공정하게 대표하는가 — 여기서 어긋나면 어떤 모델을 골라도 결론이 틀린다.

평균보다 먼저 분포를 본다. 모양을 먼저 본다. 평균이 같아도 모양은 천차만별이다.

분포 특징의미EDA 함의
대칭(symmetric)좌우 균형, 정규분포에 가까움평균·표준편차가 대표성을 가진다
오른쪽 치우침(양의 왜도)오른쪽 꼬리가 길다(소득·가격)평균 > 중앙값, 로그 변환 후보
왼쪽 치우침(음의 왜도)왼쪽 꼬리가 길다(만점 근처 점수)평균 < 중앙값
다봉(multimodal)봉우리가 여럿하위 집단이 섞여 있는지 의심
고첨도(high kurtosis)뾰족하고 꼬리가 두껍다이상치·극단값이 잦다
  • 왜도(skewness): 비대칭 정도. 0이면 대칭, 양수면 오른쪽 꼬리.
  • 첨도(kurtosis): 꼬리의 두께. 클수록 극단값이 잦다.
  대칭(정규)            오른쪽 꼬리(양의 왜도)       왼쪽 꼬리(음의 왜도)
    ▁▃▅█▅▃▁              ▂▅█▆▄▃▂▁▁▁                ▁▁▁▂▃▄▆█▅▂
   평균 = 중앙값            평균 > 중앙값                평균 < 중앙값
                        (소득·주택가격·체류시간)        (만점 근처 시험점수)

  다봉(multimodal)                      고첨도(heavy tail)
    ▁▃█▄▁▁▂▅█▃▁                          ▁▁▂▄█▄▂▁▁
   하위집단 혼재 의심 → 세그먼트 분리        가운데는 뾰족, 꼬리는 두껍다 → 이상치 빈발
import pandas as pd
 
df = pd.read_csv("data/transactions.csv")
 
# 분포 모양을 숫자로 요약
print(df["amount"].skew())      # 왜도: 양수면 오른쪽 치우침
print(df["amount"].kurt())      # 첨도: 양수면 뾰족하고 꼬리가 두껍다
print(df["amount"].describe())  # count, mean, std, min, 25/50/75%, max

"분포를 먼저 보라"는 원칙을 극적으로 보여 주는 사례가 앤스컴의 4중주(Anscombe's Quartet, 1973)다. 네 데이터셋이 평균·분산·상관계수·회귀직선까지 모두 같은데 산점도를 그리면 전혀 다른 모양(직선형, 곡선형, 이상치 하나가 선을 끌어당기는 형태 등)이 나온다. 요약 통계량만 믿고 시각화를 건너뛰면 실제 데이터 구조가 통째로 숨는다. EDA가 히스토그램·박스플롯·산점도를 항상 포함하는 이유다.

분포 진단 → 처방표

시험은 "왜도가 얼마냐"가 아니라 "그래서 무엇을 하느냐"를 묻는다.

관찰된 모양진단 신호처방(변환·전처리)대표값·지표
오른쪽으로 긴 꼬리skew > 0 (경험칙상 +1 넘으면 뚜렷)log1p / Box-Cox / Yeo-Johnson중앙값으로 보고
왼쪽으로 긴 꼬리skew < 0제곱·지수 변환, Yeo-Johnson중앙값으로 보고
극단값 소수 존재최댓값이 Q3+1.5·IQR을 크게 초과RobustScaler, 결측 대치는 중앙값IQR로 산포 보고
봉우리 2개 이상히스토그램 다봉하위 집단을 나눠 각각 분석·모델링세그먼트별 평균
값이 한 점에 몰림분산이 거의 0(준상수 컬럼)피처 제거—
0·음수가 섞임로그·Box-Cox 적용 불가Yeo-Johnson (log1p은 0까지만)—

중심경향: 평균·중앙값·최빈값

데이터를 대표하는 "가운데 값"이 중심경향이다.

  • 평균(mean): 전체 합 ÷ 개수. 이상치에 민감하다.
  • 중앙값(median): 정렬했을 때 가운데 값. 이상치에 강건하다.
  • 최빈값(mode): 가장 많이 나타나는 값. 범주형에 유용하다.

치우친 분포에서는 평균과 중앙값이 벌어진다. 오른쪽 치우침이면 긴 꼬리가 평균을 끌어올려 평균 > 중앙값이 된다. 소득·주택가격은 오른쪽으로 치우쳐 있어 평균보다 중앙값이 대표성이 높다.

상황권장 중심 통계량이유
대칭 분포평균모든 값의 정보를 쓰면서도 왜곡이 없다
치우침·이상치 존재중앙값극단값이 순위만 바꿀 뿐 가운데 값을 흔들지 못한다
범주형최빈값평균·중앙값 자체가 정의되지 않는다
결측 대치용 대표값치우쳤으면 중앙값, 대칭이면 평균대치값이 분포 중심을 왜곡하지 않아야 한다

산포: 얼마나 퍼져 있는가

중심만으로는 부족하다. 얼마나 흩어져 있는지를 함께 봐야 한다.

통계량정의성격언제 쓰나
범위(range)최댓값 − 최솟값이상치에 극도로 민감값의 물리적 한계 확인
분산(variance)편차 제곱의 평균단위가 제곱이라 해석이 어렵다이론·계산 중간 단계
표준편차(std)분산의 제곱근원래 단위로 해석 가능대칭 분포의 기본 산포
IQRQ3 − Q1이상치에 강건치우침·이상치가 있을 때
변동계수(CV)표준편차 ÷ 평균단위가 없어 서로 다른 변수 비교 가능스케일이 다른 변수 간 상대적 변동 비교

표준편차는 "평균에서 평균적으로 얼마나 떨어져 있는가"를 원래 단위로 말해 준다. 정규분포에서는 평균 ±1σ에 약 68%, ±2σ에 약 95%, ±3σ에 약 99.7%가 들어간다(68-95-99.7 규칙).

표본에서 표준편차를 구할 때는 n이 아니라 n−1로 나눈다(베셀 보정, Bessel's correction). 표본 평균은 그 표본에 대해 제곱 편차를 최소화하는 값이라, 그대로 쓰면 모집단 분산을 체계적으로 과소추정한다. 자유도를 하나 줄여(n−1) 이 편향을 보정한다. pandas .std()는 표본 기준(ddof=1)이 기본이고 numpy np.std()는 모집단 기준(ddof=0)이 기본이라 같은 데이터에서 값이 미묘하게 달라진다. 시험 함정 포인트다.

변환이 분포에 미치는 영향

스케일링과 변환의 결정적 차이는 모양이 바뀌는가다.

처리효과분포 모양
표준화(Z-score)평균 0, 표준편차 1불변. 위치·척도만 이동
Min-Max 정규화[0,1]로 압축불변. 척도만 변경
로그 변환큰 값을 압축오른쪽 꼬리가 대칭에 근접
제곱근 변환완만한 압축약한 치우침 완화
Box-Cox / Yeo-Johnson최적 λ 탐색정규분포에 근접

핵심 구분: 선형 스케일링(표준화·Min-Max)은 모양을 바꾸지 않는다. 왜도는 그대로 남는다. 왜도 자체를 줄이려면 로그·Box-Cox 같은 비선형 변환이 필요하다.

변환 기법 선택표

기법방법분포 모양요구 조건대표 용도주의
표준화(Z-score)(x − μ) / σ불변없음선형모델·신경망·PCA·거리 기반의 기본이상치에 민감
Min-Max(x − min) / (max − min)불변범위를 고정해야 할 때이미지 픽셀 등 [0,1] 입력이상치 하나가 나머지를 0 근처로 압축
RobustScaler(x − 중앙값) / IQR불변없음이상치가 많은 수치형결과 범위가 고정되지 않음
로그(log1p)log(1 + x)오른쪽 꼬리 완화x ≥ 0금액·조회수·체류시간음수 불가
제곱근√x약한 완화x ≥ 0카운트 데이터, 약한 치우침강한 치우침엔 부족
Box-Cox최적 λ 탐색정규에 근접x > 0(양수만)정규성 가정이 필요한 분석0·음수 데이터엔 사용 불가
Yeo-Johnson최적 λ 탐색정규에 근접음수·0 허용0·음수가 섞인 데이터변환 후 값 해석이 어려움
import numpy as np
from sklearn.preprocessing import StandardScaler, PowerTransformer
 
# 표준화: 모양은 그대로, 척도만 바뀐다
scaler = StandardScaler()
df["amount_std"] = scaler.fit_transform(df[["amount"]])
print(df["amount_std"].skew())   # 원본과 동일 — 모양 불변
 
# 로그 변환: 오른쪽 치우침 완화 (양수 전용)
df["amount_log"] = np.log1p(df["amount"])  # log(1+x), 0을 다룰 수 있다
print(df["amount_log"].skew())   # 0에 가까워짐 — 더 대칭적
 
# Box-Cox / Yeo-Johnson: 데이터가 최적 변환을 정한다
pt = PowerTransformer(method="yeo-johnson")
df["amount_yj"] = pt.fit_transform(df[["amount"]])

⚠️ 함정: "표준화·정규화하면 치우친 데이터가 정규분포가 되는가?"라는 질문이 함정이다. 아니다. 표준화는 평균과 척도만 바꾸고 왜도·첨도는 그대로 남는다. 정규성에 가까이 가려면 로그·Box-Cox 같은 비선형 변환이 필요하다. 또한 로그는 0과 음수에서 정의되지 않으므로 log1p나 Yeo-Johnson을 써야 한다.

⚠️ 함정: 어떤 변환이든 학습셋으로만 fit하고 검증·테스트셋에는 transform만 적용해야 한다. 전체 데이터로 평균·최댓값·λ를 구하면 그 순간 누수(leakage)다. 이 원칙은 Day 3에서 본격적으로 다룬다.

표본과 모집단

내 데이터는 거의 항상 표본이고, 알고 싶은 것은 모집단이다.

구분대상기호성격
모집단(population)관심 있는 전체 집합μ(평균), σ(표준편차)모수(parameter), 보통 알 수 없다
표본(sample)모집단에서 뽑은 부분집합x̄(표본평균), s(표본표준편차)통계량(statistic), 우리가 계산하는 값
  • 좋은 표본은 모집단을 편향 없이 대표한다.
  • 한 지역·한 기간에서만 수집하면 선택 편향(selection bias)이 생기고, 모델은 현실과 다른 분포를 학습한다.
  • 표본이 작으면 추정이 흔들리고, 커질수록 표준오차 σ/√n가 줄어 추정이 정밀해진다.

표본 평균이 모집단 평균을 믿을 만하게 추정하는 근거는 중심극한정리(CLT)다. 모집단 분포 모양과 무관하게 n이 충분히 크면 표본 평균들의 분포가 표준오차 σ/√n인 정규분포에 근사한다. 표본이 클수록 추정이 촘촘해지고 신뢰구간도 정규분포를 따른다. EDA에서 "표본이 충분히 크고 대표성이 있는가"를 묻는 습관이 여기서 나온다.

MLS 관점: 통계 진단이 어디로 이어지는가

AWS 서비스 매핑표

상황AWS 서비스·기능이유
코드 없이 분포·결측·이상치를 시각적으로 프로파일링SageMaker Data Wrangler데이터 임포트 후 내장 분석·시각화로 분포를 확인하고, 적용한 변환을 그대로 처리 흐름으로 내보낼 수 있다
S3의 대용량 원본을 SQL로 훑어 기초 통계 확인Amazon Athena서버 준비 없이 S3에 직접 쿼리해 count·평균·분위수를 뽑는다
시각적 UI로 프로파일 리포트와 정제 레시피 운영AWS Glue DataBrew코드 작성 없이 데이터 프로파일링·정제 단계를 재사용 가능한 형태로 관리
학습 전 데이터의 클래스 불균형·편향 점검SageMaker Clarify학습 전(pre-training) 편향 지표를 산출해 표본 대표성 문제를 조기에 잡는다
대규모 변환을 재현 가능한 잡으로 고정SageMaker Processing Job전처리 스크립트를 학습·추론에서 동일하게 재사용해 training-serving skew를 막는다
계산한 통계·파생 피처를 팀 공용으로 관리SageMaker Feature Store학습과 추론이 같은 피처 정의를 공유하게 만든다

지문 단서 → 정답 매핑표

지문 표현읽어야 할 신호고를 답
"소득 분포가 오른쪽으로 길게 늘어져 있다"양의 왜도로그·Box-Cox 변환, 대표값은 중앙값
"표준화했는데도 여전히 치우쳐 있다"선형 변환은 모양 불변비선형 변환이 필요하다
"극단적으로 비싼 매물이 몇 건 있다"이상치 존재중앙값·IQR·RobustScaler
"값에 0과 음수가 섞여 있다"로그·Box-Cox 사용 불가Yeo-Johnson
"히스토그램에 봉우리가 두 개다"하위 집단 혼재세그먼트를 분리해 각각 분석·모델링
"한 지역, 한 달 데이터만 수집했다"선택 편향표본 재설계, 대표성 확보
"표본을 늘렸더니 평균 추정이 안정됐다"표준오차 σ/√n 감소중심극한정리(CLT)
"pandas와 numpy의 표준편차 값이 다르다"ddof 기본값 차이베셀 보정(표본 ddof=1 vs 모집단 ddof=0)

내일은 변수 사이의 관계 — 상관계수와 인과 문제를 다룬다.

📖 용어

  • 왜도(skewness) : 분포가 한쪽으로 치우친 정도. 양수면 오른쪽 꼬리가 길다.
  • 첨도(kurtosis) : 꼬리가 얼마나 두꺼운지를 나타내는 값. 클수록 극단값이 잦다.
  • 강건 통계량(robust statistic) : 이상치가 있어도 크게 흔들리지 않는 통계량. 중앙값과 IQR이 대표적이다.
  • IQR(사분위 범위) : Q3(상위 25% 경계) − Q1(하위 25% 경계). 가운데 절반이 퍼진 폭.
  • 변동계수(CV) : 표준편차를 평균으로 나눈 값. 단위가 달라 직접 비교가 안 되는 변수들의 변동을 비교할 때 쓴다.
  • 베셀 보정 : 표본 분산을 구할 때 n 대신 n−1로 나눠 과소추정 편향을 바로잡는 방법.
  • 선형 변환 불변성 : 표준화·Min-Max처럼 위치와 척도만 바꾸는 변환은 분포 모양을 바꾸지 못한다는 성질.
  • Yeo-Johnson 변환 : Box-Cox와 달리 0과 음수가 있어도 쓸 수 있는 정규화 지향 비선형 변환.
  • 선택 편향(selection bias) : 표본을 모으는 방식 때문에 모집단과 다른 분포가 만들어지는 오류.
  • 중심극한정리(CLT) : 모집단 모양과 무관하게, 표본이 크면 표본 평균들의 분포가 정규분포에 가까워진다는 정리.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

오른쪽으로 길게 치우친 소득 분포에 표준화(StandardScaler)를 적용했다. 결과로 옳은 것은?

문제 2

같은 평균·분산·상관계수를 가진 네 데이터셋이 산점도에서는 전혀 다른 모양을 보였다. 이 사례가 강조하는 EDA 원칙은?

문제 3

매우 치우친 주택 가격 데이터에서 "대표 가격"을 보고하려 한다. 이상치에 강건한 중심 통계량은?

문제 4

pandas의 series.std()와 numpy의 np.std(array)가 같은 데이터에서 다른 값을 내는 이유로 옳은 것은?

문제 5

표본 크기가 커질수록 표본 평균이 모집단 평균에 더 정밀하게 수렴하고, 표본 평균의 분포가 정규분포에 가까워지는 현상의 근거가 되는 정리는?

이전4주차 종합 복습: 차원 축소·특성 선택·시각화·불균형Week 4 · Day 5다음 상관관계 분석: 상관계수·상관과 인과의 차이·다변량 관계Week 5 · Day 2

참고 공식 자료

  • MLS-C01 공식 시험 안내(새 탭에서 열림)
  • Amazon SageMaker AI 공식 문서(새 탭에서 열림)

이 페이지

  • 분포: 모양을 먼저 본다
  • 분포 진단 → 처방표
  • 중심경향: 평균·중앙값·최빈값
  • 산포: 얼마나 퍼져 있는가
  • 변환이 분포에 미치는 영향
  • 변환 기법 선택표
  • 표본과 모집단
  • MLS 관점: 통계 진단이 어디로 이어지는가
  • AWS 서비스 매핑표
  • 지문 단서 → 정답 매핑표
  • 용어
  • 연습 문제