확장메뉴
주요메뉴


소득공제
미리보기 공유하기

머신 러닝을 다루는 기술 with 파이썬, 사이킷런

: 간단한 수학부터 학습 프로세스, 패턴, 전략까지!

도서 제본방식 안내이동
리뷰 총점9.4 리뷰 6건 | 판매지수 258
베스트
OS/데이터베이스 top100 7주
정가
34,000
판매가
30,600 (10% 할인)
YES포인트
소중한 당신에게 5월의 선물 - 산리오 3단 우산/디즈니 우산 파우치/간식 접시 머그/하트 이중 머그컵
월간 개발자 2022년 5월호
내일은 개발자! 코딩테스트 대비 도서전
5월 전사
5월 쇼핑혜택
1 2 3 4 5

품목정보

품목정보
출간일 2020년 06월 30일
쪽수, 무게, 크기 624쪽 | 183*235*25mm
ISBN13 9791165212018
ISBN10 1165212013

책소개 책소개 보이기/감추기

간단한 수학부터 머신 러닝 실무 기법까지!
파이썬 라이브러리로 배우는 머신 러닝 핵심 원리


머신 러닝은 현재 IT 산업에서 가장 인기 있는 검색어 중 하나다. 하지만 머신 러닝이 무엇인지, 어떻게 작동하는지 제대로 이해하지 못하면 길을 잃기 쉽다. 그렇다면 어떻게 학습해야 할까? 저자는 오랫동안 다양한 사람들에게 머신 러닝을 가르치면서 효과적인 학습 방법을 고안했고, 그대로 책에 담았다. 『머신 러닝을 다루는 기술 with 파이썬, 사이킷런』은 그림과 스토리로 개념을 설명하고 바로 파이썬 코드로 구현하는 것에서 시작한다. 수학적 증명을 깊게 파고들거나 개념을 설명하기 위해 수식에 의존하지 않으며, 필요한 수학은 고등학교 수준으로 그때마다 첨가하여 설명한다. 또한, 바닥부터 모델을 구현하지 않고, 넘파이, 판다스, 사이킷런처럼 잘 구현된 강력한 파이썬 라이브러리를 사용해 실용적으로 접근한다. 개념과 기술을 잘 보여주는 양질의 예제를 직접 실행하며 머신 러닝 개념을 이해할 수 있다. 머신 러닝 기본 개념부터 특성 엔지니어링, 하이퍼파라미터 튜닝 등 실무 기법까지 머신 러닝을 제대로 익히고 싶은 모든 분에게 추천한다.

목차 목차 보이기/감추기

1부 첫 번째 단계

1장 학습이란?
1.1 컴퓨터는 학습할 수 있을까?
1.2 범위, 용어, 예측, 데이터
__1.2.1 특성
__1.2.2 타깃 값과 예측치
1.3 머신 러닝에 기계 모델 집어넣기
1.4 학습 시스템 사례
__1.4.1 카테고리 예측: 분류 모델 사례
__1.4.2 값 예측: 회귀 모델 사례
1.5 학습 시스템 평가
__1.5.1 정확도
__1.5.2 자원 소모
1.6 학습 시스템 구축 프로세스
1.7 학습의 현실과 가정
1.8 마무리
1.8.1 앞으로
1.8.2 참고 사항

2장 기술적 배경
2.1 환경 설정
2.2 수학적 언어의 필요성
2.3 머신 러닝을 위한 소프트웨어
2.4 확률
__2.4.1 단순 사건
__2.4.2 독립
__2.4.3 조건부 확률
__2.4.4 분포
2.5 선형 결합, 가중 합, 점곱
__2.5.1 가중 평균
__2.5.2 제곱합
__2.5.3 오차 제곱합
2.6 기하학적 관점: 공간상 포인트
__2.6.1 직선
__2.6.2 직선을 넘어서
2.7 수식 표현과 +1 트릭
2.8 정해진 틀을 깨는 비선형성
2.9 NumPy vs. 수학의 모든 것
2.9.1 1차원 vs. 2차원
2.10 부동소수점 문제
2.11 마무리
2.11.1 요약
2.11.2 참고 사항

3장 범주 예측: 분류 문제 시작
3.1 분류 문제
3.2 간단한 분류 데이터셋
3.3 학습과 테스트: 시험만을 위해 강의하지 말자
3.4 평가: 시험지 채점
3.5 간단한 분류 모델 #1: 최근접 이웃, 먼 거리 관계, 가정
__3.5.1 유사도 정의
__3.5.2 k-최근접 이웃에서의 k
__3.5.3 답 조합
__3.5.4 k-NN, 파라미터와 논파라메트릭 방법들
__3.5.5 k-nn 분류 모델 생성
3.6 간단한 분류 모델 #2: 나이브 베이즈, 확률, 깨진 약속들
3.7 분류 모델의 간단한 평가
__3.7.1 학습 성능
__3.7.2 분류 문제에서의 자원 활용
__3.7.3 독립적인 자원 평가
3.8 마무리
__3.8.1 주의 사항: 한계점과 아직 해결되지 않은 이슈들
__3.8.2 요약
__3.8.3 참고 사항
__3.8.4 연습 문제

4장 수치형 값 예측: 회귀 모델
4.1 간단한 회귀 데이터셋
4.2 최근접 이웃 회귀와 요약 통계량
__4.2.1 중앙 측정: 중앙값과 평균
__4.2.2 k-NN 회귀 모델 생성
4.3 선형 회귀와 오차
__4.3.1 지구는 평평하지 않다: 경사가 필요한 이유
__4.3.2 기울여 보기
__4.3.3 선형 회귀
4.4 최적화: 최적의 답 선택
__4.4.1 무작위 추측
__4.4.2 무작위 스텝
__4.4.3 똑똑한 스텝
__4.4.4 계산된 지름길
__4.4.5 선형 회귀 적용 사례
4.5 회귀 모델의 간단한 평가와 비교
__4.5.1 평균 제곱근 오차
__4.5.2 학습 성능
__4.5.3 회귀 모델의 자원 활용
4.6 마무리
__4.6.1 한계점과 아직 해결되지 않은 이슈들
__4.6.2 요약
__4.6.3 참고 사항
__4.6.4 연습 문제

2부 평가

5장 학습 모델 평가 및 비교
5.1 평가와 과유불급
5.2 학습 단계 관련 용어
__5.2.1 공장 기계
__5.2.2 기술적으로 이야기하자면
5.3 뭔가 잘못되었다: 과대적합과 과소적합
__5.3.1 합성 데이터와 선형 회귀
__5.3.2 모델 복잡도를 수동으로 조작
__5.3.3 골디락스: 과대적합, 과소적합 그리고 ‘딱 적당한 상태’ 시각화
__5.3.4 단순함
__5.3.5 과대적합에 대해 꼭 기억할 점
5.4 오차부터 비용까지
__5.4.1 손실
__5.4.2 비용
__5.4.3 점수
5.5 (리)샘플링: 소에서 대 생성
__5.5.1 교차 검증
__5.5.2 층화
__5.5.3 반복적 훈련-테스트 분리
__5.5.4 더 나은 길과 뒤섞기
__5.5.5 LOOCV 교차 검증
5.6 쪼개어 보기: 편향과 분산
__5.6.1 데이터의 분산
__5.6.2 모델의 분산
__5.6.3 모델의 편향
__5.6.4 모두 다 함께
__5.6.5 편향-분산 상충 관계의 예시
5.7 시각적 평가와 비교
__5.7.1 학습 곡선: 데이터는 얼마나 많이 필요할까?
__5.7.2 복잡도 곡선
5.8 교차 검증으로 학습 모델 비교
5.9 마무리
__5.9.1 요약
__5.9.2 참고 사항
__5.9.3 연습 문제

6장 분류 모델 평가
6.1 베이스라인 분류 모델
6.2 정확도를 넘어: 분류 모델을 위한 척도
__6.2.1 혼동 행렬에서 혼돈 없애기
__6.2.2 틀릴 수 있는 경우
__6.2.3 혼동 행렬에 기반한 척도
__6.2.4 혼동 행렬 코딩
__6.2.5 다중 클래스 다루기: 다중 클래스 평균
__6.2.6 F1
6.3 ROC 곡선
__6.3.1 ROC의 패턴
__6.3.2 이진 ROC
__6.3.3 AUC 곡선
__6.3.4 다중 클래스 모델, 일대다 그리고 ROC
6.4 또 다른 방법: 일대일
__6.4.1 다중 클래스 AUC 파트 2: 단일 값을 위한 퀘스트
6.5 정밀도-재현율 커브
__6.5.1 정밀도-재현율 상충 관계에 대한 노트
__6.5.2 정밀도-재현율 커브 생성
6.6 누적 반응과 리프트 곡선
6.7 조금 더 복잡한 분류 모델 평가 방법
__6.7.1 이진 분류
__6.7.2 새로운 다중 클래스 문제
6.8 마무리
__6.8.1 요약
__6.8.2 참고 사항
__6.8.3 연습 문제

7장 회귀 모델 평가
7.1 베이스라인 회귀 모델
7.2 회귀 모델의 추가 척도
__7.2.1 커스텀 평가 척도 만들기
__7.2.2 기타 기본 회귀 모델 척도
__7.2.3 R2
7.3 잔차 플롯
__7.3.1 오차 플롯
__7.3.2 잔차 플롯
7.4 정규화 살펴보기
7.5 고도화된 회귀 모델 평가
__7.5.1 여러 척도에 대한 교차 검증 결과
__7.5.2 교차 검증 결과 요약
__7.5.3 잔차
7.6 마무리
__7.6.1 요약
__7.6.2 참고 사항
__7.6.3 연습 문제

3부 더 많은 학습 방법과 개념

8장 더 많은 분류 방법
8.1 분류 문제 다시 보기
8.2 결정 트리
__8.2.1 트리 알고리즘
__8.2.2 돌려 보자: 결정 트리
__8.2.3 결정 트리의 편향과 분산
8.3 서포트 벡터 분류 모델
__8.3.1 SVC 실행
__8.3.2 SVC의 편향과 분산
8.4 로지스틱 회귀
__8.4.1 도박 승산
__8.4.2 확률과 승산, 로그- 승산
__8.4.3 무작정 해 보기: 로지스틱 회귀
__8.4.4 로지스틱 회귀: 괴상한 특성
8.5 판별 분석
__8.5.1 공분산
__8.5.2 방법론
__8.5.3 DA 실행
8.6 가정, 편향 그리고 분류 모델
8.7 분류 모델 비교
__8.7.1 Digits
8.8 마무리
__8.8.1 요약
__8.8.2 참고 사항
__8.8.3 연습 문제

9장 더 많은 회귀 방법
9.1 선형 회귀: 정규화
__9.1.1 정규화 회귀 실행
9.2 서포트 벡터 회귀
__9.2.1 힌지 손실
__9.2.2 선형 회귀에서 정규화 회귀, 그리고 서포트 벡터 회귀까지
__9.2.3 그냥 해 보기 - SVR 스타일
9.3 조각별 상수 회귀
__9.3.1 조각별 상수 회귀 구현
__9.3.2 모델 구현에 대한 일반적인 조언
9.4 회귀 트리
__9.4.1 트리로 회귀 실행
9.5 세 가지 회귀 모델 비교
9.6 마무리
__9.6.1 요약
__9.6.2 참고 사항
__9.6.3 연습 문제

10장 수동 특성 엔지니어링: 데이터 조작
10.1 특성 엔지니어링 용어와 배경
__10.1.1 왜 해야 하나?
__10.1.2 특성 엔지니어링은 언제 해야 하나?
__10.1.3 특성 엔지니어링은 어떻게 발생하나?
10.2 특성 선별과 데이터 축소: 쓰레기 골라 내기
10.3 특성 스케일링
10.4 이산화
10.5 범주형 코딩
__10.5.1 다른 방식의 코딩과 사라진 인터셉트의 흥미로운 사건
10.6 관계와 상호 작용
__10.6.1 수동 특성 생성
__10.6.2 인터랙션
__10.6.3 트랜스포머로 특성 추가
10.7 타깃 조작
__10.7.1 입력 공간 조작
__10.7.2 타깃 조작
10.8 마무리
__10.8.1 요약
__10.8.2 참고 사항
__10.8.3 연습 문제

11장 하이퍼파라미터 튜닝과 파이프라인
11.1 모델, 파라미터, 하이퍼파라미터
11.2 하이퍼파라미터 튜닝
__11.2.1 컴퓨터 과학과 학습 용어에 대한 참고 사항
__11.2.2 완전 검색 사례
__11.2.3 무작위성으로 건초더미에서 바늘 찾기
11.3 재귀적인 토끼 굴로 내려가기: 중첩된 교차 검증
__11.3.1 기본 교차 검증
__11.3.2 그리드서치 모델
__11.3.3 교차 검증 안에 교차 검증
__11.3.4 중첩 교차 검증에 대한 코멘트
11.4 파이프라인
__11.4.1 간단한 파이프라인
__11.4.2 조금 더 복잡한 파이프라인
11.5 파이프라인과 튜닝을 함께
11.6 마무리
__11.6.1 요약
__11.6.2 참고 사항
__11.6.3 연습 문제

4부 복잡도 더하기

12장 학습 모델 조합
12.1 앙상블
12.2 투표 앙상블
12.3 배깅과 랜덤 포레스트
__12.3.1 부트스트래핑
__12.3.2 부트스트래핑에서 배깅으로
__12.3.3 랜덤 포레스트
12.4 부스팅
__12.4.1 부스팅 디테일
12.5 트리 앙상블 방법 비교
12.6 마무리
__12.6.1 요약
__12.6.2 참고 사항
__12.6.3 연습 문제

13장 특성 엔지니어링을 대신하는 모델들
13.1 특성 선별
__13.1.1 지표 기반으로 특성을 선택하는 단순 필터링
__13.1.2 모델 기반 특성 선별
__13.1.3 특성 선별을 학습 파이프라인에 통합
13.2 커널을 이용한 특성 구축
__13.2.1 커널의 등장 배경
__13.2.2 수동 커널 방법들
__13.2.3 커널 방법과 커널 옵션
__13.2.4 커널 SVC: SVM
__13.2.5 SVM에 관한 노트와 예제
13.3 주성분 분석: 비지도 기법
__13.3.1 준비: 중심 이동
__13.3.2 다른 최적의 직선 찾기
__13.3.3 첫 PCA
__13.3.4 PCA 계산
__13.3.5 피날레: 일반적인 PCA에 관한 노트
__13.3.6 커널 PCA와 매니폴드 방법들
13.4 마무리
__13.4.1 요약
__13.4.2 참고 사항
__13.4.3 연습 문제

14장 도메인별 특성 엔지니어링: 도메인에 최적화된 학습
14.1 텍스트 처리
__14.1.1 텍스트 인코딩
__14.1.2 텍스트 학습 사례
14.2 클러스터링
__14.2.1 k-평균 클러스터링
14.3 이미지 처리
__14.3.1 백-오브-비주얼-워즈
__14.3.2 이미지 데이터
__14.3.3 엔드-투-엔드 시스템
__14.3.4 BoVW 트랜스포머 코드
14.4 마무리
__14.4.1 요약
__14.4.2 참고 사항
__14.4.3 연습 문제

15장 연결, 확장 그리고 앞으로의 방향
15.1 최적화
15.2 선형 회귀 구현
__15.2.1 선형 회귀의 시각적 이해
15.3 로지스틱 회귀 구현
__15.3.1 로지스틱 회귀와 제로-원 코딩
__15.3.2 로지스틱 회귀와 플러스원 마이너스원 코딩
__15.3.3 로직스틱 회귀의 시각적 이해
15.4 SVM 구현
15.5 인공신경망
__15.5.1 인공신경망 관점에서 보는 선형 회귀
__15.5.2 인공신경망 관점에서 보는 로지스틱 회귀
__15.5.3 기본 인공신경망을 넘어서
15.6 확률적 그래픽 모델
__15.6.1 샘플링
__15.6.2 PGM 관점에서 보는 선형 회귀
__15.6.3 PGM 관점에서 보는 로지스틱 회귀
15.7 마무리
__15.7.1 요약
__15.7.2 참고 사항
__15.7.3 연습 문제

부록 A nlwpy.py 살펴보기
부록 B 환경 설정

저자 소개 (2명)

책 속으로 책속으로 보이기/감추기

머신 러닝 같은 수학적 주제를 다루는 책 대부분은 초심자에게 이야기를 들려주듯이 수식을 보여 줍니다. 제 생각에 그러한 방식은 수학을 좋아하는 사람조차 책을 덮게 만들 것입니다. 시각적, 언어적 설명을 코드와 함께 소개하는 것이 머신 러닝의 프로세스 이해를 돕는다고 생각합니다. 저는 뼛속까지 컴퓨터 과학자입니다. 무언가를 만드는 것을 좋아하죠. 무언가를 만들 수 있는 수준에 다다르면 그것을 진심으로 이해했다고 생각합니다. 이러한 표현을 들어 본 적 있을 것입니다. “무언가를 진정으로 이해하고 싶다면, 다른 사람에게 가르쳐 보라.” 2탄도 있습니다. “무언가를 진정으로 이해하고 싶다면, 컴퓨터가 그것을 하도록 가르쳐라.” 이것이 제가 여러분에게 머신 러닝을 가르치는 방법입니다. 수학적인 내용을 최소화하면서 가장 널리 사용하는 머신 러닝 도구와 기법에 숨어 있는 개념을 소개할 것입니다. 그러고 나서 컴퓨터에 그 작업을 어떻게 시키는지 바로 보여 주려고 합니다. 모든 것을 바닥부터 구현하지는 않을 것입니다. 거인의 어깨 위에 올라서서 아주 강력한 소프트웨어 라이브러리를 사용하여 시간을 아낄 것입니다.
라이브러리가 상당히 많기 때문에 모든 것을 상세하게 소개하지는 못합니다. 그 대신 실용적으로 접근해서 문제를 풀 수 있는 가장 좋은 도구를 사용할 것입니다. 우리가 사용하는 개념에서 필요한 것만 빠르게 배우고 코드로 넘어가겠습니다. 수학적 내용에 관심 있는 독자를 배려하여 찾아볼 수 있는 참고 사항을 1장 마무리에 적어 두었습니다.
이 책에서 다루지 않는 내용도 있습니다. 우리는 수학적 증명을 깊이 파고들거나 개념을 설명하려고 수식에 의존하지는 않을 것입니다. 이미 수많은 책을 그러한 방향으로 썼기 때문입니다. 각 장 마무리에서 제가 좋아하는 책들을 소개하겠습니다. 마찬가지로 독자들이 입문 혹은 중급 수준의 파이썬 프로그래밍 실력을 가졌다고 가정합니다. 따라서 NumPy나 pandas 같은 패키지에서 등장하는 고급 파이썬 주제는 기법과 맥락을 이해하는 데 필요한 정도만 설명하겠습니다.
---「지은이의 말」중에서

출판사 리뷰 출판사 리뷰 보이기/감추기

머신 러닝 프로세스를 완벽하게 이해하자!

스토리와 파이썬 코드로 시작한다

머신 러닝은 현재 IT 산업에서 가장 인기 있는 검색어 중 하나다. 하지만 머신 러닝이 무엇인지, 어떻게 작동하는지 제대로 이해하지 못하면 길을 잃기 쉽다. 그렇다면 어떻게 학습해야 할까? 오랫동안 다양한 사람들에게 머신 러닝을 가르쳐온 저자는 자신만의 효과적인 학습 방법을 고안했고, 그대로 책에 담았다. 이 책은 그림과 스토리로 개념을 설명하고 바로 파이썬 코드로 구현하는 것에서 시작한다. 수학적 증명을 깊게 파고들거나 개념을 설명하기 위해 수식에 의존하지 않으며, 필요한 수학은 고등학교 수준으로 그때마다 첨가하여 설명한다. 스토리와 파이썬 코드로 머신 러닝을 좀 더 쉽게 시작하자.

다양한 모델의 장단점을 이해한다
머신 러닝을 사용해 문제를 해결하는 데 있어 가장 어려운 부분은 문제에 적합한 모델을 찾는 것이다. 문제의 성격에 따라 최적의 모델을 선택해 사용하고, 사용한 모델이 제대로 예측하고 있는지 검증하고 확인해야 한다. 이렇게 최적의 모델을 찾는 것은 머신 러닝 모델을 제대로 이해하는 것에서 출발한다. 다양한 모델의 장단점과 주의 사항, 어떤 상황에 사용하면 효과적인지 등을 제대로 이해하자.

핵심 라이브러리를 사용해 실용적으로 접근한다
머신 러닝 모델을 바닥부터 구현하지 않아도 넘파이, 판다스, 사이킷런처럼 잘 구현된 강력한 파이썬 라이브러리들이 있다. 책에서는 직접 모델을 만들지 않고, 다양한 파이썬 라이브러리들을 사용해 실용적으로 접근한다. 또한, 개념과 기술을 잘 보여주는 양질의 예제를 직접 실행하며 개념을 이해할 수 있다. 넘파이, 판다스, 사이킷런, 시본, 맷플롯립 등 핵심 라이브러리를 사용해보자.

회원리뷰 (6건) 리뷰 총점9.4

혜택 및 유의사항?
초보자도 머신러닝 프로세스를 완벽하게 이해해 보자! 내용 평점5점   편집/디자인 평점5점 c******7 | 2021.01.12 | 추천0 | 댓글0 리뷰제목
초보자도 머신러닝 프로세스를 완벽하게 이해해 보자! 4차 산업혁명과 인공지능 혁명이 시대의 화두로 떠오른지 5년여가 지났다. 머신러닝, 기계학습, 딥러닝 등 인공지능 분야의 용어가 일상에서 쓰이는 게 낯설지 않은 시대가 되었다. 직장에 디지털 트랜스포메이션 열풍이 불면서 직장인들도 파이썬 등 새로운 프로그래밍 툴을 배우기 시작하고 있고, RPA 등을 도입해 무언가 업무를;
리뷰제목

초보자도 머신러닝 프로세스를 완벽하게 이해해 보자!

4차 산업혁명과 인공지능 혁명이 시대의 화두로 떠오른지 5년여가 지났다. 머신러닝, 기계학습, 딥러닝 등 인공지능 분야의 용어가 일상에서 쓰이는 게 낯설지 않은 시대가 되었다. 직장에 디지털 트랜스포메이션 열풍이 불면서 직장인들도 파이썬 등 새로운 프로그래밍 툴을 배우기 시작하고 있고, RPA 등을 도입해 무언가 업무를 자동화해야 한다는 압박에 시달리고 있다. 그런데 도대체 머신러닝(기계학습)을 통해 어떻게 인공지능을 개발하고 훈련시키고 내 일상업무를 어떻게 바꿀 수 있는지 무언가 새로운 툴을 어떻게 개발할 수 있는지 비전공자들로서는 답답하고 막막하다. 도대체 머신러닝이 무엇이고, 무엇을 할 수 있는지 궁금증을 해소하기 위해 이 책을 살펴보기 시작했다.

스토리와 파이썬 코드로 머신러닝을 배워보자!

파이썬에 관심은 있지만 파이썬에 대해서는 아직 잘 모른다. 이 코딩 언어를 아직 잘 모르기 때문에 이 책의 내용을 심도있게 이해하기는 힘들었다. 이 책은 전문적인 내용을 담고 있기는 하지만, 앞의 내용은 대학교 수학과 통계 정도 알면 이해할 만하다. 도표와 스토리로 이론적인 내용을 쉽게 설명해 주고 있기 때문이다. 내용이 이해된 후에는 실제 파이썬 코드를 제시해 주고 이 코딩을 통해 무엇을 구현할 수 있는지 알려 준다. 아직 파이썬이 낯설어서 실제 코딩까지 실습해 보지는 못했지만, 파이썬을 공부한 후에 이 책을 보면 머신러닝의 이론과 실습을 통한 실제 구현이 가능해 보였다. 파이썬을 제대로 공부하기 위해 파이썬 책을 따로 구매했다. 파이썬을 통한 머신러닝 정복의 첫걸음이 이 책이 될 수 있다는 생각이 들었다.

다양한 모델의 이론과 장단점을 배우고 실제 구현해 보자!

이 책의 장점은 실제 문제를 제시하고 이를 머신러닝을 사용해 해결하는 프로세스와 솔루션을 실제 체험할 수 있다는 점이다. 문제 해결을 위한 다양한 모델을 제시해 주고 상황에 따라 어떤 모델을 선택하는 것이 최적인지에 대해 프로세스를 따라 진행하여 경험을 쌓을 수 있다. 학습 모델, 분류 모델, 회귀 모델 등 3개 카테고리에 따라 기본 이론, 평가 방법, 다양한 학습 방법, 조합과 최적화 등의 순서로 책의 내용과 파이썬 실습을 해 보면 다양한 모델의 이론과 장단점을 체득할 수 있고 실제 구현까지 해볼 수 있다.

라이브러리 사용을 통해 머신러닝을 쉽게 해 보자!

이 책의 제목에서 파이썬을 알았지만, 사이킷런을 무슨 용어인지 몰랐다. 책을 읽어보면서 머신러닝을 위해 기 구축된 라이브러리의 하나라는 것을 알았다. 모든 코딩과 프로세스를 밑바닥부터 시작한다면 정말 어려울 것이다. 하지만 이미 구축된 강력한 핵심 라이브러리를 통해 잘 짜인 알고리즘과 모델을 사용한다면 수고를 크게 덜 수 있다. 이는 초보자들도 큰 장애 없이 머신러닝 프로세스를 직접 진행해 볼 수 있는 지름길이라고 할 수 있다. 아직 막막하기는 하지만 이 책의 내용을 제대로 이해하고 코딩을 실습해 본다면 이미 머신러닝의 길에 들어선 인공지능 전문가가 되는 초석을 다진 게 아닌가 싶다.

#머신러닝 #인공지능 #머신러닝입문서 #기계학습 #인공지능입문서 #파이썬 #싸이킷런 #길벗 #마크페너

 

 

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
이 개념을 어떻게 설명하지 고민하고 있는 사람들에게 내용 평점4점   편집/디자인 평점3점 l***y | 2021.01.10 | 추천0 | 댓글0 리뷰제목
  이 책의 리뷰어를 맡게 돼서 책 후기를 짧게 남긴다.   머신 러닝을 다루는 기술 with 파이썬, 사이킷런 마크 페너 저/황준식 역 길벗 | 2020년 06월   길벗 책은 워낙 it 관련해서 깔끔하게 정리된 책이 많아서 늘 무언가를 새로 배울 때 자주 찾아보는 출판사 중에 하나다.   근데 이번 책에는 반 기대 반 실망을 하;
리뷰제목

 

이 책의 리뷰어를 맡게 돼서 책 후기를 짧게 남긴다.

 

머신 러닝을 다루는 기술 with 파이썬, 사이킷런

마크 페너 저/황준식 역
길벗 | 2020년 06월

 

길벗 책은 워낙 it 관련해서 깔끔하게 정리된 책이 많아서

늘 무언가를 새로 배울 때 자주 찾아보는 출판사 중에 하나다.

 

근데 이번 책에는 반 기대 반 실망을 하게 됐는데,

생각보다 줄글이 매우 많았다.

각 코드들에 대해 한 줄씩 설명해주면 좋았을 것 같은데,

수식을 빼다보니 매우 줄글로 너무 많이 빗대어서 표현한다고 느꼈다.

 

하지만 그럼에도 불구하고 거의 sklearn의 모든 것들을 다루고 있다.

현업에서 데이터분석을 하다보면 sklearn을 써야하는 경우들이 있는데

sklearn으로 할 수 있는 모든 것들은 거의 다 다루고 있는 듯 싶다.

 

다만 체계적인 목차 분류가 되어 있지 않다는게 매우 아쉬웠다.

 

 

좋은 점

1) 생각보다 많은 내용을 다루고 있다.

거의 skelarn으로 할 수 있는 모든 걸 다루고 있다. sklearn으로 모델링을 해야 하는 사람이라면 한 번쯤 찾아봐도 괜찮을 거 같다.

 

2) 챕터마다 요약해준다.

각 챕터마다 “한계점과 아직 해결되지 않은 이슈들”이 적혀 있는데 이 부분이 유익하다. 그리고 각 챕터별로 요약해주는 게 좋았다.

 

3) 깃헙 소스코드가 제공된다.

물론 이건 이제는 거의 모든 it서적들의 특징인 듯 하지만, 깃헙 소스코드가 제공돼 쉽게 연습해볼 수 있다.

 

 

아쉬운 점

1) 줄글이 너무 많다.

개발자가 될수록 글을 싫어하는 것 같은데, 깔끔하게 한 문장으로 설명할 수 있는 문장들을 굳이 길게 설명한다는 생각이 들었다.

중요한 부분들만 따로 빼서 bold체로 해놓거나, 각 개념들을 한 문장으로 옆에 정리해줬다면 좋았을 것 같다.

 

2) 목차가 체계적이지 못하다.

물론 하나의 모델이 어떻게 점진적으로 발전해나가는지 볼 수 있다는 장점은 있지만,

하나의 task에 대해 완벽한 모델을 만들고 싶은 사람들에게는,

hold-out 방식으로 풀고 eda도 적은 연습 코드들이 답답할 수도 있을 것 같다.

물론 이 부분들이 나중에 뒤에 가서 추가 설명이 되기는 하는데,

너무 많이 왔다갔다 하며 책을 봐야한다는 단점이 있는 것 같다.

 

 

추천하는 독자

-회사 교육자료 등 분석 비전문가를 위한 교육자료를 만들어야 하는 사람

-sklearn으로 모델링을 해야 하는 사람

 

사실 처음 ai를 입문한다면 이 책을 추천하지는 않는다.

저자가 말하고 있듯, 파이썬은 중급 이상 정도 한다고 가정하고 설명이 진행된다.

그리고 각 코드들에 대한 설명을 자세하게 하지 않는데,

이런 부분들이 처음 읽는 독자들에게는 어려울 것 같다.

 

하지만 회사 교육 자료를 만들어야 하거나,

누군가 데이터 분석에 대해 설명해야 한다면 이 책은 꽤 좋은 책이 될 것 같다.

저자는 계속 개념을 쉽게 설명하려고 많은 비유를 든다.

그래서 누군가에게 개념을 쉽게 설명해야 한다면

이 책을 읽어봐도 좋을 것 같다.

 

 

 

관련 깃헙 링크

https://github.com/gilbutITbOOK/007017

 

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
딱딱함은 질색, 코드로 익히면서 배우는 개념 내용 평점5점   편집/디자인 평점5점 서*혁 | 2021.01.10 | 추천0 | 댓글0 리뷰제목
별점 : ★★★★☆ '딱딱함은 질색, 코드로 익히면서 배우는 개념'  저는 블로그 내용을 봐도 알 수 있듯이, 머신러닝에 대한 견문이 전혀 없는 상태에서 이 책을 접하게 되었습니다. 학부 수업에서 들었던 머신러닝에 대한 복잡한 수식과 머신러닝 특유의 '학습'이라는 낯선 개념들은 거부감을 엄청 주었고, 자연스레 멀리하게 되었습니다. 그런데 이번에 좋은 기회로 카카오 추;
리뷰제목

별점 : ★★★★☆

'딱딱함은 질색, 코드로 익히면서 배우는 개념'

 저는 블로그 내용을 봐도 알 수 있듯이, 머신러닝에 대한 견문이 전혀 없는 상태에서 이 책을 접하게 되었습니다. 학부 수업에서 들었던 머신러닝에 대한 복잡한 수식과 머신러닝 특유의 '학습'이라는 낯선 개념들은 거부감을 엄청 주었고, 자연스레 멀리하게 되었습니다. 그런데 이번에 좋은 기회로 카카오 추천팀에서 일하게 되었습니다. 당연히 웹 쪽만 주구장창 공부했고, 머신러닝, 데이터 처리에 대한 사전지식이라고는 학부 수업때 꼴랑 한두번 해본게 다였던 저는, 발등에 불이 떨어지는 심정으로 이것저것 알아보기 시작했습니다. 그 첫 번째 시도가 이 책이었죠! 그런데 저는 이 책이 딱 저같은 부류의 사람들과 잘 맞는 책이라는 것을 단번에 느꼈습니다. 그 이유가 어떤 것인지 하나하나 살펴보죠.

 

 첫째, 이 책은 머신러닝을 파이썬으로 구현하고 있지만, 파이썬 문법이나 언어 특성에 대한 내용은 거의 다루지 않는다는 점입니다. 사람마다 장단점으로 작용할 수 있겠지만, 저는 이 부분에 대해서 매우 좋게 느꼈습니다. '파이썬' 이라는 언어에 집중하는 것 보다, 머신러닝을 구현할 때 파이썬이 활용하는 라이브러리들에 대한 정보에 집중해, 보다 많은 내용을 담을 수 있었던 것이죠. 그리고 개인적으로 파이썬 문법에 대한 내용들은 책이나 블로그, 인터넷 등에서 무수히 많은 정보들이 있고 찾아보면 다 나오니, 이런 책에 담기는 것은 낭비라고 생각합니다.

 

 둘째, 선 개념, 후 실습의 비율이 매우 적절합니다. 이 책을 펼쳐보면, 코드 example 이 없는 페이지를 찾기 힘들 정도로 많은 예제들이 들어 있습니다. 그래서 얼핏 보면 그냥 실습이나 코드 적용에 거의 몰두한 책이 아닌가 싶은 생각이 듭니다. 하지만 직접 읽어보면, 이는 오산이라는 것을 알 수 있습니다. 이 책은 개념 또한 example 코드로 설명합니다. 예를들어 loss function, 즉 손실에 대한 개념을 설명할 때, 그것에 대한 설명과, 수식을 잔뜩 늘어놓는 지루한 방법을 쓰지 않습니다.

 

def traning_loss(loss, model, training_data):

'모델과 전체 학습 데이터를 이용한 학습 손실의 총합'

~~~~~생략.

 

 

와 같이 직접 함수부터 제시해서, 이 개념이 코드에 어떻게 적용되는지 부터 보여줘서 독자로 하여금 빠른 직관적 이해를 가능하게 하는 것이죠!

 

셋째, 가벼운 설명입니다. 가볍게 대략적으로 설명한다는 것이 아닌, 최대한 딱딱하지 않게 설명하려고 노력하는 모습을 볼 수 있습니다. 어느정도로 이 부분에 집착하신면, 수식이 나오게되면 글쓴이께서 독자들에게 사과를합니다... 이는 독자들이 이해를 쉽게쉽게 하게끔 하려는 노력을 볼 수 있습니다. 앞서 말씀드린 개념을 설명할 때도 코드를 이용한다는 점도, 이런 부분에서 나온게 아닌가 생각이 듭니다. 또한, visualization 부분에도 엄청 힘을 쓰시고, 개념에 대한 마인드맵이나 그림, 실생활에서의 예제를 중간중간 삽입해서, 보다 가볍게 접할 수 있습니다.

 

위 세 가지는 제가 느낀 이 책의 특색, 장점들입니다. 하지만 쉽게 설명하려고 하기 때문에 때로는 그냥 받아들여야 하는 부분이 있고, 파이썬이나 기본 라이브러리들에 대한 설명은 하지 않기 때문에, 이 부분에 대해서는 직접 공부를 해야 한다는 점은 책을 구매하는 분으로 하여금 고려해보셔야 할 것 같습니다!

 

요즘은 CS 전공자가 아닌 사람들도 머신러닝이 뭔지는 다 알고있을 정도로, 머신러닝이 핫해지고 중요성이 높아지는 시대입니다. 그런데도 인터넷에서의 머신러닝에 대한 reference 들은 정작 CS의 다른 분야에 대한 정보에 대하면 턱없이 부족하다고 생각합니다. 웹 공부를 한 저의 입장으로서는 웹은 정말 구글에만 검색해도 쉽게쉽게 정보를 구할 수 있거든요. 이 책은 뭔가 온라인 게시글에 올려도 좋겠다, 혹은 e-book으로 적합하겠다 같은 느낌이 들더군요. 책 읽을 때의 딱딱함보다는, 온라인 블로그에서 읽는 게시글의 가볍고 좀 트렌디한 느낌? 을 받았던 것 같습니다.

 

아무튼 아직 읽는 중이지만, 무언가 저와 비슷한 특성을 가진 사람들에게 잘 맞을 것 같다는 생각이 듭니다. 저처럼 개념이나 수식만 보는 것보다, 직접 실습을통한 인식 이후의 직관적인 이해를 원하시는 분, 파이썬과 CS 지식은 있지만 머신러닝에 대해서는 잘 모르는분들에게 적합한 책인 것 같습니다.

 

저는 인턴 생활을 하는 데에 머신러닝 기초 base 지식 측면에서 도움을 많이 받았고, 앞으로도 개념서 + 실전적용서 두 가지 모두의 역할로 저에게 도움을 줄 책입니다!

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
  •  쿠폰은 결제 시 적용해 주세요.
1   30,600
뒤로 앞으로 맨위로 aniAlarm