Study Note
XGBoost의 채점표: eval_metric 종류와 선택 가이드
머신러닝 모델을 학습시킬 때, 모델에게 어떤 기준으로 점수를 매길지 알려줘야 합니다. 이를 eval_metric이라고 합니다. 문제의 종류(분류/회귀)에 따라 사용하는 채점 기준이 완전히 다릅니다. 1. 분류 (Classification) 모델일 때환자가 "질병이다(1) vs 아니다(0)" 또는 "정상(0) vs 경증(1) vs 중증(2)"을 예측할 때 사용합니다.종류이름설명 및 의료 데이터 적용 예시 logloss Negative Log-Likelihood (가장 기본) 정답일 확률을 얼마나 확신하는지 평가합니다.• 틀린 답을 강하게 확신할수록 페널티를 크게 줍니다.• 예시: 질 환자 예측 확률이 51%인 것보다 99%일 때 점수가 더 좋습니다. error Binary Classification E..
모델 성능을 쥐어짜는 기술: 하이퍼파라미터 튜닝과 베이지안 최적화
단순 무식하게 다 넣어보는 방법(Grid)이나 운에 맡기는 방법(Random)을 넘어, "과거의 실험 결과를 보고 똑똑하게 다음 값을 찾아가는 베이지안 최적화(Bayesian Optimization) 머신러닝 모델을 만들다 보면 이런 고민에 빠집니다. "XGBoost의 learning_rate는 0.1이 좋을까 0.01이 좋을까? 나무 깊이(max_depth)는 몇으로 하지?" 이렇게 사용자가 직접 세팅해줘야 하는 변수를 하이퍼파라미터라고 하며, 최적의 조합을 찾아내는 과정을 튜닝이라고 합니다. 오늘은 튜닝의 3단계 진화 과정을 알아봅니다. 1. 파라미터 vs 하이퍼파라미터헷갈리기 쉬운 두 용어를 먼저 정리합시다.파라미터 (Parameter): 모델이 학습하면서 스스로 알아내는 값. (예: 회귀계수, 가..
"모든 변수가 다 중요할까?" 피처 중요도(Feature Importance)로 모델 다이어트하기
데이터 분석을 하다 보면 "변수(Feature)가 많으면 무조건 좋을까?"라는 고민에 빠집니다. 정답은 NO입니다. 불필요한 변수는 모델의 학습 속도를 늦추고, 오히려 성능을 떨어뜨리는 노이즈가 될 수 있습니다.오늘은 머신러닝의 기본 함수(fit, predict)를 확실히 정리하고, 여러 모델의 피처 중요도(Feature Importance)를 종합해 알짜배기 변수만 골라내는 방법을 실습해 보겠습니다. 1. 머신러닝의 문법: Scikit-learn 핵심 함수 4대장본격적인 분석 전에, 우리가 숨 쉬듯이 사용하는 4가지 함수의 정확한 의미와 사용 시점을 짚고 넘어갑시다. (이것만 알면 코드가 보입니다!)① fit(X_train, y_train): "공부해!"의미: 모델에게 문제($X$)와 정답($y$)을 ..
내 모델 믿어도 될까? 교차 검증(Cross Validation) 완벽 가이드
머신러닝 모델을 만들고 "정확도 99%입니다!"라고 자랑했는데, 막상 새로운 환자 데이터를 넣으니 다 틀린다면? 이는 모델이 운 좋게 쉬운 시험 문제(Test Set)만 풀었거나, 학습 데이터에만 너무 익숙해진 과적합(Overfitting) 상태일 가능성이 큽니다.이를 방지하기 위해 반드시 거쳐야 하는 과정, 교차 검증(Cross Validation)을 알아봅니다. 1. 홀드아웃(Holdout) vs K-폴드(K-Fold)① 홀드아웃 (Holdout) 교차 검증개념: 데이터를 한 번만 딱 잘라서(예: 8:2) 학습용과 검증용으로 나눕니다문제점: 하필이면 검증 데이터가 너무 쉽거나 특이한 케이스만 모여 있다면? 모델의 진짜 성능을 알 수 없게 됩니다(검증 데이터에 Overfit)② K-폴드 (K-Fold)..
머신러닝의 꽃, 앙상블과 부스팅 (XGBoost, LightGBM) 완전 정복
오늘 정리할 내용은 "실전에서 성능을 극한으로 끌어올리는 기술"입니다. 단일 모델 하나만 쓰는 것이 아니라, 여러 모델을 합쳐서(Ensemble) 더 똑똑한 AI를 만드는 과정을 배워봅니다. 1. 기본기를 다지는 단일 모델 4대장앙상블로 넘어가기 전, 가장 기본이 되는 단일 모델들을 먼저 이해해야 합니다.① KNN (K-Nearest Neighbor)컨셉: "유유상종". 새로운 데이터가 들어오면 가장 가까운 이웃 $k$개를 봅니다.특징: 학습이 따로 필요 없고 단순하지만, 데이터가 많아지면 계산 속도가 느려집니다. (게으른 학습)② 로지스틱 회귀 (Logistic Regression)컨셉: 이름은 회귀지만 사실은 '분류' 모델입니다. 선형 회귀 결과에 시그모이드(Sigmoid) 함수를 씌워 0~1 사이의..
[ML 기초] 통계가 머신러닝이 되는 순간: 나이브 베이즈와 ML 프로세스
머신러닝이라고 하면 거창해 보이지만, 사실 그 시작은 우리가 배웠던 '베이즈 정리'에서 출발합니다.오늘은 스팸 메일 필터링의 원리가 되는 나이브 베이즈 분류(Naive Bayes Classification)와, 앞으로 계속 보게 될 머신러닝의 전체적인 학습 프로세스를 정리해 봅니다. 1. 베이즈 정리: 사후 확률을 계산하는 마법우리가 머신러닝을 통해 알고 싶은 것은 "결과(데이터)를 보고 원인(클래스)을 예측하는 것"입니다. 이를 통계 용어로 사후 확률(Posterior Probability)이라고 합니다.$$P(\text{원인}|\text{결과}) = \frac{P(\text{결과}|\text{원인}) \times P(\text{원인})}{P(\text{결과})}$$사전 확률 ($P(\text{원인})..
눈에 보이지 않는 원인을 찾아라: 은닉 마르코프 모델 (HMM)
일반적인 마르코프 연쇄가 "눈에 보이는 상태의 변화"를 다룬다면, HMM은 "겉으로 드러난 결과(Observation)를 통해 숨겨진 원인(Hidden State)을 추론"하는 더욱 고차원적인 모델입니다. 우리는 살면서 겉으로 드러난 현상만 보고 그 이면의 진실을 파악해야 할 때가 많습니다.환자의 '증상(기침, 열)'을 보고 '병명(감기, 폐렴)'을 진단하거나, 친구의 '목소리 톤'을 듣고 '기분'을 맞히는 것처럼요.이처럼 관찰 가능한 결과($O$)를 통해 숨겨진 상태($S$)를 확률적으로 추론하는 알고리즘, 은닉 마르코프 모델(HMM)에 대해 알아보겠습니다. 1. 마르코프 연쇄 vs 은닉 마르코프 모델① 마르코프 연쇄 (Markov Chain)모든 상태가 눈에 보입니다.예시: 오늘의 주가(상승) $\r..
어려운 적분은 가라, 뽑아서 푼다! MCMC와 메트로폴리스-헤이스팅스
베이즈 통계를 공부하다 보면 "사후 확률을 계산하기 너무 어렵다"는 벽에 부딪히는데, MCMC는 이 문제를 "계산하지 않고, 뽑아서(Sampling) 해결한다"는 혁명적인 아이디어입니다. 특히 Metropolis-Hastings 알고리즘은 현대 데이터 과학의 10대 알고리즘으로 꼽힐 만큼 중요합니다. 베이즈 통계에서 사후 확률(Posterior)을 구하려면 복잡한 적분을 해야 합니다. 공식이 딱 떨어지는(켤레 사전확률) 운 좋은 경우도 있지만, 현실은 그렇지 않습니다."수식을 못 풀겠다면, 그냥 컴퓨터로 수만 번 시뮬레이션해서 맞히면 되지 않을까?"이것이 바로 MCMC(Markov Chain Monte Carlo)의 핵심입니다. 오늘은 MCMC의 원리와 대표적인 알고리즘인 Metropolis-Hastin..