본문 바로가기
Deep Learning/Machine Learning 정리노트

[스토리텔링 머신러닝] 1. 머신러닝에 동작 원리(feat. Decision Tree)

by Steve-Lee 2021. 2. 3.

Introduction

This micro-course will have you build models as you go through following scenario

Kaggle Micro-Course는 Scenario에 기반한 스토리텔링을 통해 머신러닝의 개념을 소개합니다.
여기서 아이디어를 얻어 '스토리텔링 머신러닝' 콘텐츠를 기획하게 되었습니다.

오늘은 첫 번째 시간으로 머신러닝 모델의 동작 원리와 활용에 대해 간단히 살펴보도록 하겠습니다

  • 머신러닝 모델이 어떻게 동작하고 사용되는지 알아보도록 하겠습니다
  • 여러분이 statistical modeling 또는 머신러닝을 전에 공부하셨다면 다소 쉽게 느껴지실 수 있다고 생각합니다
  • 하지만 걱정 마세요. 곧 파워풀한 모델들도 다뤄보도록 하겠습니다

 

제 블로그의 글이 도움이 되셨다면 좋아요와 댓글 부탁드리겠습니다. 글을 지속적으로 작성하는데 많은 동기부여가 됩니다. 감사합니다. 오늘도 편안한 하루 보내세요!🙏


Scenario

언제봐도 유쾌한 모던패밀리의 Phil!

  • 제가 좋아하는 미드 '모던 패밀리'에서 주인공 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를 통해 스토리를 풀어나가겠습니다
  • 이유는 간단합니다. 이해하기 쉽고 데이터 과학에서 많이 사용되는 기본이 되는 모델이기 때문입니다

Sample이자 Simple 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라고 합니다
  • 한 번 살펴보겠습니다

"deeper tree" 깊은 decision 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의 학습을 시작하길 바랍니다
 

Learn Intro to Machine Learning Tutorials

Learn the core ideas in machine learning, and build your first models.

www.kaggle.com


 

Referece

 

How Models Work

Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources

www.kaggle.com

 

댓글