맨날 노션에다만 정리하다가 벨로그로도 자료를 남기고 싶어서
머신러닝은 여기에다 정리를 해보겠습니다.
스마클 캐글스터디 화이팅
본 내용은 Kaggle의 Tutorial 중 "Intro to Machine Learning"의 학습 내용입니다.
시나리오
사촌이 부동산 투기로 수백만 달러를 벌었습니다. 데이터 과학에 관심이 많다는 이유로 사촌이 비즈니스 파트너가 되겠다고 제안했습니다. 그는 돈을 제공하고, 여러분은 다양한 주택의 가치를 예측하는 모델을 제공합니다.
사촌에게 과거에 부동산 가치를 어떻게 예측했는지 물어보니 직관이라고 대답합니다. 하지만 좀 더 자세히 물어보니 그는 과거에 보았던 주택의 가격 패턴을 파악했고, 그 패턴을 사용하여 새로 고려 중인 주택에 대한 예측을 한다는 것을 알 수 있었습니다.
머신러닝도 같은 방식으로 작동한다. 의사 결정 트리 모델(Decision Tree Model) 부터 시작한다.
더 정확한 예측을 제공하는 멋진 모델도 있지만, 의사 결정 트리는 이해하기 쉬우며, 데이터 과학 최고의 모델을 위한 기본 구성 요소이다.
주택을 두 가지 카테고리로만 나누어보자. 고려 중인 모든 주택의 예상 가격은 같은 카테고리에 있는 주택의 과거 평균 가격이다.
데이터를 사용하여 주택을 두 그룹으로 나누는 방법을 결정한 다음 다시 각 그룹에서 예측 가격을 결정한다.
데이터에서 패턴을 포착하는 이 단계를 모델 피팅(fitting) 혹은 훈련(training) 이라고 한다.
모델을 맞추는 데 사용되는 데이터를 학습 데이터(Training Data) 라고 한다.
모델이 적합해지면 세 데이터에 적용하여 추가 주택의 가격을 예측할 수 있다.
다음 두 의사 결정 트리(Decision Tree) 중 부동산 학습에 더 적합할 만한 트리는 어떤 것일까?
왼쪽의 Decision Tree는 침실 수가 많은 주택이 침실 수가 적은 주택보다 더 높은 가격에 판매되는 경향(현실)을 포착하기 떄문에 더 합리적일 수 있다.
이 모델의 단점은 욕실 수, 대지 크기, 위치등 주택 가격에 영향을 미치는 요인을 포착하지 못한다.
더 많은 분할(splits) 이 있는 Tree를 사용하면 더 많은 요소를 capture 할 수 있다.
이를 더 깊은(deeper) Tree 라고 한다.
다른 요소도 고려하는 Decision Tree는 다음과 같다.
의사 결정 트리를 추적하여 항상 해당 주택의 특성에 해당하는 경로를 선택하여 주택의 가격을 예측한다.
해당 주택의 예측 가격은 트리의 맨 아래에 있고, 이 맨 아래 지점을 잎사귀(leaf) 라고 한다.