정형 데이터 분석을 하다 보면 모델 선택지가 생각보다 빠르게 좁혀집니다. 전처리 끝내고 베이스라인 돌려보고 나면 결국 XGBoost나 LightGBM 중 하나로 수렴하는 경우가 많거든요. 그런데 막상 "왜 XGBoost 쓰셨어요?"라는 질문을 받으면 "성능이 좋아서요"로 끝나는 경우가 꽤 있습니다. 🌿 랜덤 포레스트가 트리들을 독립적으로 병렬 학습하는 방식이었다면, 부스팅은 정반대입니다. 이전 트리가 틀린 부분을 다음 트리가 이어받아 순차적으로 고쳐나가는 구조인데, 이 차이가 어디서 오는지 이해하면 두 모델을 고르는 기준도 달라집니다.오늘은 Gradient Boosting의 핵심 원리부터 XGBoost가 기존 GBM보다 나아진 이유, LightGBM이 빠른 구조적 이유까지 순서대로 정리해보겠습니다. 1..
데이터를 받으면 보통 제일 먼저 뭘 하시나요? 아마 df.head()를 찍고, df.info()를 돌리고, df.describe()를 실행하는 것부터 시작할 것이다. 거기서 히스토그램 몇 개 그리고, 상관계수 확인하고, 결측값 처리하면 EDA가 끝난 것처럼 느껴집니다. EDA는 코드 실행 순서가 아니라 질문의 순서입니다. 어떤 질문을 해야 하는지 알면, 어떤 코드를 써야 하는지는 자연스럽게 따라온다. 오늘은 그 사고 순서를 정리해보려 한다. 🔍 1. EDA가 실제로 하는 일 EDA(Exploratory Data Analysis, 탐색적 데이터 분석)를 한 줄로 정의하면 다음과 같다. 모델링 전에 데이터가 문제를 풀 수 있는 형태인지 확인하는 과정 여기서 핵심은 "모델링 전에"라는 부분이다. EDA는 ..
결정 트리를 처음 배울 때 꽤 만족스러웠던 기억이 있습니다. 분기 조건이 눈에 보이고, 어떤 변수가 예측에 작용했는지 직접 확인할 수 있으니까요. 그런데 실제로 여러 데이터에 적용해보면 생각보다 결과가 불안정하다는 걸 금방 느끼게 됩니다. 훈련 데이터를 조금만 바꿔도 트리 구조가 크게 달라지고, 깊게 학습할수록 새로운 데이터에서는 성능이 뚝 떨어집니다. 랜덤 포레스트는 바로 그 지점에서 출발합니다. 오늘은 결정 트리의 어떤 한계가 랜덤 포레스트라는 아이디어로 이어지는지, 그리고 왜 나무가 많아질수록 더 안정적인 예측이 가능해지는지 정리해보겠습니다. 🌲 1. 결정 트리의 구조적 한계 결정 트리는 훈련 데이터의 패턴을 분기 조건으로 직접 학습합니다. 깊이 제한 없이 학습하면 노이즈까지 전부 외워버리는 과적..
머신러닝을 공부하다 보면 자연스럽게 이런 의문이 생깁니다. 모델이 데이터를 분류할 때, 도대체 어떤 기준으로 판단을 내리는 걸까? 그리고 그 판단 과정을 사람이 직접 읽을 수 있을까? 지난 글에서 로지스틱 회귀를 통해 분류 문제를 확률로 접근하는 방법을 다뤘습니다. 오늘은 그보다 훨씬 직관적인 방식으로 분류와 회귀 문제를 동시에 풀 수 있는 모델, 결정 트리를 정리해보겠습니다 🙂 1. 결정 트리의 구조결정 트리(Decision Tree)는 데이터를 분기(split)하는 질문들을 연속적으로 만들어 최종 예측값에 도달하는 모델입니다. 마치 스무고개처럼, 조건에 따라 데이터를 계속 나눠가는 구조입니다.루트 노드(Root Node) → 내부 노드(Internal Node) → 리프 노드(Leaf Node) 루..
머신러닝을 공부하다 보면 자연스럽게 이런 의문이 생깁니다. 선형 회귀로 연속적인 값을 예측할 수 있다면분류 문제는 어떻게 풀어야 할까? 그리고 왜 하필 이름이 "회귀"인데 분류에 쓰이는 걸까?지난 글에서 선형 회귀의 구조와 계수의 의미를 다뤘습니다. 오늘은 그 연장선에서, 분류 문제를 확률로 접근하는 모델인 로지스틱 회귀를 정리해보겠습니다 🙂 1. 로지스틱 회귀의 구조 로지스틱 회귀는 입력값(X)을 받아 특정 클래스에 속할 확률(P)을 출력하는 모델입니다. 출력값은 0과 1 사이의 확률값입니다.P(Y=1|X) ∈ [0, 1] 구조는 다음과 같습니다.입력 데이터(X) → 선형 결합 → 시그모이드 함수 → 확률값(P) → 분류 결과핵심은 선형 회귀의 출력값을 그대로 쓰지 않고, 시그모이드 함수를 통과시켜 ..
머신러닝을 공부하다 보면 자연스럽게 이런 생각을 하게 됩니다. 손실함수와 경사하강법으로 모델이 학습된다는 건 알겠는데, 그래서 학습이 끝나면 정확히 무엇이 남는 걸까?지난 글에서 모델이 어떻게 학습되는가를 다뤘습니다. 오늘은 그 학습의 결과물을 직접 해석할 수 있는 모델, 선형 회귀를 정리해보겠습니다 🙂 1. 선형 회귀의 구조 선형 회귀는 입력값(X)과 출력값(y) 사이의 관계를 직선으로 표현하는 모델입니다. 출력값이 연속적인 실수값일 때 사용합니다.y ∈ ℝ (실수 전체 범위)구조는 다음과 같습니다.입력 데이터(X) → 가중합 계산 → 예측값(ŷ)기본 수식은 다음과 같습니다.y = w₁x₁ + w₂x₂ + ... + wₙxₙ + bw : 각 변수의 계수 (weight)b : 절편 (bias)y : 예..
HELLO WORLD
안녕하세요. 데이터로 말하는 분석가 모모입니다.
데이터를 구조화하고 분석하는 과정과 실무에 활용되는 도구 중심의 내용을 기록합니다.