본문 바로가기

Machine Learning

(3)
[Data Science] Dog Classification Dog Classification 이 문제는 Accuracy를 아는지 묻는 문제였다. Accuracy는 내가 푼 문제 중에 몇 개나 맞췄는지에 대한 지표로, 이 문제에서는 Accuracy가 가장 높게 나오는 최적의 threshold를 찾아야 한다. 일단, 데이터를 복사해서 메모장에 csv 파일로 저장하고 불러왔다. 샘플 수는 24개고 컬럼은 2개다. "Dog is on image" 컬럼이 target(label)이고, "Classifier prediction" 컬럼이 분류기를 통해 나온 예측값이다. Binary classification 문제이므로 threshold를 정해 예측값(보통 확률값)이 threshold 이상이면 True(1), 미만이면 False(0)로 정한다. 문제에서 주어진 컬럼명은 길고 ..
[TestDome] Marketing Costs Marketing Costs 문제에 주어진 표를 보면 과거 마케팅 비용을 얼마 투자했을 때 얼마나 많은 단위가 팔렸는지에 대한 데이터가 있다. 즉, 투자한 마케팅 비용(Marketing expenditure)을 $X$로, 팔린 단위(Units sold)를 $y$로 선형회귀를 학습할 수 있다. 그런데 여기서 함정(?)은 학습한 모델로 $X$를 넣었을 때 $\widehat{y}$을 return하는 것이 아니라 원하는 $\widehat{y}$이 나오려면 $X$ 가 몇이어야 되는지를 묻고 있다. 즉, 문제에서 나온 예시처럼 6만 단위를 팔려면 마케팅 비용은 얼마나 투자해야하는지 return해야 하는 것이다. 선형회귀를 통해 추정된 회귀선은 아래와 같다. $\widehat{unitsSold}= \beta_0 + ..
LightGBM 정리 개념 LightGBM은 기존 GBDT (Gradient Boosting Decision Tree)의 한계를 극복하기 위해 만들어진 모델로, 같은 accuracy를 유지하면서 계산 속도는 더 빠르고 메모리 사용량은 더 적은 GBDT이다. GBDT (Gradient Boosting Decision Tree)란? GBDT에서 gradient는 손실 함수의 그래디언트(gradient)가 아니라 예측값과 실제 타깃값의 잔차(residual)를 의미 GBDT는 손실 함수를 최소화하는 모델을 만들기 위해 이러한 잔차를 줄이는 방향으로 모델을 학습 각 트리는 이전 트리가 만든 잔차에 대해 학습하며, 잔차에 대한 예측값의 그래디언트를 기반으로 합니다. cf) boosting은 약한 학습기(분류기/예측기)를 여러 개 연결..