모델을 평가할 때 데이터를 한 번만 나눠서 검증하면 운에 따라 결과가 달라질 수 있어요.
K-Fold는 데이터를 K개의 덩어리(폴드)로 나눈 뒤, K번 반복하며 매번 다른 덩어리를 검증에 사용해요.
그러면 모든 데이터가 한 번씩 검증에 쓰이게 되어 훨씬 신뢰할 수 있는 성능을 얻을 수 있어요!
💡 비유: 시험을 한 번만 보면 운이 작용하지만, 같은 범위를 K번 다른 문제로 시험보고 평균 내면 실력을 더 정확히 알 수 있는 것과 같아요!
🔀 폴드 분할 시각화
5
훈련 데이터검증 데이터
위처럼 K번 반복하면 나온 K개의 점수를 평균낸 게 최종 성능이에요.
점수들의 표준편차가 작을수록 안정적인 모델이에요!
📖 K는 보통 얼마로 하나요?
K = 5 ⭐ 가장 흔함
속도와 신뢰성의 균형이 좋아요. 처음엔 이걸 쓰세요!
K = 10
더 정확하지만 시간이 2배 걸려요. 데이터가 충분할 때!
K가 너무 크면?
학습 데이터가 너무 적어져서 오히려 불안정해질 수 있어요.
K = N (LOOCV)
데이터가 아주 적을 때 씁니다. 매우 느려요!
📐 Principal Component Analysis
PCA란?
데이터에 특성(feature)이 100개, 1000개씩 있으면 다루기 너무 힘들어요.
PCA는 중요한 정보는 최대한 살리면서 차원(특성 수)을 줄여주는 기법이에요.
데이터가 "어느 방향으로 가장 많이 퍼져 있는지"를 찾아서 그 방향을 새 축으로 삼아요.
💡 비유: 3D 물체를 사진 찍을 때 가장 잘 보이는 각도에서 찍는 것과 같아요. 정보를 최대한 보존하면서 2D로 압축하는 거예요!
📐 주성분(PC)이 뭔가요?
1
데이터의 중심을 찾아요
모든 점의 평균 위치(무게중심)를 구해요.
2
PC1 — 가장 넓게 퍼진 방향
데이터가 가장 많이 흩어진 방향이 제1주성분(PC1)이에요. 정보를 제일 많이 담고 있어요.
3
PC2 — PC1과 직각인 방향
PC1과 직각(90°)으로 만나면서 두 번째로 많이 퍼진 방향이에요.
🎯 언제 쓰나요?
📉 특성이 너무 많을 때
수백 개의 특성을 10~20개로 줄여 모델 학습 속도를 높여요.
👁 데이터를 눈으로 보고 싶을 때
고차원 데이터를 2D·3D로 줄여서 시각화할 수 있어요.
🧹 노이즈를 줄이고 싶을 때
중요하지 않은 분산(노이즈)을 버리고 핵심 정보만 남겨요.
⚠️ 주의! 표준화 먼저
PCA 전에 반드시 스케일링(StandardScaler)을 해야 해요. 단위가 다른 특성이 있으면 왜곡돼요!
몇 개의 PC를 선택할지는 누적 분산 설명량이 80~95%가 되는 지점을 보고 결정해요.
예) PC1=70%, PC2=20% → 2개만 써도 전체 정보의 90%를 보존!
🎛 인터랙티브 — PC 개수를 바꿔보세요
2개
원본 2D 데이터
PC 2개로 표현
분산 설명량 (얼마나 정보를 보존했나요?)
🎯 K-Means Clustering
KMeans란?
정답(레이블) 없이 데이터를 K개의 그룹(클러스터)으로 자동으로 묶어주는 비지도 학습이에요.
비슷한 것끼리 같은 그룹이 되도록 반복적으로 그룹 중심을 조정해요.
💡 비유: 아무 정보 없이 손님들을 취향별로 그룹 짓는다고 상상해봐요. 비슷한 취향끼리 자연스럽게 모이도록 반복해서 조정하는 거예요!