본문 바로가기

book

데싸노트의 실전에서 통하는 머신러닝

데싸노트라는 이름은 책이 출간되기 전에 유트브를 통해서 접하였습니다.

그때도 모르는 부분에 대해서 알기 쉽게 설명해주시는 모습을 보면서 많은 도움을 받았습니다.

 

이번에 책을 출간하시게 되었는데, 책의 Focus는 실제 현업에서 가장 많이 사용하는 Top10알고리즘을 기반으로

조금더 현업에서 바로 적용하는데 도움을 받을 수 있는 책을 출간하셨습니다.

http://www.yes24.com/Product/Goods/110511505

 

 

데싸노트

Data Science 입문자들에게 정보를 드리기 위한 채널입니다 :)

www.youtube.com

  • 인터넷 강의  : https://taling.me/vod/view/45190
    (책에서는 10개의 알고리즘이 소개되는데, 강의에서는 8개의 알고리즘을 기반으로 강의가 진행되는것 같습니다.)
 

데이터사이언스 입문을 위한 실전 머신러닝

필수 알고리즘 8개로 이론&실전 끝장내기!

taling.me

 

■ 책의 방향성

기술은 계속 발전하고 목적을 달성하는 방법은 매우 다양합니다.

이러한 기술을 어떻게 사용해야 하는지 판단을 하는것이 해당 프로젝트의 성패를 좌우 합니다.

머신러닝에서도 많은 알고리즘이 나왔습니다. 이론적으로 설명하는 많은 책들이 있습니다.

하지만, 해당 책을 보고 내가 어떠한 기준으로 무슨 방법을 사용해야 할지 알려주는 책은 많지 않습니다.

전쟁터에 나가는데,  소총 / 기관총 /  대포 / 활 / 칼이 있는데, 대포를 한명이 가지고 갈수 없습니다. 

이러한 시행착오를 현업 머신러닝 개발자 입장에서 책의 첫 Chapter부터 독자들이 가장 궁금한 비교 장표가 눈에 들어 왔습니다.

 

분류 유형 및 선정이유에 대해서 Table로 matrix하게 정리된 장표가 이 책의 핵심 내용입니다.

XGBootst, LigthGBM기법도 선정하신 top10 알고리즘에 포함되어서 현업에서도 많은 도움이 될것 같습니다.

책에서 선정한 10개의 알고리즘 (8개의 지도 학습, 2개의 비지도 학습) 으로 구성되어 있습니다.

 

▶ 지도학습 알고리즘 8개 항목

    선형 회귀, 로지스틱 회귀, K-최근접 이웃(KNN), 나이브 베이즈, 결정트리, 랜던 포레스트, XGBoost,  LightGBM

 

지도학습 알고리즘 2개 항목

    K-평균군집화 (K-Means Clustering), 주성분 분석 (PCA)

 

■ 책의 대상

· 머신러닝을 처음 접하는 독자분도 매우 좋을것 같습니다.

  그 이유는, 책의 초반부에 책을 보기에 기초지식(python, 머신러닝/딥러닝 개념)등도 소개되어 있고

  전처리등에서 주로 사용되어지는 (pandas, numpy)등에 대해서도 주로 사용하는 핵심 내용이 chapter3장에 잘 설명되어 있습니다.

  코드 설명시, 주요 용어등이 적절히 요소 요소 설명되어지는 구성이여서 도움이 됩니다.  자주 사용되는 알고리즘을 학습을 통해서 대부분의 중요한 부분은 커버가 되고 그 이후 추가로 필요한 부분은 조금더 심화학습을 
  하면 좋을것 같습니다.

 

· 개념이 혼돈이 되는 독자분들도 좋은 지침서가 됩니다.

  여러 ML알고리즘을 학습시에 그 부분부분을 이해가 되지만, 큰 그림으로 적적한 알고리즘 판단이 필요할때 좋은 Guide가 되는 책입니다

  경험이 많은 독자분도 데싸노트님의 현업 경험을 직/간접체험하는 내용이 많이 포함되어 있습니다.

  예를들어 결측치 보정등에 대해서 (약간 정답이 없는 부분)에 대해서도 알고리즘 구성시 조금더 구체적인 내용을 얻어가실 수 있습니다.

 

· 테스트 환경에 어려움이 있으신 독자분 / 빠르게 검증을 해보고 싶으신 독자분

  요즘은 대부분의 책이 colab환경이여서 책의 예제를 따라하는데 어려움이 없어졌습니다.

  해당 책도 코랩에 소스 코드가 공유되어 있어서 쉽게 데이터 검증 및 테스트를 쉽게 하실수 있습니다.

 

■ 책의 구성

· 각 알고리즘 마다 비슷한 패턴을 알고리즘을 검증합니다.

문제를 정의하고 → 데이터를 불러오고  → 전처리를 하고 → 모델링 / 예측을 합니다.

 

각 chapter마다 이렇게 미션과, 종속변수, 평가지표, 사용기술등이 정리되어 있어서 한눈에 이번장에서 제시하는 내용을 

파악하기 편합니다.

 

코랩으로 로딩한 데이터를 기준으로 어떤 측면에서 데이터를 접근해야 하는지 상세히 기술되어 있습니다.

다른 알고리즘과 비교 평가가 쉽게 구성되어 있고, ML구성하는 flow에도 익숙해지는 구성이 좋은 부분인거 같습니다.

책의 내용도 중요하지만 저는 "각 알고리즘에서 사용하는 데이터Set이 눈에 들어왔습니다."

DataSet에서 학습하고, 예측하려는 목표가 책의 예시와 다를수도 있지만, 대략적으로 데이터가 가지고 있는 기본 속성을 통해서 

우리가 선택해야 하는 알고리즘에서 선택의 보편적인 힌트를 얻을수 있다고 생각했습니다.

 

10가지 알고리즘 중에 현업에서 잘 사용은 하지 않지만,

Top10으로 선정한 이유 (가장 기본이 되는 원리를 포함하는 알고리즘, 추후 딥러닝으로 범위를 넓히면 도움이 되는 알고리즘)등이 

설명되어 있습니다.

아래 내용을 보시고, 어떠한 이유로 해당 알고리즘을 선택했는지 판단기준이 애매하거나,
설명하기 어려운 부분은 책을 통해서 학습을 하면 될 것 같습니다.

<지도학습>
① 선형회귀 : 보험료 예측하기
ⓩ 로지스틱 회귀  : 타이타닉 생존자 예측하기
③ K-최근접이웃(KNN) : 와인등급 예측하기
④ 나이브 베이즈 : 스팸여부 판단하기
⑤ 결정트리 : 연봉 예측하기
⑥ 랜던 포레스트 : 중고차 가격 예측하기
⑦ XGBoost : 커플 성사 여부 예측하기
⑧ LightGBM : 이상거래 예측하기

<비지도학습>
⑨ K-평균 군집화 : 비슷한 속성끼리 분류하기
⑩ 주성분 분석(PCA) : 차원 축소 응용하기

 

· Top 10 선정이유

  해당 부분도 저자님의 의견을 통해서 명확한 판단기준을 정립하는데 도움이 되는 구절입니다.

  알고리즘의 장단점이 있고, 이런 현업의 의견은 시행착오를 줄여주는데 도움이 됩니다.

  : P. 109 선형회귀 chapter 예시

· 용어정리, 코드적으로 새로운 함수, 연습문제 등이 구성되어 학습한 사항을 reminder하기 좋습니다.

 

■ 알고지즘 내용 살펴보기

 

<지도학습>


① 선형회귀

♤ 미션 : 보험 데이터셋을 이용해서 보험사에서 청구할 보험료를 예측하라.

♠ 내용 : 연속된 변수를 기반으로 하기에 대부분 적용이 가능한 "선형회귀" 를 사용해봅니다.

    종속변수인 보험료를 예측하기 위해서 가장 기본인 선형회귀를 적용하였고, 예측값을 통계기법으로 검증하는 내용이 있습니다.

    보험료를 추정하기 위해서 독립변수를 데이터에 있는 요소를 사용했습니다.

    기억에 남는 내용은 "유의사항" 부분으로 남여구별을 0,1로 사용했는데 boolean의 성격을 가지는 값이여서 일반 수치와 동일하게

    적용하면 각 변수에 스케일 차이가 발생한다는 내용이 있습니다.


ⓩ 로지스틱 회귀 

♤ 미션 : 타이타닉 승객 정보 데이터셋을 이용해 생존 여부를 예측하라

♠ 내용 : 생존여부는 2개의 boolean값을 가지는 특성이 있습니다. 그래서 2개의 결과값을 분류하는 로지스틱 회귀를 적용합니다.

     KNN을 이용해서도 분류는 가능하며, 예시는 로지스틱을 이용합니다.


③ K-최근접이웃(KNN)

♤ 미션 : 와인 정보가 들어 있는 데이터셋을 이용해 와인등급을 예측하라

♠ 내용 : 분류를 하는 것으로 다중분류를 가장 간편하게 적용할수 있는 KNN을 적용합니다.

    와인 등급이 여러가지로 구성되어 있으니 가장 대표적인 KNN을 적용해봅니다.

 

④ 나이브 베이즈 : 스팸여부 판단하기

♤ 미션 : 문자 데이터셋을 이용해 스팸 여부를 판단하라.

♠ 내용 : 조건부 확률 기반의 분류 모델을 사용합니다. A(특정단어가 입력)가 일어났을때 B(스팸)이 일어날 확률을 학습하여, 

    스팸여부를 판단하는데 사용합니다.


⑤ 결정트리 

♤ 미션 : 학력,교육,혼인상태,직업정보를 담은 연봉 데이터셋을 이용해 연봉을 예측하라.

    해당 미션을 보면, 앞에서 다루었던 "보험료 청구 예측" 하는 데이터 샘플과 비슷하다고 생각이 들것입니다.

    관련 사항도 책에서 잘 언급되어 있습니다.

♠ 내용 : 선형모델은 각 변수에 대한 기울기값에 대한 최적화를 수행하는 방법이라면, 결정트리는 각 변수의 특정지점을 기준으로 데이터를 

    분류하는데 가장 큰 목적이 있고, 위에서 언급된 변수를 기준으로 연봉예측을 수행합니다.


⑥ 랜던 포레스트

♤ 미션 : 중고차 판매 이력 데이터셋을 이용해 중고차 가격을 예측하라

♠ 내용 : 결정트리의 단점 (오버피팅)을 개선하기 위해서 앙상블 기법이 적용된 랜던 포레스트를 이용해서 예측을 진행합니다.

    실제 결정트리는 잘 사용하지 않기 때문에, 조금 더 예측이 정확한 기법을 하나씩 적용해 보는 과정이 있습니다.


⑦ XGBoost

♤ 미션 : 스피드데이팅 데이터셋을 이용해서 커플 성사 여부를 예측하라

♠ 내용 : 결정트리 → 랜던포레스트를 거치면서 점차 발전된 모델인 부스팅 알고리즘을 적용하는것을 연습합니다.

    캐글 우승자가 많이 사용한 기법으로도 유명하고 XGBoost 한 분야만 다루는책도 별도로 출간되어 있습니다.


⑧ LightGBM 
♤ 미션 : 카드 거래 내역 데이터셋을 이용해 이상거래를 예측하라.

♠ 내용 : 기술이 발전하듯이 부스팅기법에서 가장 최신의 기법입니다. 핵심은 리프중심트리 분할 방식을 사용하는것입니다.


<비지도학습>
⑨ K-평균 군집화 

♤ 미션 : 비슷한 속성끼리 분류하기

♠ 내용 : 비지도학습에 대표적인 알고리즘으로, 클러스터링 기법중에서 가장 보편적인 알고리즘을 연습해봅니다.


⑩ 주성분 분석(PCA)

♤ 미션 : 데이터의 차원을 축소하여 이해하기 쉽게 시각화 하라

♠ 내용 : 변수가 너무 많아서 학습이 어려운 경우등 PCA(주성분 분석)을 통해서 차원을 줄이는 알고리즘을 적용해봅니다.

 

■ 리뷰

여러 알고리즘이 있고, 모든 알고리즘을 다 알수는 없지만 대표적인 알고리즘 학습 및 중요도, 사용처를 가장 쉽게 학습할수 있는 책입니다.

어떠한 이유에서 이런한 알고리즘이 사용되고, 장단점이 잘 설명되어 있어서 맹목적인 학습이 아닌, 실제 사용시에 고려해야 하는 요소를

간접체험하고 다양한 경우를 생각해 볼 수 있는 책이라고 생각이 됩니다.

 

 

<해당 서평은 골든래빗 출판사로부터 책을 제공받아 작성했습니다.>