K-Means 클러스터링 — 데이터를 K개의 그룹으로 자동 분류합니다. 레이블(정답) 없이 비슷한 데이터끼리 묶는
비지도 학습 알고리즘입니다.
Train으로 클러스터를 학습하고, Val·Test에서 동일한 클러스터 할당 품질을 비교합니다.
비지도학습클러스터링실루엣점수Inertia
🔵 K-Means — 단계별 알고리즘 시뮬레이터
샘플 데이터
K 값
1 / 6
💡 K-Means를 관통하는 3가지 핵심 원리
📍 1. 할당 (Assign)각 데이터에서 모든 중심점까지의 거리를 재고, 가장 가까운 중심점의 군집에 배정합니다. 정답 레이블이 필요 없는 비지도 학습입니다.
🔄 2. 갱신 (Update)각 군집에 모인 데이터들의 평균 위치로 중심점을 이동합니다. 할당→갱신을 반복하면 중심점이 점점 자리를 잡습니다.
🎯 3. 수렴과 평가중심점이 더 움직이지 않으면 수렴. Inertia(군집 내 제곱합)는 작을수록, 실루엣 계수는 1에 가까울수록 좋은 군집입니다.
시나리오 — 쇼핑몰 고객 18명의 [월 방문 횟수, 월 지출액(만원)]만으로, 비슷한 고객군(세그먼트)을 자동으로 찾아냅니다.
🗂 고객 데이터 — 18명 값을 수정하면 군집화가 초기화됩니다
🎛 하이퍼파라미터 설정 (군집 규칙)
초기 중심점 배치 방식
무작위는 운에 따라 결과가 크게 흔들립니다. 서로 먼 점에서 시작하면 안정적입니다.
거리 계산 전 표준화
방문(0~10)과 지출(0~100)의 단위가 달라, 표준화 없이는 지출이 거리를 지배합니다.
🗺 군집화 실행 — 할당과 갱신을 눈으로 확인하세요
중심점을 초기화하세요
🛍 새 고객 판정 — 어느 고객군에 속할까요?
K-최근접 이웃 (KNN) — 새 데이터와 가장 가까운 K개의 이웃을 찾아 분류·예측합니다. 타겟 컬럼의 고유값이 20 이하면
분류, 초과하면
회귀로 자동 전환됩니다.
지도학습분류/회귀거리 기반Train/Val/Test
🟣 KNN — 단계별 알고리즘 시뮬레이터
샘플 데이터
K (이웃 수)
1 / 6
💡 KNN을 관통하는 3가지 핵심 원리
📏 1. 거리 계산새 학생과 기존 학생들의 거리를 잽니다(유클리드/맨해튼). 단위가 다른 변수는 표준화하지 않으면 큰 숫자가 거리를 지배합니다.
🗳 2. K개 이웃 투표거리가 짧은 순서로 K명의 이웃을 뽑아 투표합니다. 다수결 또는 가까울수록 큰 표(거리 가중)로 결정합니다.
🔬 3. 최적 K 검증각 학생을 한 번씩 제외하고 나머지로 예측하는 LOO 교차검증으로 K별 정확도를 재서, 가장 좋은 K를 고릅니다.
시나리오 — 과거 학생 16명의 [공부시간, 출석률]을 이용해, 새로운 학생이 합격(Pass)할지 불합격(Fail)할지 이웃들의 투표로 예측합니다.
🗂 학습 데이터 — 학생 16명 값을 수정하면 즉시 다시 계산됩니다
🎛 하이퍼파라미터 설정 (이웃 규칙)
거리 계산 방법
투표 방식
거리 계산 전 표준화
공부시간(0~10)과 출석률(0~100)의 단위 차이를 없애 공정하게 거리를 잽니다.
🗺 결정 경계 & 이웃 찾기 — 별(★)이 새 학생입니다
🧭 산점도 + 결정 경계 (배경색 = 그 위치의 예측)
🔬 K별 검증 정확도 — 몇 명의 이웃이 가장 정확할까요? (LOO 교차검증)
선형 회귀 (Linear Regression) — 수치형 타겟을 예측합니다. Ridge는 L2 정규화, Lasso는 L1 정규화를 적용해 과적합을 방지합니다.
회귀R²RMSERidgeLasso
📈 선형 회귀 — 단계별 알고리즘 시뮬레이터
1 / 6
📊
STEP 1 — 데이터 수집
수집된 데이터의 분포를 확인합니다.
💡 선형회귀를 관통하는 3가지 핵심 원리
📏 1. 잔차 (Residual)실제값과 직선의 예측값 차이입니다. 좋은 직선일수록 잔차(세로 막대)들이 짧아집니다.
🎯 2. 최소제곱법 (OLS)잔차의 제곱합(SSE)이 최소가 되는 기울기·절편을 수식 한 번으로 구합니다. 수동으로 아무리 조절해도 이보다 SSE가 작을 수 없습니다.
📐 3. 결정계수 R²직선이 데이터 변동을 몇 %나 설명하는지 나타냅니다. 1에 가까울수록 강한 직선 관계입니다.
시나리오 — 16개월간의 [월 광고비(억), 월 매출(억)] 데이터로 광고비 → 매출 예측 직선을 찾고, 새 광고 예산의 매출을 예측합니다.
🗂 월별 데이터 — 16개월 값을 수정하면 직선이 즉시 다시 계산됩니다
🎛 직선 설정 (모델 규칙)
직선 결정 방식
수동 모드에서 직접 그은 직선(주황)과 최소제곱 직선(파랑)의 SSE를 비교해 보세요.
📊 산점도 & 회귀 직선 — 잔차가 짧아지는 직선을 찾아보세요
🔮 매출 예측 시뮬레이터 — 광고비를 조절해보세요
로지스틱 회귀 (Logistic Regression) — 범주형 타겟을 분류합니다. 이름은 "회귀"지만 실제로는 분류 알고리즘으로, 각 클래스의 확률을 출력합니다.
분류확률 출력F1 Score다중 분류
🔀 로지스틱 회귀 — 단계별 알고리즘 시뮬레이터
1 / 6
📊
STEP 1 — 데이터 수집
이진 분류 데이터를 시각화합니다.
💡 로지스틱 회귀를 관통하는 3가지 핵심 원리
➕ 1. 선형 점수 (logit)공부시간과 출석률에 계수를 곱해 더한 z = b₀ + b₁·공부 + b₂·출석. 아직은 -∞~∞의 점수일 뿐입니다.
🌀 2. 시그모이드 → 확률무한한 선형 점수를 S자 함수에 통과시켜 0~1 사이의 합격 확률로 바꿉니다: p = σ(z).
⚖️ 3. 임계값 판정확률이 임계값(기본 0.5)보다 크면 Pass, 작으면 Fail. 임계값을 조절하면 결정 경계가 이동합니다.
시나리오 — 과거 학생 18명의 [공부시간, 출석률]로 로지스틱 모델을 경사하강법으로 학습시켜, 새 학생의 합격 확률을 예측합니다.
🗂 학습 데이터 — 학생 18명 값을 수정하면 즉시 재학습됩니다
🎛 하이퍼파라미터 설정 (학습 규칙)
최대 학습 반복
반복이 적으면 손실이 덜 내려간 채 멈춥니다(미수렴).
🗺 결정 경계 & 학습된 모델 — ★이 새 학생입니다
🧭 산점도 + 결정 경계 (배경색 = 그 위치의 판정)
📐 학습된 logit 식 (표준화 변수 기준)
💬 오즈비 해석
🔮 합격 확률 예측 — 새 학생 정보를 조절해보세요
결정 트리 (Decision Tree) — 데이터를 if-else 규칙으로 분기해 예측합니다. 해석이 직관적이며, 깊이(max_depth)로 과적합을 제어합니다.
분류/회귀피처 중요도트리 깊이Gini/Entropy
🌿 결정 트리 — 질문으로 가지를 뻗어 보기 (학생 12명)
1 / 6
🌱
STEP 1 — 섞인 뿌리에서 출발
학생 12명이 합격·불합격 반반으로 뒤섞인 뿌리 노드입니다.
💡 의사결정나무를 관통하는 3가지 핵심 원리
🧪 1. 불순도 (Gini / Entropy)한 그룹에 합격·불합격이 섞인 정도를 숫자로 잽니다. 0이면 완전 순수, 반반 섞이면 최대. 두 계산 기준을 토글로 비교해 보세요.
🔍 2. 최적 분할 탐색가능한 모든 변수·기준값 후보를 전부 비교해, 나눈 뒤 불순도가 가장 많이 줄어드는(이득 최대) 질문을 고릅니다. 노드를 클릭하면 후보 비교표가 열립니다.
🧭 3. 예측 경로새 데이터는 뿌리부터 질문에 예/아니오로 답하며 이동하고, 도착한 잎 노드의 다수 결과가 예측값이 됩니다.
시나리오 — 학생 12명의 [공부시간, 수면시간, 출석률]로 시험 합격/불합격을 가르는 나무 모양의 규칙을 직접 길러 봅니다.
🗂 학습 데이터 — 학생 12명 값을 수정하면 나무가 즉시 다시 자랍니다
🎛 하이퍼파라미터 설정 (나무 규칙)
🌳 자라난 나무 — 노드를 클릭하면 분할 후보 비교가 열립니다
🧭 예측 경로 시뮬레이터 — 새 학생이 나무를 타고 내려갑니다
🌲 다음 단계 — 나무 여러 그루의 집단지성, 랜덤 포레스트 심화→
랜덤 포레스트 (Random Forest) — 수백 개의 결정 트리를 앙상블해 예측합니다. 단일 트리보다 과적합이 적고 피처 중요도를 제공합니다.
앙상블분류/회귀피처 중요도과적합 강건
💡 랜덤포레스트를 관통하는 3가지 핵심 원리
🎒 1. 부트스트랩 (배깅)전체 학생 데이터 중 복원 추출(중복 허용)로 무작위 샘플을 뽑아 각 나무에게 나눠 줍니다. 나무마다 공부하는 교과서가 약간씩 달라집니다.
🎲 2. 무작위 피처 선택나무를 자를 때 모든 질문(피처)을 쓰지 않고, 랜덤하게 일부 질문들만 후보로 올려 최적의 질문을 고릅니다. 나무의 다양성이 극대화됩니다.
📦 3. 집단지성 (다수결)새로운 학생이 왔을 때, 수많은 나무들이 각자 예측한 결과들을 모아 가장 많은 표를 얻은 예측값을 최종 결론으로 도출합니다.
시나리오 — 우리는 [공부시간, 수면시간, 출석률] 데이터를 기반으로 이 학생이 시험에 합격(Pass)할지 불합격(Fail)할지 예측하는 숲을 만듭니다.
🗂 학습 데이터 — 학생 10명 값을 수정하면 숲이 즉시 다시 학습됩니다
🎛 하이퍼파라미터 설정 (숲 디자인)
🌲 생성된 숲 — 나무를 클릭해 내부를 살펴보세요
🔍 선택된 나무 구조 (CART · 지니 불순도)
🗳️ 실시간 다수결(Voting) 시뮬레이터 — 새 학생 정보를 조절해보세요
🔬 전체 버전 페이지 — 단계별 애니메이션·지니 계산 과정 포함→
XGBoost — Gradient Boosting 기반의 강력한 앙상블 알고리즘입니다. 캐글 대회에서 가장 많이 사용되는 알고리즘으로, 정확도와 속도 모두 우수합니다.
Gradient Boosting분류/회귀피처 중요도정규화
💡 XGBoost를 관통하는 3가지 핵심 원리
⛓ 1. 순차 부스팅 (잔차 전파)나무를 한 그루씩 차례로 만듭니다. 뒤 나무는 정답이 아니라 앞 나무들이 남긴 오차(잔차)만 학습해, 릴레이처럼 실수를 메워 갑니다.
⚖️ 2. 리프 가중치 공식리프의 출력은 w = −G / (H + λ). 그래디언트(G)·헤시안(H) 합에 L2 규제(λ)를 더해, 확신이 약한 리프일수록 출력을 자동으로 눌러 줍니다.
🐢 3. 학습률(η) 축소각 나무의 출력을 η배로 줄여서 누적합에 더합니다. 조금씩 천천히 배우는 대신, 한 나무의 실수가 전체를 망치지 못합니다.
시나리오 — 같은 학생 10명 데이터로, 이번엔 나무들이 협력(다수결)이 아니라 릴레이(누적합)로 배웁니다. 초기 예측에서 시작해 잔차를 차례로 메워 최종 점수를 완성합니다.
🗂 학습 데이터 — 학생 10명 목적 함수에 따라 타깃 열이 바뀝니다 · 수정 시 즉시 재학습
🎛 하이퍼파라미터 설정 (부스팅 설계)
⛓ 부스팅 체인 — 나무를 클릭해 잔차가 줄어드는 과정을 살펴보세요
🔍 선택된 나무 구조 — 리프 가중치 w = −G/(H+λ)
➕ 점수 누적합 예측 시뮬레이터 — 새 학생 정보를 조절해보세요
🔬 전체 버전 페이지 — 순차 학습 애니메이션·수식(MathJax) 렌더 포함→
분류 평가지표 — Confusion Matrix & 파생 지표 — 모델이 얼마나 잘 분류하는지 다각도로 측정합니다. 슬라이더로 민감도·특이도를 바꿔보며 지표 간 트레이드오프를 직접 체험하세요.
Confusion MatrixPrecisionRecallF1 ScoreROCAUC
🔲 Confusion Matrix 구조
모델의 예측 결과를 실제 정답과 비교해 4개의 칸으로 정리한 표입니다. 단순 정확도가 놓치는 오류 유형을 명확히 드러냅니다.
← 모델 예측 →
예측 양성
예측 음성
실제 양성
TP
True Positive
올바른 양성 예측 ✓
FN
False Negative
놓친 양성 (Type II)
실제 음성
FP
False Positive
잘못된 경보 (Type I)
TN
True Negative
올바른 음성 예측 ✓
TP·TN은 정답, FP는 오탐(경보 과잉), FN은 미탐(놓친 사례). 어떤 오류가 더 위험한가에 따라 최적화 방향이 달라집니다.
🎮 인터랙티브 Confusion Matrix 시뮬레이터
슬라이더를 조정하면 행렬과 모든 지표가 실시간 업데이트됩니다. 프리셋을 눌러 다양한 현실 시나리오를 탐색하세요.
전체 30개 샘플 구성
● 양성 15개
+
○ 음성 15개
=
30개
← 모델 예측 →
예측 양성
예측 음성
실제 양성
80TP
20FN
실제 음성
10FP
90TN
🗂️ 샘플 데이터 미리보기 — 실제값 vs 예측값
슬라이더 비율에 따라 30개 샘플을 생성합니다. 각 행의 색이 Confusion Matrix의 어느 칸에 해당하는지 확인하세요.
📈 ROC 곡선 & AUC
📖 지표 해석 가이드 — 언제 무엇을 봐야 할까?
🏥 Recall 우선 상황
암 진단, 사기 탐지, 결함 검출 등 놓치는 것이 치명적인 경우.
FN(실제 환자를 정상이라 판정)을 최소화. Recall이 높을수록 미탐이 줄어듦.
📧 Precision 우선 상황
스팸 필터, 법적 분류, 추천 시스템 등 오탐이 비용이 높은 경우.
FP(정상 메일을 스팸 처리)를 최소화. Precision이 높을수록 신뢰도 상승.
⚖️ F1 Score 사용 상황
Precision·Recall 간 균형이 중요할 때, 특히 클래스 불균형 데이터에서. 단순 Accuracy는 다수 클래스를 전부 맞춰도 높게 나올 수 있어 F1이 더 신뢰됨.
📉 AUC-ROC 사용 상황
임계값(threshold)에 무관하게 모델 자체의 분리 능력을 비교할 때. 0.5 = 무작위, 1.0 = 완벽. 여러 모델 비교 시 AUC가 단일 지표로 유용.
⚠️ Accuracy의 함정
양성 1%, 음성 99%인 데이터에서 모두 음성 예측 시 Accuracy = 99%.
불균형 데이터에서는 Accuracy 단독 사용은 위험하며, Precision·Recall·F1을 함께 봐야 합니다.
🔁 Precision-Recall 트레이드오프
임계값을 낮추면 더 많이 양성 예측 → Recall↑ Precision↓.
임계값을 높이면 확실한 것만 양성 예측 → Precision↑ Recall↓.
시뮬레이터에서 슬라이더로 직접 확인해보세요.
LightGBM — Leaf-wise 성장·GOSS·EFB로 대용량 데이터를 빠르게 학습하는 부스팅 알고리즘입니다. XGBoost 대비 압도적인 속도와 낮은 메모리 사용이 특징입니다.
Gradient BoostingLeaf-wise대용량·고속GOSS/EFB
💡 LightGBM을 관통하는 3가지 핵심 원리
🌿 1. Leaf-wise 성장깊이별로 균형 있게 자라는 Level-wise와 달리, 손실을 가장 많이 줄이는 리프 하나만 골라 쪼갭니다. 같은 분할 횟수로 더 낮은 오차에 도달합니다.
🎯 2. GOSS (샘플링)오차(그래디언트)가 큰 데이터는 100% 보존하고, 이미 잘 맞히는 데이터는 일부만 뽑아 가중치로 보정합니다. 데이터를 덜 보고도 정확도를 지킵니다.
📦 3. EFB (피처 묶기)동시에 0이 아닌 값을 갖지 않는 상호 배타적 희소 피처들을 하나로 병합해 차원을 줄입니다. 정보 손실 없이 연산량이 감소합니다.
시나리오 — 같은 학생 10명 데이터로, 같은 분할 횟수에서 Level-wise(XGBoost 방식)와 Leaf-wise(LightGBM 방식)가 어떻게 다른 나무를 만드는지 단계별로 비교합니다.
🗂 학습 데이터 — 학생 10명 값을 수정하면 두 트리가 즉시 다시 성장합니다
🎛 하이퍼파라미터 설정 (성장 규칙)
🌗 트리 성장 방식 비교 — 같은 단계에서 두 나무가 어떻게 달라지나
1 / 5
⬛ Level-wise (균형 중심)XGBoost 기본
🌿 Leaf-wise (손실 중심)LightGBM 기본
🎯 GOSS 샘플링 — 오차가 큰 학생만 남기고 데이터를 줄여보세요
📦 EFB 피처 번들링 — 희소 피처 2개를 정보 손실 없이 1개로
피처 A·B는 동시에 0이 아닌 행이 없는 상호 배타적 희소 피처입니다.
🔬 전체 버전 페이지 — 결정 경계 실험·FAQ 포함→