Introduction
This micro-course will have you build models as you go through following scenario
Kaggle Micro-Course는 Scenario에 기반한 스토리텔링을 통해 머신러닝의 개념을 소개합니다.
여기서 아이디어를 얻어 '스토리텔링 머신러닝' 콘텐츠를 기획하게 되었습니다.
오늘은 첫 번째 시간으로 머신러닝 모델의 동작 원리와 활용에 대해 간단히 살펴보도록 하겠습니다
- 머신러닝 모델이 어떻게 동작하고 사용되는지 알아보도록 하겠습니다
- 여러분이 statistical modeling 또는 머신러닝을 전에 공부하셨다면 다소 쉽게 느껴지실 수 있다고 생각합니다
- 하지만 걱정 마세요. 곧 파워풀한 모델들도 다뤄보도록 하겠습니다
제 블로그의 글이 도움이 되셨다면 좋아요와 댓글 부탁드리겠습니다. 글을 지속적으로 작성하는데 많은 동기부여가 됩니다. 감사합니다. 오늘도 편안한 하루 보내세요!🙏
Scenario
- 제가 좋아하는 미드 '모던 패밀리'에서 주인공 Phil은 Realtor(공인중개사)입니다
- Phil은 부동산을 통해 많은 수익을 거뒀습니다 (몇 백만 달러 정도?)
- 그리고 오늘, Phil 삼촌이 제게 같이 동업을 하자고 제안했습니다
Steve! 너는 데이터 과학을 공부하고 있으니깐 나와 같이 일하자! 나는 돈을 제공할 테니 너는 나를 위해 부동산 가격 예측을 해줘...!
- 저는 당연히 Yes를 외쳤습니다. 그와 함께하는 시간은 즐겁기 때문이죠
You ask your cousin how he's predicted real estate values in the past
그런데 여태까지 어떻게 투자를 할 수 있었던 건가요?
- Phil이 말하길... intuition(직관)이랍니다... 하하...
- 하지만 몇 가지 질문을 더 해본 결과 단순히 직관으로 부동산 가격을 예측한 것이 아닌 '그만의 패턴'이 있었던 것 같군요...! 그리고 그 패턴을 잘 활용해서 부동산의 가격을 예측할 수 있었던 것 같습니다
- 머신러닝도 마찬가지입니다
Start here
- 오늘의 학습 내용은 'Decision Tree'라는 머신러닝 모델로부터 시작됩니다
- Decision Tree 외에도 높은 정확도를 갖는 Fancy 한 모델들이 많지만 Decision Tree를 통해 스토리를 풀어나가겠습니다
- 이유는 간단합니다. 이해하기 쉽고 데이터 과학에서 많이 사용되는 기본이 되는 모델이기 때문입니다
- 우선 간단한 decision tree 모델로 시작해보겠습니다
- Sample Desision Tree는 집을 두 개의 카테고리로 나눠줍니다 (방이 2개 이상인가에 대한 기준으로 '2개 미만인 집'과 '2개 이상인 집'으로 집을 나눠줍니다)
- 그리고 예측된 값은 과거 데이터로부터 같은 카테고리에 있는 집 값의 평균값이 됩니다
- 즉 우리가 가지고 있는 데이터로부터 방이 2개 이상인 집과 2개 미만인 집의 가격을 예측할 수 있게 되는 것입니다
- 우리는 데이터를 사용해 집을 어떻게 두 그룹으로 나눌지 결정합니다. 그리고 각 그룹의 집값을 예측하는 것입니다
- This step of capturing patterns from data is called fitting or training the model
- The data used to fit the model is called training data
- 이처럼 데이터로부터 패턴을 발견하는 과정을 모델 fitting 또는 모델 training라고 합니다
- 그리고 모델을 fitting 하는 데 사용된 데이터를 training data라고 합니다
- 그리고 모델이 fit 되었다면(train이 완료되었다면) 새로운 데이터를 통해 값을 예측할 수 있게 되는 것입니다
- e.g. 만약 방이 5개인 집을 발견했다면 (학습한 내용을 바탕으로) 가격이 $188000 이상일 것으로 예측할 수 있는 것입니다
- 생각보다 재미있지 않나요?
Improving the Decision Tree
⇒ 그렇다면 Simple Decision Tree의 가장 큰 결점은 무엇일까요?
it doesn't capture most factors affecting home price, like number of bathrooms, lot size, location, etc...
⇒ tree의 깊이가 얕다면 어떤 요소가 집값을 결정하는지 확인하기가 어렵다는 점입니다
- 더 많은 요소들을 포착하기 위해서는 decision tree가 더 많은 분기(split)를 할 수 있어야 합니다
- 이렇게 decision tree가 깊어지는 것은 "deeper" tree라고 합니다
- 한 번 살펴보겠습니다
- 위의 simple decision tree와 달리 침실 수뿐만 아니라 lot_size 등을 고려합니다
- 즉, 더 많은 요소들을 고려하여 어떤 요소가 부동산 가격에 영향을 미치는지 확인할 수 있는 것입니다
저자의 말을 빌리면
You can capture more factors using a tree that has more "split"
- 이처럼 깊은 decision tree를 통해 어떤 요소가 집의 가격을 결정하는지 파악할 수 있습니다
- 위의 예시에서는 decision tree를 통해 집의 가격을 4개로 예측할 수 있게 되었습니다
- 이처럼 데이터의 class(정답)를 나타내는 마지막 node를 leaf node라고 합니다
Summary
- 간단히 요약해보겠습니다
- 머신러닝의 동작 원리를 Decision Tree 모델을 통해 살펴보았습니다
- 머신러닝이란 우리가 가지고 있는 데이터로부터 패턴을 학습하고 이를 미래의 데이터에 적용해보는 것입니다
- Decision Tree: it makes us to decision (e.g. predict estate)
- 부동산 예측과 같이 우리의 의사 결정을 도와줍니다
- you can capture more factors using a tree that has more "split"
- 깊은 트리를 통해 정답에 영향을 미치는 더 많은 요소들을 포착할 수 있게 됩니다
Next
- Excercies!
- 오늘 배운 내용을 시작으로 Machie Learning의 학습을 시작하길 바랍니다
Referece
'Deep Learning > Machine Learning 정리노트' 카테고리의 다른 글
[Machine Learning 정리노트] 01. Supervised Learning과 Unspervised Learning에 대해 알아보자(간단하게!) (0) | 2020.07.19 |
---|
댓글