설명
★ 실전은 피처 엔지니어링이다
★ 뉴욕의 데이터 사이언티스트가 알려주는
★ 머신러닝 문제풀이 해법을 익혀라
이 책은 실무와 캐글 챌린지에도 통하는 10가지 각 알고리즘을 엄선해 머신러닝을 알려줍니다. 콜롬비아 대학교 대학원생 튜터로, 패스트캠퍼스 데이터분석 강사와 스터디 리더로 활동한 저자는 데이터 분석을 바탕으로 한 코딩에 집중할 때 학습 능률이 더 오르는 것을 발견했습니다. 그래서 각 알고리즘을 ‘기초 지식 ➝ 데이터 분석 ➝ 전처리 ➝ 모델링 평가 ➝ 알고리즘 깊이 이해하기’ 순서로 격파해나갑니다. 무엇보다 더 나은 성과를 얻는 핵심 기술인 데이터를 분석하고 처리하는 피처 엔지니어링에 공을 들였습니다. 이 책을 읽고 나면 독자 스스로가 데이터에 알맞은 문제풀이 해법을 고안할 수 있게 될 겁니다.
* 이 책은 객체지향 개념이 있는 프로그래밍 언어를 적어도 하나를 익힌 분을 대상으로 합니다. 파이썬은 1장에서 알려주므로 몰라도 됩니다.
★ 뉴욕의 데이터 사이언티스트 데싸노트가 전하는
★ 이 책으로 머신러닝을 익혀야 하는 이유
이 책은 기존 책과 큰 차이가 있습니다. 상세한 이론 설명을 코딩을 마친 후로 미루고, 일단 머신러닝 코드를 작성합니다. 그저 코드를 따라 치는 게 아니라 어떤 관점에서 문제를 풀어나가야 하는지 설명을 보태 실무에도 적용할 수 있게 했습니다. 이렇게 손으로 결과물을 만들어보고 나서 이론을 깊게 살펴봅니다. 전체 과정을 다시금 머리에 상기시키고, 핵심 개념과 용어를 복습합니다.
이런 식으로 TOP 10 알고리즘을 모두 학습하고 나면, 머신러닝 알고리즘에 대한 이해뿐만 아니라, 파이썬 코딩에 대한 기초 지식도 자연스럽게 갖출 수 있습니다. 무엇보다 큰 장점은, 결과물을 바로 확인하고 본인이 무엇을 하고 있는지 직관적으로 알 수 있기 때문에, 의욕을 고취시킨다는 데 있습니다.
★ 현업과 캐글에서 머신러닝을 활용하려면
★ 얼마나 많은 머신러닝 알고리즘을 알아야 하는 걸까요?
시작점으로 TOP 10 알고리즘이면 충분합니다. 알고리즘은 달라도 머신러닝 실행 순서는 학습 → 예측 → 평가로 진행됩니다. 이 부분은 거의 정형화되어 있어 성능에 큰 영향을 미치지 않습니다. 쓰레기가 들어가면 쓰레기가 나온다고 합니다. 머신러닝에 딱맞는 말입니다. 좋은 데이터가 좋은 머신러닝 모델을 만듭니다. 그래서 이 책은 TOP 10 알고리즘을 공략하면서 무엇보다 데이터 분석과 가공에 공을 들입니다. 데이터에 어떤 가공 기법이 필요한지 하나하나 분석하며 클리닝, 피처 엔지니어링, 차원 축소 등의 기법을 사용할 겁니다. 이렇게 데이터 분석 능력을 기르며 알고리즘을 익히면 현업과 캐글에서도 통하는 실력을 갖추게 됩니다.
★ 타깃 독자
__적어도 객체지향 프로그래밍 언어 하나를 아는 머신러닝 입문자
__머신러닝을 협업/캐글에서 더 잘 활용하고 싶은 데이터 사이언티스트와 개발자
★ 톱 10 알고리즘의 선정 기준
이 책은 10가지 머신러닝 알고리즘을 다룹니다. 어떤 알고리즘은 성능면에서 매우 뛰어나서, 어떤 알고리즘은 꼭 이해할 필요가 있어서 선택했습니다. 8가지 알고리즘은 지도 학습, 나머지 2가지 알고리즘은 비지도 학습에 포함됩니다. 정형 데이터라면, 이 10가지 알고리즘만으로 현업과 캐글 컴피티션에서 충분히 좋은 성과를 낼 수 있습니다.
★ TOP 10 알고리즘의 성능 비교
지도 학습에 해당하는 8개 알고리즘만 수치화해서 표로 만들어봤습니다. 비지도 학습 알고리즘은 분석 목적이 달라서 지도 학습 알고리즘과는 비교 자체가 불가능해 제외했습니다. 각 지표의 의미는 다음과 같습니다. 성능 비교는 주관적인 견해이므로 참고만 하시기 바랍니다.
- 범용성 : 다양한 케이스에 적용할 수 있지에 대한 척도
- 속도 : 모델링 및 예측 속도
- 예측력 : 예측 결과의 정확도
- 하이퍼파라미터 튜닝 : 모델링에서 튜닝 가능한 옵션의 종류와 기능
- 시각화 : 모델링 결과에 대한 시각화 가능 수준
- 해석력 : 모델에 대한 해석의 용이성
책의 구성
★ 이 책의 구성
이 책은 학습 흐름을 끊지 않기 위해 개발 환경(코랩)부터 설명한 후, 다음과 같이 총 3단계에 걸쳐 머신러닝 알고리즘을 공략해나갑니다.
[1단계 : 배경지식 익히기]
머신러닝을 본격적으로 다루기 전에 알아야 하는 기초 지식을 다룹니다. 1장에서는 머신러닝 알고리즘, 그래프, 라이브러리를 일목요연하게 소개합니다. 머신러닝 입문자가 큰 그림을 파악하는 데 도움이 될 겁니다. 이어서 프로그래밍에 사용할 파이썬 기본 지식(2장), 데이터 분석에 사용할 데이터 구조인 판다스와 넘파이(3장)도 다룹니다.
[2단계 : 답을 알려줘야 학습하는 지도학습 알고리즘]
지도 학습과 관련된 8가지 알고리즘을 알아봅니다. 지도 학습은 학습 데이터에 답(종속변수)이 포함되어 있습니다. 그 답을 잘 예측할 수 있도록 모델을 훈련시키는 방법을 문제해결 관점에서 알아보겠습니다. 가장 기초 알고리즘인 선형 회귀부터 캐글 컴피티션 및 실무에서도 유용한 최신 기법인 XGBoost와 LightGBM까지 폭넓게 다룹니다.
[3단계 : 답을 스스로 찾는 비지도학습 알고리즘]
비지도 학습 알고리즘 두 개를 다룹니다. 비지도 학습은 답이 주어져 있지 않다 보니, 학습 결과가 좋은지 나쁜지 평가할 만한 답안 또한 가지고 있지 않아서 목적이 모호할 수 있습니다. 그래서 다양한 시도를 할 때 활용될 수 있습니다. 지도 학습과 달리 비지도 학습에서 압도적으로 많이 사용되는 알고리즘이 한정적입니다. 그래서 가장 유명한 두 알고리즘만 다룹니다.
★ 이해를 돕는 이 책만의 특징
이 책은 3가지 실전 가이드, 10가지 머신러닝 알고리즘, 33가지 연습문제를 제공합니다. 각 장의 마무리에 학습 내용을 되짚어보고 중요 용어와 함수를 정리해뒀습니다.
추천사
“많은 이들이 자신의 문제를 머신러닝을 이용하여 해결하고자 호기롭게 접근하지만 곧 현실적인 어려움을 겪는 경우가 많습니다. 기본적인 개념은 어디에서 들어봤는데 그 개념의 구체적인 내용은 머리 속에서 분명하지 않습니다. 그 이해를 난해한 시나리오와 어떻게 접목해야 할지 그림이 그려지지 않습니다. 《MUSTHAVE 데싸노트의 실전에서 통하는 머신러닝》은 피처 엔지니어링부터 유용한 10가지 알고리즘을 설명하는 구성으로 시작합니다. 내가 접한 문제를 어떤 알고리즘과 엮고 차근차근 해법을 찾아갈 수 있는지 친절하게 알려줍니다. ”
김용욱
현) 한양여대 강사
전) 카카오뱅크 프로그래머
GDG Korea Android 창립자
국내 최초 GDE Android
“머신러닝 알고리즘을 배우다 보면 배울 게 끝이 없어 보입니다. 이 책에 그 고민을 덜어줄 10개의 알고리즘이 엄선되어 있습니다. 10개의 예제를 통해 실습을 하다 보면 핵심 알고리즘과 필수적으로 알아야 할 기법을 ‘Learning By Doing’으로 배우게 됩니다.”
박조은 | 오늘코드 데이터분석가
“친절한 책입니다. 입문자의 눈높이에 맞추었지만 실무에서 진행될 법한 데이터 파악과 전처리 과정부터 시작해 알고리즘으로 나아가는 구성은 막 실무를 시작한 분에게도 알맞을 듯하네요. 전처리의 중요성을 새삼 느꼈습니다. 머신러닝 기본, 그리고 핵심 알고리즘 설명에 충실합니다. 흥미로운 예제와 데이터로 구성되어 있어 한 장 한 장이 새롭고 기다려지는 책이었습니다.”
안다혜 | 여기어때컴퍼니 데이터엔지니어
“머신러닝 알고리즘을 이해하고 실제 적용하는 일은 지루하고 어렵습니다. 이 책에 나오는 문제해결 과정을 따라 하다 보면 왜 이렇게 하는지에 익숙해지고 필요한 기법을 빠르게 학습할 수 있습니다. 이 책을 통해 머신러닝을 빠르게 익히고 실무에 적용해보면서 더욱 발전하는 자신을 경험해보시기 바랍니다.”
강점우 | 카카오페이 머신러닝 엔지니어
“머신러닝이 무엇인지 확실히 개념을 익히실 수 있습니다. 개념뿐만 아니라 가장 많이 사용되는 10가지 머신러닝 기법을 예제와 코드를 통해 익히고 나서 앞으로 무엇을 더 공부하면 좋을지 스스로 터득할 수 있게 하는 길잡이 같은 책입니다.”
권순범 | 데이터 사이언티스트 《자연어 처리 쿡북 with 파이썬》 역자
“머신러닝 공부를 이제 막 시작하는 입문자 또는 머신러닝 알고리즘 학습에 어려움을 겪고 있는 개발자에게 추천합니다. 복잡한 수식보다는 이해하기 쉬운 예시와 예제, 그리고 이해를 돕는 그림으로 설명합니다. 파이썬 지식이 없는 사람을 위한 문법도 설명하고 있어 독학하기 좋습니다.”
박가단 | SMHRD 주니어 프로그래머
“머신러닝을 부담없이 시작할 수 있는 책입니다. 시작은 가벼웠지만 마지막 페이지를 덮을 때에는 많은 것을 얻어갈 겁니다. 이론으로는 몇 번이나 읽어봐도 알쏭달쏭한 머신러닝 개념을 예제를 통해 다질 수 있습니다. 저자가 제시하는 코드와 설명을 따라가다 보면 혼자서는 버거웠을 의미를 해석할 수 있게 됩니다. 이 책은 인터넷 강의에 버금가는 강의력이 있습니다. 덕분에 많은 시간을 절약해 머신러닝을 배울 수 있습니다.”
박서현 | (주)아이콘 프론트엔드 개발자
“데싸노트님의 영상을 본 사람이라면 알겠지만, 어려운 이론보다도 우선 코드부터, 예제부터 실행해보기를 권합니다. 이 책 역시 복잡한 설명보다 코드를 이용해서 감각을 키우는 훈련을 시켜줍니다. 이 책을 통해 머신러닝과 조금 더 친해질 수 있을 거라고 생각합니다.”
송진영 | 빅인사이트 데이터분석가
“많은 분이 전공자가 아님에도 여러 방법으로 데이터 과학자에 도전합니다만 알아야 할 지식이 많아서 정말 쉽지가 않습니다. 이 책은 첫 단계를 비교적 쉽게 넘어갈 방법을 알려줍니다. 코드를 따라서 입력하고 설명을 읽으면 조금씩 길이 보입니다. 많은 분께 도움이 될 거라고 생각합니다.”
정현준 | 매드업 CTO
“이 책을 한 줄로 요약하자면 ‘Learning By Doing’이라고 할 수 있습니다. 파이썬 입문자부터 머신러닝 알고리즘을 되짚어보고 싶은 현업 개발자까지, 모두에게 이 책을 추천합니다. 배우기 전에 실행하고, 실행하는 과정에서 배움에 대한 두려움을 없앨 수 있을 겁니다.”
조동민 | 넥슨코리아 데이터 분석가
“머신러닝 모델들의 개념을 쉽게 익힐 수 있게 허들을 낮춘 책입니다. 입문자들이 모델 개념을 이해하고, 실제로 적용해볼 수 있도록 코드를 제공해 쉽게 실습해볼 수 있습니다. 생각날 때마다 찾아볼 수 있는 레퍼런스용으로도 좋습니다.”
최선경 | 토스증권 데이터분석가
“복잡한 머신러닝 알고리즘이 많지만 실무에 적용되는 알고리즘은 많지 않습니다. 이 책은 우수한 성능과 다양한 활용 사례로 유명한 10가지 머신러닝 알고리즘을 소개합니다. 알고리즘 개념에 대한 올바른 이해와 코드 실습을 통해 실무에 빠르게 머신러닝을 적용할 수 있게 돕는 입문서 겸 활용서입니다.”
최우성 | 한전 전력연구원 책임연구원(AI프렌즈 운영진)
“인공지능 분야에서 첫 걸음마를 뗀 분들부터 오랜 시간 현업에서 종사하시는 분들에게 추천드립니다. 체계적으로 입문하는 용도로도 좋지만, 오랜 시간 실무에 집중하다가 기본을 다시 확인하고 정립하는 용도로도 좋습니다. 저도 인공지능 분야에서 종사하지만, 이 책을 통해 제가 놓치고 있던 부분을 채우는 시간을 가질 수 있었습니다. 다음에 다시 읽을 때도 같은 내용이지만 또 다른 부분을 채울 거라고 생각합니다. 인공지능의 세상에서 다음 스텝으로 넘어가기 전에 걸어오셨던 길을 이 책을 통해서 다시금 돌아보시길 바라봅니다.”
황후순 | 아일리스프런티어 프로그래머
목차
[1단계] 배경지식 익히기
01장 한눈에 살펴보는 머신러닝
__1.1 인공지능, 머신러닝, 딥러닝
__1.2 머신러닝 기법 : 지도 학습, 비지도 학습, 강화 학습
__1.3 머신러닝 프로세스
__1.4 TOP 10 알고리즘의 성능 비교
__1.5 머신러닝 핵심 라이브러리
__1.6 데이터 시각화 그래프 종류
__1.7 피처 엔지니어링 기법
__1.8 변수란 무엇인가?
학습 마무리
02장 파이썬 기초 익히기
__2.1 프로그래밍 기본 : 산술 연산, 변수, 출력
__2.2 자료형과 자료구조
__2.3 반복문 : for문, while문
__2.4 조건문 : if문
__2.5 파이썬 내장 함수
__2.6 나만의 함수 만들기 : def
학습 마무리
03장 유용한 라이브러리 : 판다스와 넘파이
__3.1 판다스
__3.2 넘파이
학습 마무리
[2단계] 답을 알려줘야 학습하는 머신러닝 지도학습 알고리즘
04장 선형 회귀 : 보험료 예측하기
__4.1 문제 정의 : 한눈에 보는 예측 목표
__4.2 라이브러리 및 데이터 불러오기
__4.3 데이터 확인하기
__4.4 전처리 : 학습셋과 시험셋 나누기
__4.5 모델링
__4.6 모델을 활용해 예측하기
__4.7 예측 모델 평가하기
__4.8 이해하기 : 선형 회귀
학습 마무리
연습 문제
05장 로지스틱 회귀 : 타이타닉 생존자 예측하기
__5.1 문제 정의 : 한눈에 보는 예측 목표
__5.2 라이브러리 및 데이터 불러오기
__5.3 데이터 확인하기
__5.4 전처리 : 범주형 변수 변환하기(더미 변수와 원-핫 인코딩)
__5.5 모델링 및 예측하기
__5.6 예측 모델 평가하기
__5.7 이해하기 : 피처 엔지니어링
__5.8 이해하기 : 로지스틱 회귀
학습 마무리
연습 문제
더 보기
06장 K-최근접 이웃(KNN) : 와인 등급 예측하기
__6.1 문제 정의 : 한눈에 보는 예측 목표
__6.2 라이브러리 및 데이터 불러오기
__6.3 데이터 확인하기
__6.4 목푯값에서 고윳값 확인하기
__6.5 전처리 : 결측치 처리하기
__6.6 스케일링
__6.7 모델링 및 예측/평가하기
__6.8 하이퍼파라미터 튜닝하기
__6.9 이해하기 : K-최근접 이웃
학습 마무리
연습 문제
07장 나이브 베이즈 : 스팸 여부 판단하기
__7.1 문제 정의 : 한눈에 보는 예측 목표
__7.2 라이브러리 및 데이터 불러오기 & 데이터 확인
__7.3 전처리 : 특수 기호 제거하기
__7.4 전처리 : 불용어 제거하기
__7.5 전처리 : 목표 컬럼 형태 변경하기
__7.6 전처리 : 카운트 기반으로 벡터화하기
__7.7 모델링 및 예측/평가하기
__7.8 이해하기 : 나이브 베이즈 모델
학습 마무리
연습 문제
08장 결정 트리 : 연봉 예측하기
__8.1 문제 정의 : 한눈에 보는 예측 목표
__8.2 라이브러리 및 데이터 불러오기, 데이터 확인하기
__8.3 전처리 : 범주형 데이터
__8.4 전처리 : 결측치 처리 및 더미 변수 변환
__8.5 모델링 및 평가하기
__8.6 이해하기 : 결정 트리
__8.7 오버피팅 문제
__8.8 매개변수 튜닝
__8.9 트리 그래프
학습 마무리
연습 문제
09장 랜덤 포레스트 : 중고차 가격 예측하기
__9.1 문제 정의 : 한눈에 보는 예측 목표
__9.2 라이브러리 및 데이터 불러오기, 데이터 확인하기
__9.3 전처리 : 텍스트 데이터
__9.4 전처리 : 결측치 처리와 더미 변수 변환
__9.5 모델링 및 평가하기
__9.6 이해하기 : K-폴드 교차검증
__9.7 이해하기 : 랜덤 포레스트
__9.8 하이퍼파라미터 튜닝
학습 마무리
연습 문제
10장 XGBoost : 커플 성사 여부 예측하기
__10.1 문제 정의 : 한눈에 보는 예측 목표
__10.2 라이브러리 및 데이터 불러오기, 데이터 확인하기
__10.3 전처리 : 결측치 처리
__10.4 전처리 : 피처 엔지니어링
__10.5 모델링 및 평가
__10.6 이해하기 : 경사하강법
__10.7 하이퍼파라미터 튜닝 : 그리드 서치
__10.8 중요 변수 확인
__10.9 이해하기 : XGBoost
학습 마무리
연습 문제
11장 LightGBM : 이상거래 예측하기
__11.1 문제 정의 : 한눈에 보는 예측 목표
__11.2 라이브러리 및 데이터 불러오기, 데이터 확인하기
__11.3 전처리 : 데이터 클리닝
__11.4 전처리 : 피처 엔지니어링
__11.5 모델링 및 평가하기
__11.6 하이퍼파라미터 튜닝 : 랜덤 그리드 서치
__11.7 LightGBM의 train( ) 함수 사용하기
__11.8 이해하기 : LightGBM
학습 마무리
연습 문제
[3단계] 답을 스스로 찾는 비지도학습 알고리즘
12장 K-평균 군집화 : 비슷한 속성끼리 분류하기
__12.1 문제 정의 : 한눈에 보는 예측 목표
__12.2 K-평균 군집화 맛보기 : 인위적으로 만든 데이터셋
__12.3 데이터 불러오기 및 데이터 확인하기 : 고객 데이터셋
__12.4 전처리 : 피처 엔지니어링
__12.5 고객 데이터 모델링 및 실루엣 계수
__12.6 최종 예측 모델 및 결과 해석
__12.7 이해하기 : K-평균 군집화
학습 마무리
연습 문제
13장 주성분 분석(PCA) : 차원 축소 응용하기
__13.1 차원을 축소해서 그래프 그리기 : 고객 데이터셋
__13.2 속도와 예측력을 향상시키기 : 익명 데이터셋
__13.3 이해하기 : 주성분 분석
학습 마무리
연습 문제
삼성전자에 마케팅 직군으로 입사하여 앱스토어 결제 데이터를 운영 및 관리했습니다. 데이터에 관심이 생겨 미국으로 유학을 떠나 지금은 모바일 서비스 업체 IDT에서 데이터 사이언티스트로 일합니다. 문과 출신이 미국 현지 데이터 사이언티스트가 되기까지 파이썬과 머신러닝을 배우며 많은 시행착오를 겪었습니다. 제가 겪었던 시행착오를 덜어드리고, 머신러닝에 대한 재미를 전달하고자 유튜버로 활동하고 책을 집필합니다.
현) IDT Corporation (미국 모바일 서비스 업체) 데이터 사이언티스트
전) 콜롬비아 대학교, Machine Learning Tutor, 대학원생 대상
전) 콜롬비아 대학교, Big Data Immersion Program Teaching Assistant
전) 콜롬비아 대학교, M.S. in Applied Analytics
전) 삼성전자 무선사업부, 스마트폰 데이터 분석가
전) 삼성전자 무선사업부, 모바일앱 스토어 데이터 관리 및 운영
강의 : 패스트캠퍼스 〈파이썬을 활용한 이커머스 데이터 분석 입문〉
SNS : www.youtube.com/c/데싸노트
CONTENTS
관련 콘텐츠들
[무료강의] 《파이썬 데이터 분석가 되기》 출간기념 업로드 완료!
★ 파이썬으로 데이터 분석을 하고 싶다면? 파이썬 입문 그다음에 꼭 보세요! ‘패스트캠퍼스’, ‘메가스터디’ 셀레나 쌤과 함께 실패 없이 완주하세요!
Read More[ChatGPT] 챗GPT와 함께 앱스 스크립트 조건부 서식 만들기 | 구글 시트, 스프레드시트
보통 스프레드시트의 조건부 서식 기능으로 처리합니다. 조건부 서식은 앱스 스크립트에서도 할 수 있습니다. 한 번에 여러가지 조건부 서식을 적용하고 싶을 때 유용하게 쓰일 겁니다. 교통사고 시트로 돌아가 이 작업을 다시 해봅시다.
Read More[ChatGPT] 앱스 스크립트로 챗GPT API 사용하기
챗GPT는 손쉽게 활용할 수 있는 API를 제공합니다. 그래서 앱스 스크립트 공부의 보조 도구로 쓸 수 있을 뿐만 아니라 바로 앱스 스크립트에 붙여서 사용할 수도 있습니다. 그럼 API 인증키 발급부터 앱스 스크립트에서 챗GPT를 활용하는 방법을 알아보겠습니다.
Read More[ChatGPT] 챗GPT로 문자 자동 응답하기 | 업무 자동화, AI 업무 활용
챗GPT를 이용해 문의에 대한 답변을 자동으로 생성하는 실습을 해보겠습니다. 챗GPT에게 어떤 식으로 답변을 생성할 것인지 미리 가이드라인을 만들어주고, 챗GPT는 가이드라인에 따라 답변을 생성하게 됩니다.
Read MoreSUBSCRIPTION
책 이야기를 들려드립니다.
책이 만들어지는 집필, 편집, 베타리딩 등의 출간 소식뿐 아니라,
관련 주제의 책 소식, 저자와의 만남, 강의, 오탈자 등 책 관련 소식을 전해드립니다.
이홍규 –
이 책은 가장 많이 사용되는 Top10 의 알고리즘을 살펴보고 그 알고리즘들이 어떤 경우에 사용되는지 하나씩 예를 들어서 분석을 하면서 알고리즘의 이해를 돕고 있습니다.
먼저 가장 기본이 되는 선형회귀 알고리즘 부터 캐글 컴피티션 우승자가 많이 사용하는 검증된 부스팅 모델인 LightGBM 모델까지 살펴 봅니다.
머신러닝을 공부하면서 머신러닝의 알고리즘에 대한 설명을 해 주는 문서들은 많지만 어떤 경우에 어떤 알고리즘을 사용해야 되는지 알려주는 문서들은 많지 않은것 같습니다.
실제로 같은 문제를 해결 하더라도 여러가지 알고리즘으로 접근이 가능한데, 어떤 알고리즘이 더 적합한지는 여러가지 알고리즘으로 훈련을 하고 매개변수를 직접 변경해 보기도 하면서 가장 좋은 방법을 찾아 내는 것이 데이터 과학자가 걸어가야 할 길인것 같은데요~
이 책은 먼저 문제를 정의하고 이 문제에서 사용할 수 있는 데이터를 살펴 보고 그 데이터를 사용하기 위해 전처리 과정(결측치 처리,훈련데이터와 테스트 데이터 분리,필요에 따른 스케일링 등)을 거쳐 모델을 훈련하고 훈련한 결과의 예측값을 살펴 보면서 우리가 데이터과학자가 되어 데이터 분석하는 방법에 대한 이해를 실습을 통해서 스스로 깨닫게 만들어 줍니다.
이 책은 머신러닝에 입문하려는 분들이 처음 접하기 쉽게 파이썬 기초,넘파이와 판다스에 대해 정리를 해주고 있어서 프로그래밍을 했던 분들이라면 무리 없이 따라 하실 수 있도록 구성이 되어 있습니다.
머신러닝 입문서가 정말 많은 것은 사실이지만 입문 하시는 분들이 쉽게 접근 할 만한 책은 많지 않은것 같아요.
이 책을 읽으면서 느낀 것은 머신러닝 입문하는 분들에게 한줄기 빛이 되어 줄것 같은 생각이 드네요.
한상곤 –
> 골든래빗 출판사로부터 전자책을 제공받아 작성했습니다.
1. TL;DR
다채로운 예제를 활용한 분석 방법 제공
– 모델에 따른 다양한 예제를 제공하기 때문에 데이터 전처리 등을 연습할 수 있음
– 하나의 예제를 활용해서 2~3가지 모델을 적용하는 연습을 통해서 책에서 소개된 내용을 적용해 볼 수 있음
주요 모델을 활용한 일관성 학습 과정을 소개
– 문제 풀이 과정을 일관성 있게 제공하기 때문에 문제 해결 방식을 학습할 수 있음
– 모델에 따른 특이점 및 차별점도 충실하게 소개하고 있기 때문에 문제 해결 기법에 따른 특성도 파악할 수 있음
2. 다양한 예제
– 이 책은 데이터 분석 및 머신러닝에서 많이 활용되는 10가지 모델을 선정해서 학습하는 책이다. 많은 튜토리얼에서 scikit-learn에 포함된 몇가지 예제를 활용하는 경우가 많지만, 이 책은 예제를 다양하게 제시하고 있다.
– 책에 소개된 모델은 문제 해결 과정과 특징을 잘 엿볼 수 있는 예제와 함께 학습할 수 있다. 모델 학습과 동시에 제시된 예제의 데이터 구조나 특징도 함께 파악할 수 있다. 데이터 구조나 특징의 경우 머신러닝으로 문제를 해결 할 때 사용 하고자 하는 모델을 선택할 때 도움을 받을 수 있다.
– 데이터 전처리 부분이 좀 더 충실했으면 좋겠지만, 분량을 생각한다면 해당 책에서 소개하는 전처리 정도만 충실하게 배워두어도 좋을 듯 싶다.
3. 모델 선택과 일관성
– 머신러닝을 공부하면서 모델에 대해서 설명하는 경우가 많다. 많은 책이 모델의 수학적 원리와 이론에 대해서 많은 지면을 할애하는데 반해서, 이 책은 모델을 활용해서 문제를 해결하는 과정을 잘 설명한다. 개별 모델의 특징과 차이점도 충실하게 설명하지만, 대부분의 문제 해결 방식이나 모델 적용이 큰 틀에서 ‘일관성’있게 제시하고 있다.
– 이런점은 다른 교재에 비해서 문제 해결 과정을 충실하게 학습 및 연습을 할 수 있기 때문에 이 책의 가장 큰 장점 중 하나라 할 수 있다. 모델에 대한 수학적이고 이론적인 부분은 다른 책이나 코세라 등을 참고해도 좋을 듯 싶다.
– 만약 해당 교재로 다양한 모델을 적용하고 싶다면, 책에서 제시하는 예제에 2~3가지 모델을 적용해보면 재미있는 공부를 할 수 있다.
4. 이런 구성의 데이터 분석 책을 기대!
– 이 책으로 공부하면서 느끼는 거지만 역시나 전처리 과정만 잘 넘어가면 모델 적용은 어렵지 않다. 그래서 향후 데이터 전처리 책을 이 책과 유사한 구성으로 출간해주면 너무 좋을 것 같다.
– 모델의 특성상 난이도가 좀 어렵다고 느껴지는 부분도 있지만, 전반적으로 무난한 난이도라 할 수 있다. 만약 특별히 어렵게 느껴지는 부분이 있다면 해당 부분 건너띄고 읽어도 좋을 듯 싶다.
P.S 전자책 덕분에 예제 코드를 한결 수월하게 작성할 수 있었다. 전자책이 어색하신 분들은 종이책을 구매하셔도 좋을 듯 싶다.
SiHan –
`데싸노트의 실전에서 통하는 머신러닝`을 선택하기 전에 반드시 아셔야 할 내용이 하나 있습니다. 머신러닝과 딥러닝은 다른 것입니다. 입문 단계에서 가장 많이 헷갈리고 혼용하는 것이 용어입니다. 동일 카테고리에서 특히 많은 혼동이 있는 듯 합니다. 이제는 조금 옛날 이야기가 되어버렸지만 새롭게 인공지능의 붐을 일으킨 알파고 이후 `인공지능 == 머신러닝 == 딥러닝`으로 알고 있는 사람이 많아져 더욱 용어에 혼란을 느끼는 사람이 많은 듯 합니다. 그래서 이 책은 제목 그대로 `머신러닝`만을 다루고 있습니다. CNN, RNN, transfomer, GAN 등을 기대하고 이 책을 읽으실 생각이면 다른 책을 찾으러 가셔야 합니다.
각 장은 다양한 머신러닝 알고리즘 중 선정된 10가지 알고리즘을 간단한 데이터 셋을 이용해 해당 알고리즘에 맞는 데이터 셋과 풀이 전처리에 대해서 이야기 하고 있습니다. 탑 다운 학습자와 바텀 업 학습자에게 모두 괜찮은 책입니다. 책에서 소개하는 10가지 기법 말고도 머신러닝에는 다양한 기법들이 존재하지만 책에서 다루고 있는 10가지 조차 제대로 이해하고 다룰 수 없다면 사실 다른 알고리즘을 사용하긴 쉽지 않습니다. 탑 다운 학습자의 문제는 지식에 구멍이 뚫려 있다는 것입니다. 아마 그런 문제를 해결하고 싶으셔서 이 책을 고민하고 계실겁니다. 써보긴 했는데 정확히 이렇게 쓰는게 맞는건가 싶기도 하고, 데이터 셋을 좀 더 잘 만져보고 싶으신 분들에게 준 레퍼런스용으로 괜찮다고 생각합니다.
데이터 분석 전 제공해 주는 요약 표는 사용할 알고리즘과 데이터 셋, 평가지표 등 요소를 한 눈에 볼 수 있는 편집 덕에 바텀 업 학습자들에게 특징과 어떤 결과를 얻어내기 위해 분석하고 알고리즘을 사용하는지 이해하기 용이 했습니다.
또 데이터 셋을 막상 열었고, 예제를 따라하고는 있지만 각 특징들의 의미를 이해 못한 채 타자 연습만 하기도 하고, 각 특징들을 분석하면서 설명은 해주지만 한 눈에 가시화가 안되서 답답했던 경험이 있었어서 이런 편집에 가산점을 주고 싶습니다. 이런 특징들의 세부 내용을 알고 분석하기 위해선 해당 도메인 지식이 어느정도 수반되기는 하지만 고민 할 수 있는 기회를 한 번 더 주기 때문에 만족스러운 책의 특징이었습니다.
마지막으로 이 책의 장점으로 해당 장에서 새롭게 나온 함수들을 이렇게 정리해줘서 봤던거 같은데?로 해당 함수를 빠르게 찾을 수 있다는 것입니다. 이미지에 나온 함수들의 경우 데이터 분석을 좀 해보신 분들이라면 저게 뭐 그리 어려운 함수라고 그러지라고 생각하실 수도 있습니다. 하지만 처음 학습하는 학습자에게는 익숙해지기 전까지 볼 때마다 새로운게 함수고, 한 번 더 정리해서 볼 수 있고, 필요에 따라선 전 장에 정리 된 함수를 모아서 일종의 Cheat Sheet를 만들 수 있는 유용한 요소 였습니다.
3줄 요약
– 머신러닝과 딥러닝이 다르다는 것을 명심하고 해당 도서는 머신러닝 책이다
– 탑다운, 바텀업 모두에게 추천 할 만 하다
– 데이터 셋 및 목표 요약, 데이터 셋 분석, 함수 정리는 이 책의 큰 편집적 장점이다.
박수민 –
머신러닝 입문서들은 많지만, 실제로 책을 읽어보면 이 책이나 저 책이나 다를 바 없을 때가 많다. 또한 기본 개념과 응용 코드들을 적어놓긴 하지만 깔끔하게 정제되고 간단한 타이타닉이나 붓꽃 예제로만 진행해서 실제로 다른 데이터들에 응용할 때에 애를 먹는 경우가 대부분이다.
실전에서 통하는 머신러닝이라는 단어가 들어가 있어서 한 번 읽어보았는데, 매우 깔끔하게 정리가 되어 있을 뿐 아니라 다양한 예제들로 이루어져 있어서 좋았다. 위에서 말했듯이, 대부분의 예제가 타이타닉, 붓꽃, 와인 분류에서 벗어나지 못하는 다른 책들과는 다르게 해당 타이타닉과 같은 예시를 포함하여 스팸 여부 판단, 연봉 예측, 데이팅 성사 여부까지 흥미로운 데이터들을 이용하여 예시가 작성되어 있다는 점이 이 책의 가장 좋은 점이라고 할 수 있다.
1장에서 3장까지는 머신러닝을 처음 입문하는 이들을 위해서 책에서 설명할 10가지 알고리즘에 대한 비교와, 판다스와 넘파이와 같은 기초 라이브러리에 대한 설명이 적혀있다. 입문자라면 처음부터 보면 되는데, 조금씩은 알고 있다면 처음 2,3장은 스킵하는 식으로 맞추어서 학습을 하면 된다.
각 예시별로 처음에 문제 정의를 표 형태로 정리해서 제시해주는 것이 인상적이었는데, 데이터셋에 대한 설명부터 어떤 평가지표를 사용할 것인지, 어떤 모델을 사용했고, 이때 사용된 라이브러리들의 버전까지 정리되어 있어서 좋았다. 또한 실전이라는 말에 정말 알맞다고 생각했던 부분이 바로 클러스터링 부분이다. 다른 많은 예제들은 elbow method를 소개하면서 3,4번째에 정말 팔꿈치가 보이게 감소하는 예시들을 보여주었는데, 현업에서 실제 데이터를 이용하여 진행했을 때 너무나도 완만한 그래프에 당황했던 기억이 있다. 하지만 이 책에서는 그렇지 않은 예시를 보여주며 그런 경우 어떻게 해야 할지를 설명해주는 점이 ‘실전에서 통하는’이라는 단어를 사용할 만하다는 생각이 들었다.
데이터 분석을 하면서 가장 많이 쓰이는 모델에 대한 개념적인 소개와 활용 방안까지 잘 갖추어진 책이라는 생각이 들었다. 위에서 말했듯 기초 라이브러리에 대한 설명도 같이 있기 때문에 입문자들이 보기에 좋은 책이지만, 개인적으로는 파이썬 기초를 알고 있으면서 선형회귀라던지, 랜덤포레스트라던지 머신러닝을 ‘찍먹’은 해보았으나 그 뒤에 무엇을 해야할지 모르겠는 분들이 보시면 특히 좋을 것 같은 책이다.
이찬호 –
골든래빗 출판사로부터 책을 제공받아 작성했습니다.
Intro
메일함을 생각 없이 읽다가 골든래빗 출판사에서 북스포일러를 모집한다는 메일을 보게 됐습니다. 처음 책 제목을 접했을 때는 아, 또 머신러닝 책 나오는구나라는 생각이었습니다. 그러나 책의 구성을 보고 생각이 조금 바뀌었습니다. 지금까지 제가 읽던 머신러닝 책과는 다르다는 느낌을 받았으며 읽어보고 싶다고 생각했기에 북스포일러에 도전했습니다.
Book Review
머신러닝에 재밌게 접근하기 좋은 책
이 첵은 각 Chapter마다 대략적으로 머신러닝 알고리즘을 소개하고 머신러닝 문제를 정의하여 그 문제를 풀어가는 과정을 보여줍니다. 이런 과정 속에서 머신러닝 알고리즘의 부가적인 내용을 더 알려주는 구성입니다. 머신러닝의 전체적인 과정을 체험을 해볼 수 있고, 실전 문제를 풀어보는 느낌이라 정말 재밌게 읽었습니다.
최신 머신러닝 알고리즘
이 책은 머신러닝에서 꽤 자주 사용되는 10가지 알고리즘을 각각 한 Chapter에 걸쳐 설명합니다. 다른 알고리즘은 그래도 한 번쯤 공부해봤지만 최근 캐글에서 핫하다는 XGBoost 같은 알고리즘은 대략적으로 보기만 했고 공부해본 적은 없기에 이 책이 궁금했습니다. 책의 구성도 시중에 나온 다른 책과 달랐지만, XGBoost나 LightGBM 같은 꽤 최근 알고리즘까지 다룬다는 점에서 이 책을 읽어볼 가치가 있었습니다.
아쉬운 오탈자
읽으면서 은근 오탈자가 눈에 보였습니다. 책을 만드는 것이 항상 완벽할 수는 없지만, 독자로서는 아쉬움이 큰 부분이었습니다. 얼른 더 많이 팔려서 2쇄에는 오탈자가 수정이 되기를 바랍니다.
대상 독자
머신러닝에 입문하는 초보자를 대상으로 수학 또는 통계적인 지식보다는 그림을 사용하는 저자의 노력이 책에서 보였으나 개념을 처음부터 자세히 알려주는 방식이 아니고, 진행하면서 알고리즘을 설명하는 방식은 머신러닝을 처음 공부하는 사람에게는 어려울 수 있을거라 생각합니다. 그러나 머신러닝에 경험이 있으신 분이라면 재밌게 읽으실 수 있을 것 같습니다.
머신러닝 알고리즘만 다루는 것이 아닌 머신러닝의 전체적인 과정이 궁금하신 분께 추천합니다. 저는 머신러닝에서 알고리즘도 중요하다고 생각하지만, 가장 중요한 건 학습하기 전 데이터 전처리 과정이라 생각합니다. 이 책은 알고리즘만 설명하는 것이 아니라 데이터 클리닝, 피처 엔지니어링, 시각화 등도 다룹니다. 이런 과정 속에서 정말 좋은 꿀팁을 얻을 수 있어 좋았습니다.
이승표 –
데싸노트의 실전에서 통하는 머신러닝 책을 읽을 기회가 생겨 간단하게 읽고 서평을 써 보게 되었다. 피처 엔지니어링 + TOP 10 알고리즘 + 실무 노하우로 익히는 실무형 문제풀이 해법서라고 소개되고 있다.
저자는 해외의 데이터 사이언티스트로서 머신러닝과 데이터 과학을 공부한 것으로 보인다. 이 책을 읽고 찾아보니 AI분야에선 근래에 활발히 연구되고 있는 딥러닝 외에도 머신러닝이 필요에 맞추어 사용되고 있다고 한다. 딥러닝이 목적이 세분화 되어있고 사용하기 까다롭다고 한다면 딥러닝을 제외한 머신러닝은 정형화가 잘 되어 있고 사용하기 좀 더 쉬운 알고리즘으로 보인다.
이 책에선 다음의 10가지 알고리즘을 다룬다고 한다.
선형 회귀
2. 로지스틱 회귀
K-최근접 이웃
나이브 베이즈
결정 트리
랜덤 포레스트
XG부스트
라이트GBM
K-평균 군집화
주성분 분석(PCA)
알고리즘은 달라도 머신러닝 실행 순서는 학습 -> 예측 -> 평가로 진행된다고 한다. 이 부분은 거의 정형화되어 있어서 성능에 큰 영향을 미치지 않는다고 한다. 쓰레기가 들어오면 쓰레기가 나온다고 한다. 머신러닝에 딱맞는 말이라고 하는데 좋은 데이터가 좋은 머신러닝 모델을 만든다고 소개하고 있다. 내가 생각했을 때도 알고리즘 자체는 정형화되어 있다고 한다면 딥러닝을 제외하고 머신러닝을 생각했을 때 좋은 데이터를 많이 확보하는 게 관건이 될 것으로 생각 된다.
이 책은 TOP 10 알고리즘을 송략하면서 무엇보다 데이터 분석과 가공에 공을 들인다고 한다. 데이터에 어떤 가공 기법이 필요한지 하나하나 분석하며 클리닝, 피처 엔지니어링, 차원 축소 등의 기법을 사용 한다고 한다. 이렇게 데이터 분석 능력을 기르며 알고리즘을 익히면 현업과 캐글에서도 통하는 실력을 갖추게 된다고 한다.
머신러닝을 줄여서 ML, 우리말로 기계학습이라고도 한다. 의미만 살펴보면 머신이 학습을 하는 것을 말하는 것이다. 어떻게 학습을 하는지 전통적인 프로그램과 머신러닝을 비교하며 알아볼 수 있다.
예를 들어 입력값에 10을 더하는 프로그램을 사람이 만든다고 하면 입력값으로 3을 주면 출력값은 13이 된다. 이처럼 전통적인 프로그램에서는 사람이 모델을 만들지만 사람이 만든 분석 프로그램인 머신러닝 알고리즘에 입력값과 해당 정답값에 대한 결괏값을 입력해 주면, 입력값과 정답값 간의 관계를 찾아서 머신러닝 알고리즘이 새로운 프로그램(모델)을 만들어 준다고 한다.
즉 머신러닝은 머신러닝 알고리즘으로 입력된 데이터(입력값과 정답값) 간의 관계를 밝혀내서 그 관계를 새로운 프로그램(머신러닝 모델)으로 만들어 새로운 데이터가 주어졌을 때 결과를 예측하는 일련의 과정이라고 한다.
이 책에서 다루진 않지만, 딥러닝은 우리말로 심층학습이라고도 하는데 인공 신경망을 기반으로 한 특수한 머신 러닝 기법으로, 빅데이터 기술과 하드우에 발전, 새로운 알고리즘 등장으로 각광받게 되었다고 한다. 딥러닝은 이 책에서 다루는 머신러닝 알고리즘과는 달리, 주로 자연어 처리나 이미지, 비디오 분석 같은 목적으로 사용된다고 한다. 물론 딥러닝도 엑셀 같은 형태의 데이터들을 더 잘 다룰 수 있게 진화하고 있으나, 아직까지 해당 분야에서 성능이 탁월하지는 못하다고 한다.
딥러닝은 인간의 두뇌 작동 방식을 본떠 개발된 것으로 입력층과 출력층 사이에 은닉층을 두어 인간의 신경망처럼 작동한다고 한다. 그래서 이를 인공 신경망이라고 부른다고 한다.
그럼 이것으로 데싸노트의 실전에서 통하는 머신러닝 책의 리뷰를 마칠까 한다.
이 글은 골든래빗으로 부터 책을 증정받아 작성되었습니다.