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
  • Week 6
    • 1.알고리즘 선택: 문제 유형별 매핑
    • 2.SageMaker 내장 알고리즘 1: XGBoost·Linear Learner·K-Means·KNN
    • 3.SageMaker 내장 알고리즘 2: 텍스트·이미지·시계열·추천
    • 4.비지도 학습과 이상 탐지: RCF·PCA·IP Insights·토픽 모델(LDA/NTM)
    • 5.6주차 종합 복습: 알고리즘 선택과 SageMaker 내장 알고리즘
  • Week 7
  • Week 8
  • Week 9
  • Week 10
  • Week 11
  • Week 12
합격 후기

© CertNote · 주간랩스

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

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

MLS-C01· AssociateWeek 6 · Day 2읽기 약 12분
핵심 정리
  • "정형 데이터 + 높은 정확도"는 거의 항상 XGBoost다. 트리 기반이라 스케일링이 필요 없고 결측치를 자체 처리한다.
  • "초대규모 + 빠름 + 선형/해석 가능"은 Linear Learner. 여러 모델을 동시에 학습해 최적을 자동 선택한다.
  • "레이블 없이 그룹/세분화 발견"은 K-Means. 클러스터 수 k를 반드시 사전에 지정해야 한다.
  • 거리·선형 계열(KNN, K-Means, Linear Learner)은 스케일링이 필수, 트리(XGBoost)는 불필요. "스케일링 생략" 보기는 거리/선형 계열에서 오답 신호다.
  • XGBoost 과적합 시나리오의 정답 방향은 max_depth↓, eta↓, 정규화(gamma/lambda/alpha)↑, subsample↓다.

Day 2 - SageMaker 내장 알고리즘 1: XGBoost·Linear Learner·K-Means·KNN

네 알고리즘 한눈에

어제의 매핑 표에서 오늘은 가장 흔한 정형(표 형식) 데이터 알고리즘 네 개를 깊이 판다. 시험 범위에 드는 핵심 빌트인이며, 각각이 어떤 문제에 맞는지·입력 포맷·핵심 하이퍼파라미터를 구별하는 것이 관건이다.

알고리즘유형스케일링입력 포맷강점지문 신호
XGBoost지도(분류/회귀)불필요CSV, libsvm, Parquet, RecordIO-protobuf정형 최강, 비선형·상호작용"표 형식 / 높은 정확도 / Kaggle식"
Linear Learner지도(분류/회귀)필요RecordIO-protobuf(권장), CSV초대규모에서 빠름, 해석 용이"거대한 데이터 / 선형 / 빠름"
K-Means비지도(군집)필요RecordIO-protobuf, CSV레이블 없이 그룹 자동 발견"세분화 / 그룹 발견 / 레이블 없음"
KNN지도(분류/회귀)필요RecordIO-protobuf, CSV단순·비모수적"가장 비슷한 사례 / 이웃 기반"
                  [정형 데이터 문제]
                          │
              레이블이 있는가?
        ┌─────────예─────────┴────────아니오────────┐
        │                                          │
   출력이 범주/수치                            그룹을 발견
        │                                          │
 ┌──────┴───────┐                              K-Means
 │              │                            (k 사전 지정,
관계가 비선형?   "가장 비슷한                  스케일링 필수)
 │              사례로 판단"
 ├─ 예 → XGBoost      │
 │   (스케일링 불필요)  └→ KNN
 └─ 아니오/초대규모/해석      (스케일링 필수,
      → Linear Learner        고차원에 취약)
        (스케일링 필요)

XGBoost — 정형 데이터의 주력

그래디언트 부스팅 트리. 분류·회귀 모두 강력해 실무·시험·캐글에서 사실상 정형 데이터의 기본값이다.

  • 용도: 이진/다중 분류, 회귀, 랭킹
  • 입력 포맷: CSV, libsvm, Parquet, RecordIO-protobuf (CSV는 첫 번째 컬럼이 레이블)
  • 강점: 결측치를 자체적으로 처리, 비선형성과 상호작용을 자동 포착, 트리 기반이라 스케일링 불필요

핵심 하이퍼파라미터:

objective         binary:logistic | multi:softmax | reg:squarederror
num_round         부스팅 라운드 수(트리 개수)
max_depth         트리 깊이 — 클수록 복잡·과적합 위험
eta               학습률 (작을수록 느리게 수렴, 보통 0.01~0.3)
subsample         행 샘플링 비율 (과적합 억제)
colsample_bytree  컬럼 샘플링 비율
gamma, lambda, alpha   정규화 (과적합 억제)
scale_pos_weight  클래스 불균형 보정

XGBoost의 과적합 제어는 "모델을 단순화하는" 손잡이들의 조합이다. max_depth를 줄이고, eta를 낮추는 대신 num_round를 늘리고, subsample/colsample_bytree로 무작위성을 주고, gamma/lambda/alpha로 정규화를 건다. 시험에서 "학습 손실은 계속 떨어지는데 검증 손실이 오른다(과적합)"는 시나리오는 대개 max_depth↓ / eta↓ / 정규화↑ / subsample↓ 방향이 정답이다. 과소적합은 반대 방향이다.

XGBoost 튜닝 방향표

증상낮출 것높일 것근거
과적합(검증 손실↑, 학습 손실↓)max_depth, eta, subsample, colsample_bytreegamma, lambda, alpha모델 복잡도를 낮추고 정규화를 건다
과소적합(둘 다 높음)gamma, lambda, alphamax_depth, num_round표현력을 키운다
학습이 너무 느림num_roundeta학습률을 키우면 적은 라운드로 수렴
양성 클래스가 극히 드묾—scale_pos_weight소수 클래스 가중치를 올려 불균형 보정

⚠️ 함정: eta를 낮추기만 하고 num_round를 그대로 두면 학습이 덜 된 채 끝나 과소적합이 된다. eta↓와 num_round↑는 짝으로 움직인다.

Linear Learner — 선형 모델, 초대규모, 빠름

선형/로지스틱 회귀를 SageMaker가 분산·최적화해 제공하는 버전. 분류와 회귀를 모두 지원한다.

  • 용도: 이진/다중 분류, 회귀
  • 입력 포맷: RecordIO-protobuf(권장, 효율적), CSV
  • 강점: 거대한 데이터에서 빠르고, 여러 모델을 동시에 학습해 최적을 자동 선택한다. 해석이 쉽다
  • 주의: 선형 모델이므로 피처 스케일링이 결정적이다(빌트인이 정규화 옵션을 제공)

핵심 하이퍼파라미터:

predictor_type        binary_classifier | multiclass_classifier | regressor
num_classes           다중 분류일 때의 클래스 수
mini_batch_size       미니배치 크기
learning_rate         학습률
l1, wd(L2)            정규화
normalize_data        입력 표준화 여부
balance_multiclass_weights   불균형 보정

XGBoost와 Linear Learner의 갈림길: 비선형 관계가 중요하면 XGBoost, 대체로 선형이고 규모가 거대하며 해석이 중요하면 Linear Learner.

비교 축XGBoostLinear Learner
관계 형태비선형·상호작용 자동 포착선형 가정
규모중간 규모 정형에 최적수억 행급에서 빠름
해석 가능성피처 중요도 수준계수로 직접 해석
스케일링불필요필요(normalize_data)
정규화 손잡이gamma, lambda, alphal1, wd(L2)
불균형 보정scale_pos_weightbalance_multiclass_weights

K-Means — 비지도 군집

레이블 없이 데이터를 k개 그룹으로 나눈다. 고객 세분화 등에 쓴다.

  • 용도: 군집(비지도)
  • 입력 포맷: RecordIO-protobuf, CSV
  • 핵심: 클러스터 수 k를 반드시 사전에 지정해야 한다
  • 주의: 거리 기반이므로 스케일링이 필수다

핵심 하이퍼파라미터:

k                 클러스터 수 (필수)
feature_dim       피처 차원
mini_batch_size   미니배치 크기
init_method       random | kmeans++ (초기 중심 선택)
extra_center_factor   후보 중심을 넉넉히 만든 뒤 줄이는 배수

k 선택에는 정답이 하나로 정해지지 않으므로 아래 방법을 쓴다.

방법보는 것판단 기준
엘보우(WCSS)k를 늘릴 때 군집 내 제곱합의 감소폭감소가 꺾이는 지점(팔꿈치)을 k로
실루엣 계수자기 군집 응집도 대비 이웃 군집 분리도값이 최대가 되는 k
도메인 제약운영상 다룰 수 있는 세그먼트 수마케팅이 5개까지만 운영 가능하면 k=5

SageMaker K-Means는 extra_center_factor로 후보 중심을 넉넉히 만든 뒤 줄여 안정적인 클러스터를 찾는다.

KNN — 거리 기반 분류/회귀

가장 가까운 k개 이웃의 다수결(분류) 또는 평균(회귀)으로 예측한다.

  • 용도: 분류, 회귀
  • 입력 포맷: RecordIO-protobuf, CSV
  • 핵심: 학습이라기보다 "기억"에 가깝다. 추론 시 이웃 탐색 비용이 크므로 SageMaker는 차원 축소(sample_size, dimension_reduction)로 가속한다
  • 주의: 거리 기반이라 스케일링 필수. 고차원에서 성능이 급격히 떨어진다(차원의 저주)

핵심 하이퍼파라미터:

k                 참조할 이웃 수
sample_size       학습에 사용할 샘플 수
dimension_reduction_type   sign | fjlt (차원 축소 방식)
predictor_type    classifier | regressor
k 값결과위험
매우 작음(k=1)경계가 들쭉날쭉, 노이즈까지 학습과적합
매우 큼경계가 뭉개지고 다수 클래스로 쏠림과소적합

차원의 저주란 차원이 늘수록 데이터가 공간에 흩어져 "가장 가까운 이웃"과 "가장 먼 이웃"의 거리 차이가 줄어드는 현상이다. 거리 자체가 변별력을 잃으므로 KNN 같은 거리 기반 알고리즘의 성능이 무너진다. SageMaker KNN이 dimension_reduction_type(sign, fjlt)을 제공하는 이유가 여기 있고, PCA(Day4)로 미리 차원을 줄이는 접근도 같은 목적이다.

거리 기반 알고리즘(KNN, K-Means)과 선형 모델(Linear Learner)은 피처 스케일이 결과를 직접 왜곡하므로 스케일링이 필수다. 예를 들어 "연봉(백만 단위)"과 "나이(수십 단위)"를 스케일링 없이 넣으면 유클리드 거리가 연봉에 지배당한다. 반면 트리 기반(XGBoost)은 각 피처를 독립적으로 임계값 분할하므로 스케일에 불변이다. 시험에서 "스케일링이 필요한가?"를 물으면 즉답: 거리/선형 계열은 필요, 트리 계열은 불필요.

전처리 요구 정리

알고리즘스케일링결측치범주형비고
XGBoost불필요자체 처리 가능숫자로 인코딩 필요CSV는 첫 컬럼이 레이블
Linear Learner필요사전 처리 필요인코딩 필요normalize_data 옵션 제공
K-Means필수사전 처리 필요인코딩 필요거리 기반
KNN필수사전 처리 필요인코딩 필요고차원이면 차원 축소 병행

네 알고리즘의 평가 지표

같은 알고리즘이라도 predictor_type/objective에 따라 봐야 할 지표가 달라진다.

상황주 지표무엇을 말하는가함정
이진 분류(균형)Accuracy, F1전반적 적중과 균형균형일 때만 accuracy가 의미 있다
이진 분류(불균형)Recall, PR-AUC소수 클래스를 실제로 잡는지accuracy는 "전부 음성"으로도 99%가 나온다
다중 분류macro F1클래스별 성능을 동등 가중micro 평균은 다수 클래스에 끌려간다
회귀(큰 오차가 치명적)RMSE큰 오차를 제곱으로 크게 벌준다이상치 하나에 크게 흔들린다
회귀(이상치 많음)MAE평균적인 오차 크기큰 오차를 관대하게 본다
군집(K-Means)실루엣 계수, WCSS응집도·분리도, k 선택정답 레이블이 없어 절대 비교가 불가능

⚠️ 함정: 군집 결과를 "정확도"로 평가하겠다는 보기는 오답이다. K-Means는 비지도라 비교할 정답 레이블 자체가 없다. 내부 지표(실루엣, WCSS)나 도메인 해석으로만 평가한다.

클래스 불균형 대응

대응방법적용 알고리즘
가중치 보정소수 클래스 가중치를 올린다XGBoost scale_pos_weight, Linear Learner balance_multiclass_weights
지표 교체accuracy 대신 recall·F1·PR-AUC전 분류 알고리즘 공통
임계값 조정확률 컷오프를 0.5에서 옮긴다확률을 출력하는 분류기
문제 재정의레이블이 극히 드물면 비지도 이상 탐지로RCF(Day4)

공통 운영 팁

  • RecordIO-protobuf는 대부분의 빌트인에서 가장 효율적인 입력 포맷이다(파이프 모드로 스트리밍 학습 가능).
  • 큰 데이터는 Pipe 모드로 S3에서 스트리밍하면 디스크 복사 없이 학습 시작이 빨라진다.
  • 하이퍼파라미터는 SageMaker Automatic Model Tuning으로 탐색할 수 있다(Week 7 주제).
[S3 학습 데이터]                [빌트인 컨테이너]            [모델 아티팩트]
 CSV / libsvm /      ──File─▶   하이퍼파라미터 지정   ──▶   s3://.../model.tar.gz
 Parquet /            또는      (objective, k, eta …)             │
 RecordIO-protobuf   ──Pipe─▶   검증 채널로 조기 종료             ▼
      │                                                  실시간 엔드포인트
 (스케일링·인코딩은                                        또는 배치 변환
  Processing Job에서 미리)
  • 스케일링·인코딩은 학습 잡이 아니라 앞단 전처리 단계에서 끝내고, 같은 로직을 추론에도 재사용해야 학습-서빙 불일치가 생기지 않는다.

지문 단서 → 정답 매핑표

지문 단서정답 방향오답으로 밀리는 것
"표 형식 데이터 + 높은 정확도"XGBoostLinear Learner(비선형을 못 잡음)
"결측치가 일부 있다"XGBoost(자체 처리)사전 대치 없는 거리/선형 계열
"수억 행 + 빠른 학습 + 계수 해석"Linear LearnerKNN(추론 비용 폭증)
"레이블이 없고 세그먼트를 찾고 싶다"K-MeansKNN(지도학습이라 레이블 필요)
"가장 유사한 과거 사례로 판단"KNN—
"검증 손실만 오른다"max_depth↓, eta↓, 정규화↑max_depth↑
"스케일링을 생략해도 된다"XGBoost일 때만 참KNN/K-Means/Linear Learner면 오답
클러스터 수를 물어봄K-Means의 kXGBoost의 num_round, Linear의 predictor_type

K-Means와 KNN은 이름이 비슷해 보기에서 자주 섞인다. K-Means는 비지도 군집(레이블 없음), KNN은 지도 예측(레이블 필요)이다. "k"라는 글자만 보고 고르면 틀린다.

내일은 텍스트·이미지·시계열·추천처럼 데이터 형태가 특수할 때 쓰는 전문 빌트인을 다룬다.

📖 용어

  • 그래디언트 부스팅 : 약한 트리를 순차로 얹어 이전 트리의 오차를 보정해 나가는 앙상블 학습 방식.
  • libsvm 포맷 : 레이블 인덱스:값 인덱스:값 형태로 0이 아닌 값만 적는 희소 데이터 텍스트 포맷.
  • RecordIO-protobuf : SageMaker 빌트인이 선호하는 이진 입력 포맷. 파일이 작고 파이프 모드 스트리밍에 유리하다.
  • Pipe 모드 : 학습 데이터를 인스턴스 디스크로 복사하지 않고 S3에서 바로 스트리밍하는 입력 방식.
  • eta(학습률) : 각 부스팅 라운드가 모델을 얼마나 크게 갱신할지 정하는 비율. 작을수록 천천히 안정적으로 수렴한다.
  • subsample / colsample_bytree : 각 트리를 만들 때 사용할 행·컬럼의 비율. 무작위성을 넣어 과적합을 줄인다.
  • scale_pos_weight : XGBoost에서 양성 클래스의 가중치를 올려 클래스 불균형을 보정하는 파라미터.
  • kmeans++ : 초기 중심을 서로 멀리 떨어지게 고르는 초기화 방법. 무작위 초기화보다 안정적이다.
  • 엘보우(WCSS) : 군집 수 k를 늘리며 군집 내 제곱합의 감소폭이 꺾이는 지점을 k로 고르는 방법.
  • 차원의 저주 : 차원이 늘수록 점들 사이 거리가 비슷해져 거리 기반 알고리즘의 변별력이 사라지는 현상.

📝 연습 문제

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

문제 1

중간 규모의 정형(표 형식) 데이터로 이진 분류를 하는데, 피처 간 비선형 상호작용이 중요하고 결측치도 일부 있다. 가장 적합한 빌트인은?

문제 2

XGBoost 학습 중 학습 손실은 계속 낮아지지만 검증 손실은 상승하는 과적합이 관찰된다. 다음 중 과적합을 완화하는 조정으로 적절하지 않은 것은?

문제 3

다음 중 거리 기반이어서 학습 전 피처 스케일링이 특히 중요한 빌트인 알고리즘은?

문제 4

수억 행 규모의 매우 큰 데이터로, 관계가 대체로 선형이며 빠른 학습과 모델 해석이 중요하다. 가장 적합한 빌트인은?

문제 5

K-Means를 사용할 때 사용자가 반드시 사전에 지정해야 하는 핵심 하이퍼파라미터는?

이전알고리즘 선택: 문제 유형별 매핑Week 6 · Day 1다음 SageMaker 내장 알고리즘 2: 텍스트·이미지·시계열·추천Week 6 · Day 3

참고 공식 자료

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

이 페이지

  • 네 알고리즘 한눈에
  • XGBoost — 정형 데이터의 주력
  • XGBoost 튜닝 방향표
  • Linear Learner — 선형 모델, 초대규모, 빠름
  • K-Means — 비지도 군집
  • KNN — 거리 기반 분류/회귀
  • 전처리 요구 정리
  • 네 알고리즘의 평가 지표
  • 클래스 불균형 대응
  • 공통 운영 팁
  • 지문 단서 → 정답 매핑표
  • 용어
  • 연습 문제