메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

실무로 통하는 ML 문제 해결 with 파이썬

전처리부터 딥러닝까지, 216개 실용 예제로 익히는 문제 해결 기법

한빛미디어

번역서

판매중

4.8점 (25명)
좋아요 : 22

216개 레시피로 실전 머신러닝 문제를 쉽고 빠르게 해결하기

 

이 실용 가이드는 『파이썬을 활용한 머신러닝 쿡북』의 개정판으로, 현장에서 만날 수 있는 머신러닝 문제를 해결하는 데 도움이 될 200개 이상의 독립된 레시피를 제공합니다. 파이썬과 판다스, 사이킷런을 포함한 라이브러리에 익숙하다면 데이터 로드부터 모델 훈련, 신경망 활용에 이르기까지 특정 문제를 해결할 수 있습니다. 이번 개정판의 각 레시피에는 토이 데이터셋으로 복사, 붙여넣기, 실행한 뒤 작동하는지 확인할 수 있는 코드가 포함되어 있습니다. 이때 사용 사례나 애플리케이션에 따라 이러한 레시피를 조정할 수 있습니다. 레시피에는 솔루션을 설명하고 유의미한 맥락을 제공하는 토론이 포함되어 있습니다. 이론과 개념을 넘어 실제 작동하는 머신러닝 애플리케이션을 구축하는 데 필요한 핵심을 배워보세요.


주요 내용

  • 벡터, 행렬, 배열
  • CSV, JSON, SQL, 데이터베이스, 클라우드 스토리지 및 기타 소스 데이터로 작업하기
  • 수치형과 범주형 데이터, 텍스트, 이미지, 날짜, 시간 다루기
  • 특성 추출 또는 특성 선택을 사용한 차원 축소
  • 모델 평가와 선택
  • 선형 회귀, 로지스틱 회귀, 트리, 랜덤 포레스트, k-최근접 이웃
  • 서포트 벡터 머신(SVM), 나이브 베이즈, 군집, 트리 기반 모델 지원
  • 훈련된 모델의 저장, 로드 및 서빙
카일 갤러틴 저자

카일 갤러틴

데이터 분석가, 데이터 과학자, 머신러닝 엔지니어로 수년간 경력을 쌓은 머신러닝 인프라를 위한 소프트웨어 엔지니어입니다. 또한 전문적인 데이터 과학 멘토이자 자원봉사 컴퓨터 과학 교사입니다. 소프트웨어 엔지니어링과 머신러닝이 접목되는 분야의 글을 종종 발표합니다. 현재 카일은 엣시(Etsy)의 머신러닝 플랫폼 팀에서 소프트웨어 엔지니어로 일하고 있습니다.

크리스 알본 저자

크리스 알본

위키백과를 호스팅하는 비영리 단체인 위키미디어 재단의 머신러닝 이사입니다

 

 

박해선 역자

박해선

기계공학을 전공했지만 졸업 후엔 줄곧 코드를 읽고 쓰는 일을 했습니다. 블로그(tensorflow.blog)에 글을 쓰고 머신러닝과 딥러닝에 관한 책을 집필, 번역하면서 소프트웨어와 과학의 경계를 흥미롭게 탐험하고 있습니다.

『챗GPT로 대화하는 기술』(한빛미디어, 2023), 『혼자 공부하는 데이터 분석 with 파이썬』(한빛미디어, 2023), 『혼자 공부하는 머신러닝+딥러닝』(한빛미디어, 2020), 『Do it! 딥러닝 입문』(이지스퍼블리싱, 2019)을 집필했습니다.

『실무로 통하는 ML 문제 해결 with 파이썬』(한빛미디어, 2024), 『머신러닝 교과서: 파이토치 편』(길벗, 2023), 『스티븐 울프럼의 챗GPT 강의』(한빛미디어, 2023), 『핸즈온 머신러닝(3판)』(한빛미디어, 2023), 『만들면서 배우는 생성 AI』(한빛미디어, 2023), 『코딩 뇌를 깨우는 파이썬』(한빛미디어, 2023), 『트랜스포머를 활용한 자연어 처리』(한빛미디어, 2022), 『케라스 창시자에게 배우는 딥러닝 2판』(길벗, 2022), 『개발자를 위한 머신러닝&딥러닝』(한빛미디어, 2022), 『XGBoost와 사이킷런을 활용한 그레이디언트 부스팅』(한빛미디어, 2022), 『구글 브레인 팀에게 배우는 딥러닝 with TensorFlow.js』(길벗, 2022), 『파이썬 라이브러리를 활용한 머신러닝(번역개정2판)』(한빛미디어, 2022), 『머신러닝 파워드 애플리케이션』(한빛미디어, 2021), 『머신 러닝 교과서 with 파이썬, 사이킷런, 텐서플로(개정3판)』(길벗,2021)를 포함하여 여러 권의 책을 우리말로 옮겼습니다.

 

1장 벡터, 행렬, 배열
_1.0 소개 
_1.1 벡터 만들기
_1.2 행렬 만들기
_1.3 희소 행렬 만들기
_1.4 넘파이 배열 사전 할당하기
_1.5 원소 선택하기
_1.6 행렬 정보 확인하기
_1.7 벡터화 연산 적용하기
_1.8 최댓값, 최솟값 찾기
_1.9 평균, 분산, 표준편차 계산하기
_1.10 배열 크기 바꾸기
_1.11 벡터나 행렬 전치하기
_1.12 행렬 펼치기
_1.13 행렬의 랭크 구하기
_1.14 행렬의 대각원소 추출하기
_1.15 행렬의 대각합 계산하기
_1.16 점곱 계산하기
_1.17 행렬 덧셈과 뺄셈
_1.18 행렬 곱셈
_1.19 역행렬
_1.20 난수 생성하기

 

2장 데이터 적재
_2.0 소개
_2.1 샘플 데이터셋 적재하기
_2.2 모의 데이터셋 만들기
_2.3 CSV 파일 적재하기
_2.4 엑셀 파일 적재하기
_2.5 JSON 파일 적재하기
_2.6 파케이 파일 적재하기
_2.7 아브로 파일 적재하기
_2.8 SQLite 데이터베이스로부터 적재하기
_2.9 원격 SQL 데이터베이스에 쿼리하기
_2.10 구글 시트에서 데이터 적재하기
_2.11 S3 버킷에서 데이터 적재하기
_2.12 비구조적인 데이터 적재하기

 

3장 데이터 랭글링
_3.0 소개
_3.1 데이터프레임 만들기 
_3.2 데이터에 대한 정보 확인하기
_3.3 데이터프레임 슬라이싱하기
_3.4 조건에 따라 행 선택하기
_3.5 값 정렬하기
_3.6 값 치환하기
_3.7 열 이름 바꾸기
_3.8 최솟값, 최댓값, 합, 평균 계산 및 개수 세기
_3.9 고유한 값 찾기 
_3.10 누락된 값 다루기
_3.11 열 삭제하기
_3.12 행 삭제하기
_3.13 중복된 행 삭제하기 
_3.14 값에 따라 행을 그룹핑하기 
_3.15 시간에 따라 행을 그룹핑하기 
_3.16 연산 집계와 통계 
_3.17 열 원소 순회하기 
_3.18 모든 열 원소에 함수 적용하기 
_3.19 그룹에 함수 적용하기
_3.20 데이터프레임 연결하기
_3.21 데이터프레임 병합하기

 

4장 수치형 데이터 다루기
_4.0 소개
_4.1 특성 스케일 바꾸기
_4.2 특성 표준화하기
_4.3 정규화하기
_4.4 다항 특성과 교차항 특성 생성하기
_4.5 특성 변환하기
_4.6 이상치 감지하기
_4.7 이상치 다루기
_4.8 특성 이산화하기
_4.9 군집으로 샘플을 그룹으로 묶기
_4.10 누락된 값을 가진 샘플 삭제하기
_4.11 누락된 값 채우기

 

5장 범주형 데이터 다루기
_5.0 소개 
_5.1 순서가 없는 범주형 특성 인코딩하기 
_5.2 순서가 있는 범주형 특성 인코딩하기 
_5.3 특성 딕셔너리 인코딩하기 
_5.4 누락된 클래스 값 대체하기 
_5.5 불균형한 클래스 다루기

 

6장 텍스트 다루기
_6.0 소개 
_6.1 텍스트 정제하기 
_6.2 HTML 파싱과 정제하기 
_6.3 구두점 삭제하기 
_6.4 텍스트 토큰화하기 
_6.5 불용어 삭제하기 
_6.6 어간 추출하기 
_6.7 품사 태깅하기 
_6.8 개체명 인식 수행하기
_6.9 텍스트를 BoW로 인코딩하기
_6.10 단어 중요도에 가중치 부여하기
_6.11 텍스트 벡터를 사용해 검색 쿼리 텍스트의 유사도 계산하기
_6.12 감성 분석 분류기 사용하기

 

7장 날짜와 시간 다루기
_7.0 소개
_7.1 문자열을 날짜로 변환하기
_7.2 시간대 다루기
_7.3 날짜와 시간 선택하기
_7.4 날짜 데이터를 여러 특성으로 나누기
_7.5 날짜 간의 차이 계산하기
_7.6 요일 인코딩하기
_7.7 시차 특성 만들기
_7.8 이동 시간 윈도 사용하기
_7.9 시계열 데이터에서 누락된 값 다루기

 

8장 이미지 다루기
_8.0 소개 
_8.1 이미지 로드하기
_8.2 이미지 저장하기
_8.3 이미지 크기 변경하기
_8.4 이미지 자르기
_8.5 이미지 흐리게 하기
_8.6 이미지 선명하게 하기
_8.7 대비 높이기
_8.8 색깔 구분하기
_8.9 이미지 이진화하기
_8.10 배경 제거하기
_8.11 윤곽선 감지하기
_8.12 모서리 감지하기
_8.13 머신러닝 특성 만들기
_8.14 컬러 히스토그램을 특성으로 인코딩하기
_8.15 사전 훈련된 임베딩을 특성으로 사용하기 
_8.16 OpenCV로 객체 탐지하기
_8.17 파이토치로 이미지 분류하기

 

9장 특성 추출을 사용한 차원 축소
_9.0 소개
_9.1 주성분을 사용해 특성 줄이기
_9.2 선형적으로 구분되지 않은 데이터의 차원 축소하기
_9.3 클래스 분리를 최대화하여 특성 줄이기
_9.4 행렬 분해를 사용하여 특성 줄이기
_9.5 희소한 데이터의 특성 줄이기

 

10장 특성 선택을 사용한 차원 축소
_10.0 소개 
_10.1 분산을 기준으로 수치 특성 선택하기
_10.2 분산을 기준으로 이진 특성 선택하기
_10.3 상관관계가 큰 특성 다루기
_10.4 분류 작업에 관련 없는 특성 삭제하기
_10.5 재귀적 특성 제거하기

 

11장 모델 평가
_11.0 소개
_11.1 교차검증 모델 만들기
_11.2 기본 회귀 모델 만들기
_11.3 기본 분류 모델 만들기
_11.4 이진 분류기의 예측 평가하기
_11.5 이진 분류기 임곗값 평가하기
_11.6 다중클래스 분류기 예측 평가하기
_11.7 분류기 성능 시각화하기
_11.8 회귀 모델 평가하기
_11.9 군집 모델 평가하기
_11.10 사용자 정의 평가 지표 만들기
_11.11 훈련 세트 크기에 따른 영향 시각화하기
_11.12 평가 지표 리포트 만들기
_11.13 하이퍼파라미터 값의 영향 시각화하기

 

12장 모델 선택
_12.0 소개
_12.1 완전 탐색을 사용해 최선의 모델 선택하기
_12.2 랜덤 탐색을 사용해 최선의 모델 선택하기
_12.3 여러 학습 알고리즘에서 최선의 모델 선택하기
_12.4 전처리와 함께 최선의 모델 선택하기
_12.5 병렬화로 모델 선택 속도 높이기
_12.6 알고리즘에 특화된 기법을 사용해 모델 선택 수행 속도 높이기
_12.7 모델 선택 후 성능 평가하기

 

13장 선형 회귀
_13.0 소개
_13.1 직선 학습하기
_13.2 교차 특성 다루기
_13.3 비선형 관계 학습하기
_13.4 규제로 분산 줄이기
_13.5 라소 회귀로 특성 줄이기

 

14장 트리와 랜덤 포레스트
_14.0 소개
_14.1 결정 트리 분류기 훈련하기
_14.2 결정 트리 회귀 훈련하기
_14.3 결정 트리 모델 시각화하기
_14.4 랜덤 포레스트 분류기 훈련하기
_14.5 랜덤 포레스트 회귀 훈련하기
_14.6 OOB 데이터로 랜덤 포레스트 평가하기
_14.7 랜덤 포레스트에서 중요한 특성 구분하기
_14.8 랜덤 포레스트에서 중요한 특성 선택하기
_14.9 불균형한 클래스 다루기
_14.10 트리 크기 제어하기
_14.11 부스팅을 사용해 성능 향상하기
_14.12 XGBoost 모델 훈련하기
_14.13 LightGBM으로 실시간 성능 향상하기

 

15장 k-최근접 이웃
_15.0 소개
_15.1 샘플의 최근접 이웃 찾기
_15.2 k-최근접 이웃 분류기 만들기
_15.3 최선의 이웃 개수 결정하기
_15.4 반지름 기반의 최근접 이웃 분류기 만들기
_15.5 근사 최근접 이웃 찾기
_15.6 근사 최근접 이웃 평가하기

 

16장 로지스틱 회귀
_16.0 소개
_16.1 이진 분류기 훈련하기
_16.2 다중 클래스 분류기 훈련하기
_16.3 규제로 분산 줄이기
_16.4 대용량 데이터에서 분류기 훈련하기 
_16.5 불균형한 클래스 다루기

 

17장 서포트 벡터 머신
_17.0 소개
_17.1 선형 분류기 훈련하기
_17.2 커널을 사용해 선형적으로 구분되지 않는 클래스 다루기
_17.3 예측 확률 계산하기
_17.4 서포트 벡터 식별하기
_17.5 불균형한 클래스 다루기

 

18장 나이브 베이즈
_18.0 소개
_18.1 연속적인 특성으로 분류기 훈련하기
_18.2 이산적인 카운트 특성으로 분류기 훈련하기
_18.3 이진 특성으로 나이브 베이즈 분류기 훈련하기
_18.4 예측 확률 보정하기

 

19장 군집
_19.0 소개
_19.1 k-평균을 사용한 군집
_19.2 k-평균 군집 속도 향상하기 
_19.3 평균이동을 사용한 군집
_19.4 DBSCAN을 사용한 군집
_19.5 계층적 병합을 사용한 군집

 

20장 파이토치 텐서
_20.0 소개
_20.1 텐서 만들기
_20.2 넘파이로 텐서 만들기
_20.3 희소 텐서 만들기
_20.4 텐서 원소 선택하기
_20.5 텐서 구조 파악하기
_20.6 원소에 연산 적용하기
_20.7 최댓값과 최솟값 찾기
_20.8 텐서 크기 바꾸기
_20.9 텐서 전치하기
_20.10 텐서 펼치기
_20.11 점곱 계산하기
_20.12 텐서 곱셈

 

21장 신경망
_21.0 소개
_21.1 파이토치 자동미분 사용하기
_21.2 신경망을 위해 데이터 전처리하기
_21.3 신경망 구성하기
_21.4 이진 분류기 훈련하기
_21.5 다중 분류기 훈련하기
_21.6 회귀 모델 훈련하기
_21.7 예측하기
_21.8 훈련 기록 시각화하기
_21.9 가중치 규제로 과대적합 줄이기
_21.10 조기 종료로 과대적합 줄이기
_21.11 드롭아웃으로 과대적합 줄이기
_21.12 모델 훈련 진행 과정 저장하기
_21.13 신경망 튜닝하기
_21.14 신경망 시각화하기

 

22장 비정형 데이터를 위한 신경망
_22.0 소개
_22.1 이미지 분류 신경망 훈련하기
_22.2 텍스트 분류 신경망 훈련하기
_22.3 이미지 분류를 위해 사전 훈련된 모델 미세 튜닝하기
_22.4 텍스트 분류를 위해 사전 훈련된 모델 미세 튜닝하기

 

23장 훈련 모델의 저장, 로딩, 서빙
_23.0 소개
_23.1 사이킷런 모델 저장하고 로드하기
_23.2 텐서플로 모델 저장하고 로드하기
_23.3 파이토치 모델 저장하고 로드하기
_23.4 사이킷런 모델 서빙하기
_23.5 텐서플로 모델 서빙하기
_23.6 셀던으로 파이토치 모델 서빙하기

 

찾아보기

전처리부터 딥러닝까지, 216개 실용 예제로 익히는 문제 해결 기법

 

2018년에 출간된 1판 『파이썬을 활용한 머신러닝 쿡북』은 늘어나는 머신러닝 콘텐츠 사이에서 중요한 간극을 채웠습니다. 실용적이고 잘 테스트된 파이썬 레시피를 제공하여 실무자들이 코드를 복사하여 붙여넣은 후 쉽게 자신의 문제에 맞게 조정할 수 있었습니다. 지난 5년 동안 머신러닝 분야는 딥러닝과 이와 관련된 파이썬 프레임워크의 발전과 함께 계속 크게 성장해왔습니다. 그리고 이제는 머신러닝과 딥러닝 실무자들의 요구를 충족시킬 수 있는 최신 파이썬 라이브러리를 활용한 실용적인 콘텐츠가 필요하게 되었습니다. 이 책은 1판의 저자가 해낸 기존의 훌륭한 작업을 기반으로 다음과 같은 내용을 추가했습니다.

 

  • 예제를 최신 파이썬 버전과 프레임워크로 업데이트합니다.
  • 데이터 소스, 데이터 분석, 머신러닝 및 딥러닝 분야의 최신 방법을 반영합니다.
  • 딥러닝 콘텐츠를 확장하여 텐서와 신경망을 추가하고, 파이토치로 텍스트 및 비전을 위한 모
  • 델을 만듭니다.
  • 한 걸음 더 나아가 모델을 서빙하여 API로 제공합니다.

 

쿡북 스타일의 이 책은 하나의 레시피가 특정 메서드나 클래스의 사용 방법을 다룹니다. 하지만 레시피가 비교적 짧다 보니, 다양한 옵션이나 유사 함수들을 충분히 설명하지는 못합니다. 원서의 이런 미진한 부분을 보완하고자 박해선 역자는 대부분의 레시피에 ‘덧붙임’이라는 항목을 새롭게 만들고 내용을 추가했습니다(모든 레시피에 다 들어가지는 않습니다). 역자가 세심하게 추가 보완한 내용을 통해 독자 여러분이 더욱 풍부하고 유용한 정보를 얻기를 바랍니다.

머신러닝, 딥러닝을 시작하면서 정형데이터, 텍스트, 이미지 등 다양한 데이터 전처리를 학습하고자 하는 사람, 머신러닝 기초를 수식과 함께 간단하게 학습하고자 하는 사람에게 추천합니다. 또한 파이토치까지 다루고 있어 텐서를 다루는 부분에서 큰 도움이 될 것으로 생각합니다.

어쩌다 보니 이전에는 cookbook이라 불리는 책을 읽지 않았던 모양입니다. 다루는 수준과 범위과 독특하여, 어떻게 이런 책이 있을 수가 있는가 의아했습니다. 자세히 보니 cookbook이라고 적혀 있었군요. 부제에서 설명하는 대로 참 실용적인 코드로 가득합니다. 데이터를 준비하고 탐색하여 학습용 데이터로 가공하기, 정형 및 비정형 데이터 별로 모델을 학습하기, 여러 알고리듬 별로 모델을 튜닝하기, 모델 성능을 평가하고 서빙하기에 이르는 일련의 과정을 적절히 나누어 발췌독하기 쉬운 구성입니다.

 

입문서를 떼고 실전적인 코딩을 하다가 다시 기본적인 내용을 확인하고자 할 때에 정말 유용하겠습니다. 검색결과는 질의에 따라 너무 지엽적이고, ChatGPT류도 질문을 잘하지 않으면 쓸모 있게 대답하지 못합니다. 입문을 막 벗어나서는 오롯이 홀로서기 전까지 이러한 책이 탐구해 나가기에 쓸모있는 도구라고 봅니다.

 

논문을 쓰면서 자주 찾아 보게 될 듯하여 따로 챙겼습니다. 내가 뭘 놓쳤는지 어디에서 헤매고 있는지 통상적으로 헤쳐나가는 갈래길이 무엇인지 금세 파악하게 할 이정표가 되어주길 기대합니다.

이 책은 기존 파이썬을 활용한 머신러닝 쿡북의 2판으로 이 책의 공동저자 중 한명인 크리스 알본(Chris Albon)은 데이터 사이언스와 머신 러닝 분야에서 잘 알려진 인물로, 특히 시각적인 설명과 교육 자료를 통해 잘 알고 있던 분이다.

아래 링크의 크리스 알본의 X계정을 팔로우 해보면 머신러닝과 관련된 여러 플래시카드를 그린 것을 볼 수 있다. 누구보다 쉽게 머신러닝 개념을 설명하고자 하는데 진심인듯한 모습을 볼 수 있다. 또한 원서의 책이름에도 cookbook 이 들어갈 정도로 쉬운 설명에 진심이 느껴진다.

X에서 Chris Albon 님 : "I’m drawing new machine learning flashcards every day. This is the new style because iPad drawing is easier than actual pen and paper (draw-to-product per card is seconds vs an hour) Thoughts or feedback? https://t.co/WzkV5fbaU8" / X

이 책은 데이터 사이언스와 머신러닝을 처음 접하는 사람들을 위한 실용적인 안내서로, 데이터 처리와 분석에 필요한 다양한 기법들을 체계적으로 소개하고 있다. 총 23장으로 구성되어 있으며, 각 장은 데이터 처리, 분석, 모델링에 필요한 기술을 세부적으로 다룬다.

1장: 벡터, 행렬, 배열

첫 번째 장은 벡터와 행렬, 배열의 기본 개념과 사용법을 설명한다. 벡터와 행렬을 만들고, 조작하는 다양한 방법들을 다루며, 넘파이 라이브러리를 활용한 효율적인 배열 관리를 소개한다. 수학적 연산과 데이터 전처리에 대한 기초를 탄탄히 다질 수 있다.

2장: 데이터 적재

두 번째 장에서는 다양한 소스로부터 데이터를 적재하는 방법을 배운다. CSV, 엑셀, JSON 파일 등 일반적인 파일 형식부터 SQLite, 구글 시트, S3 버킷 등 데이터베이스와 클라우드 서비스까지 폭넓게 다루고 있어 실제 현업에서 유용하게 활용할 수 있다.

3장: 데이터 랭글링

이 장은 데이터프레임을 다루는 기본적인 기술을 소개한다. 데이터프레임 생성, 슬라이싱, 정렬, 값 치환 등 데이터 정제와 변환에 필요한 여러 기법들을 설명하며, 판다스 라이브러리를 중심으로 실습한다.

4장: 수치형 데이터 다루기

네 번째 장에서는 수치형 데이터의 전처리 방법을 다룬다. 특성 스케일링, 표준화, 정규화, 이상치 감지 및 처리 등 데이터 분석의 정확도를 높이기 위한 다양한 기법을 배울 수 있다.

5장: 범주형 데이터 다루기

이 장은 범주형 데이터를 효과적으로 처리하는 방법을 설명한다. 순서가 있는 범주형 데이터와 없는 데이터의 인코딩 방법을 비롯해, 누락된 클래스 값을 대체하고 불균형한 클래스를 다루는 기술을 배운다.

6장: 텍스트 다루기

여섯 번째 장에서는 텍스트 데이터를 처리하고 분석하는 기법들을 다룬다. 텍스트 정제, 토큰화, 불용어 제거, 감성 분석 등 NLP(자연어 처리)의 기본적인 기술들을 실습할 수 있다.

7장: 날짜와 시간 다루기

이 장에서는 날짜와 시간 데이터를 다루는 방법을 학습한다. 문자열을 날짜로 변환하고, 시간대를 처리하며, 날짜 간의 차이를 계산하는 등 시계열 데이터 분석에 필수적인 기술들을 소개한다.

8장: 이미지 다루기

여덟 번째 장에서는 이미지 데이터를 처리하고 분석하는 방법을 배운다. 이미지 로드, 저장, 크기 변경, 자르기, 필터 적용 등 이미지 전처리 기법을 다루며, OpenCV와 파이토치 등을 활용한 실습을 포함한다.

9장 ~ 19장: 머신러닝 기법

이 섹션에서는 다양한 머신러닝 기법들을 소개한다. 선형 회귀, 결정 트리, 랜덤 포레스트, k-최근접 이웃, 로지스틱 회귀, 서포트 벡터 머신, 나이브 베이즈, 군집 등 주요 알고리즘을 설명하고, 실습을 통해 모델을 구축하고 평가하는 방법을 배울 수 있다.

20장 ~ 22장: 신경망과 비정형 데이터

이 장들은 신경망과 비정형 데이터를 다루는 방법을 다룬다. 파이토치를 활용한 텐서 처리, 신경망 구성, 이미지와 텍스트 분류 신경망 훈련 등을 실습한다. 특히 사전 훈련된 모델을 활용한 미세 튜닝 기법도 포함되어 있어 실용적이다.

23장: 훈련 모델의 저장, 로딩, 서빙

마지막 장에서는 훈련된 모델을 저장하고 로드하는 방법을 학습한다. 사이킷런, 텐서플로, 파이토치 등 주요 라이브러리를 활용한 모델 저장과 서빙 기술을 배울 수 있어, 실제 프로젝트에 적용할 유용한 팁을 알려준다.

개정판에서는 파이토치를 활용한 딥러닝 기법과 모델의 저장 서빙에 대한 내용이 대폭 강화되었고 책 이름이 바뀔 정도로 정말 많은 변화가 있었다. 평소 인상적으로 봐오던 크리스알본이 참여한 책이라 더 인상깊게 볼 수 있었다.

 

이 리뷰는 한빛미디어의 나는 리뷰어다 이벤트를 통해 책을 제공받아 작성했습니다.

『실무로 통하는 ML 문제 해결 with 파이썬』은 실무에 바로 적용할 수 있는 200개 이상의 머신러닝 솔루션을 제공하는 실용적인 가이드입니다. 이 책은 파이썬, 판다스, 사이킷런에 익숙한 사용자들이 데이터 로드부터 모델 훈련, 신경망 활용까지 다양한 문제를 해결할 수 있도록 도와줍니다. 각 레시피에는 복사해서 실행할 수 있는 코드가 포함되어 있으며, 상세한 설명 덕분에 쉽게 이해하고 따라갈 수 있었습니다. 이론을 넘어 실제로 작동하는 머신러닝 애플리케이션을 구축하는 데 필요한 핵심 지식을 제공하는 이 책은 머신러닝 실무자들에게 매우 유용한 참고서가 될 거라 생각합니다. 이 책을 완독한 후에는 저만의 애플리케이션을 개발할 수 있는 능력을 갖추길 기대합니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

세간에는 머신러닝과 관련된 다양한 툴과 도구를 제공하는 생태계가 여럿 조성되어 있지만, 아직까지는 파이썬과 이를 뒷받침하는 풍부한 라이브러리가 여전히 세를 과시하고 있는 중이다. 또한 이와 관련된 도서가 도처에 존재하지만, 레시피 기반의 쿡북 스타일을 지향하는 책은 거의 없는 실정이다. 그런데 파이썬 기반 쿡북 스타일의 머신러닝과 관련된 레시피를 풍부하게 제공하는 도서가 출간되었고, 오늘은 이에 대해 이야기를 하려고 한다. 

 

본 도서는 수치 데이터를 다루는 데 있어 독보적 라이브러리인 넘파이를 시작으로 내용이 전개된다. 넘파이의 벡터 및 행렬과 관련된 다양한 예제를 통해 기초를 익히고 본격적으로 데이터 분석 최고의 라이브러리인 판다스를 활용한 레시피가 제공된다. 여러 데이터 소스로부터 데이터셋을 적재하기 위한 다양한 사례들을 접하게 되며, 판다스를 활용한 데이터 분석의 여정이 본격적으로 시작된다. 또한 판다스의 가장 기본적인 데이터 타입인 데이터 프레임을 조작하며, 데이터를 능수능란하게 처리할 수 있는 풍부한 도구와 툴을 학습하게 된다. 이윽고 수치형, 범주형 데이터를 다루는 기법을 배우고, 텍스트를 처리하는 다양한 사례를 익히게 된다. 날짜와 시간 타입 데이터에 대한 중요성도 간과할 수 없는데, 이와 관련하여 세부적인 개념과 유용한 테크닉이 제시된다. 한편, 이미지를 다루는 파트에서는 OpenCV 및 파이토치를 통한 이미지 처리와 관련된 흥미로운 경험을 해 볼 수 있었다. 피처 추출 및 피처 선택을 통한 차원 축소와 관련된 레시피를 다루게 되면서 본격적으로 머신러닝에 가까운 발걸음을 내딛게 된다. 모델 평가와 모델 선택을 거쳐 머신러닝에서 다양하게 활용되는 선형 회귀를 위시하여 의사 결정 트리, 랜덤 포레스트, KNN, 로지스틱 회귀, SVM, 나이브 베이즈, 군집 등 주요 머신러닝의 알고리즘과 그와 연관된 개념 및 실전적인 사례 등이 여과 없이 제공된다. 후반부에 접어들면서 파이토치를 세부적으로 다룰 수 있는 기회가 제공되며, 신경망과 관련된 여러 기법들을 배울 수 있게 된다. 끝으로 트레이닝 모델에 대한, 저장에서 서빙 과정에 이르는 일련의 과정을 효율적으로 준비할 수 있는 실질적인 레시피가 제공되면서 책은 마무리 된다.  

 

풍부한 레시피를 통해 데이터 분석 및 머신러닝, 딥러닝과 관련된 다양한 사례를 접하면서 여러 도구와 툴을 활용하여 문제를 해결하는 기나긴 과정을 흥미롭게 마칠 수 있었다. 이 책의 원서를 읽어 보지는 못했지만, 역자의 번역 작업이 훌륭한 품질을 낳았고 전반적으로 문장과 관련된 문제로 어려움을 겪는 일이 전혀 없었다. 또한 역자께서 부분적으로 내용 이해를 돕기 위해 손수 설명을 곁들이신 것도 개인적으로 참 감사하게 생각한다. 좋은 레시피와 함께, 파이썬 기반의 머신러닝과 관련된 문제 해결 능력을 함양하고자 하는 모든 이들에게 이 책의 일독을 권한다. 

 

P.S 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

 

코딩 실력을 높이는 방법은 여러 가지가 있는데, 역시 최고의 방법은 그동안 배운 것을 전체적으로 써먹을 수 있는 프로그램을 짜 보는 것이다. 그런데 초보라면, 곳곳이 지뢰밭인 느낌을 받을 것이다. 한번 막히며, 며칠을 끙끙거려도 쉽게 해결되지 않는다. 이때 주변에 프로그램을 잘 하는 사람이 있다면, 막히는 부분 살짝만 힌트를 줘도 엄청 쉽게 난관을 극복할 수 있게 된다. 

이는 초보만 해당되는 얘기는 아니다. 중급이든 고급 개발자든 막혔을 때, 그 파트 전문가가 살짝만 건드려줘도 문제 해결이 참 쉬워진다. 이런 원 포인트 레슨의 위력은 대단하다 느낀다.

 

하지만 보다 나은 멘토나 전문가의 도움을 얻기는 쉽지 않다. 그래서 차선책으로 찾는 게 책이다. 카일 갤러틴, 크리스 알본의 '실무로 통하는 ML 문제 해결'이 바로 그런 책이다. 머신러닝, 딥러닝 같은 인공지능 이론을 어느 정도 익히고, 이것을 써 먹을 때, 막히거나, 실제 어떻게 구현해야 할지 잘 모르겠을 때, 써먹으면 좋은 책이다.

 

 

골라 먹는 재미가 있다는 아이스크림처럼 '실무로 통하는 ML 문제 해결'은 골라 써먹는 재미가 있는 216개의 실용 예제를 담고 있다. 파이썬과 파이토치, OpenCV, 넘파이, 각종 라이브러리를 사용하여, 벡터, 행렬, 배열, 데이터 적재, 데이터 랭글링, 수치형 데이터, 범주형 데이터, 텍스트, 날짜와 시간, 이미지 다루기, 특성 추출을 사용한 차원 축소, 특성 선택을 사용한 차원 축소, 모델 평가, 모델 선택, 선형 회귀, 신경망 등등 23개의 챕터로 분류한 머신러닝 관련 주제를 담고 있다. 

 

 

구성은 크게 과제, 해결, 설명, 3단계 형태로 되어 있다. 과제가 제시되면, 그것을 해결하는 샘플 코드가 나오고, 이에 대한 설명이 나오는 식이다. 과제는 '벡터를 만들어야 합니다.' 같은 쉬운 것부터 시작해서, '훈련된 파이토치 모델을 실시간 예측을 위해 서빙하고 싶습니다.' 같이 보다 세밀한 주문이 들어간 것들이 나오므로, 자신이 구현하려는 것과 비슷한 과제를 찾아 골라 써먹으면 된다.

 

그래서 그런지 책을 보다 보면, 전에 많이 접했던 'XX 언어 100제' 그런 책들 느낌도 든다. 그도 그럴 것이 '실무로 통하는 ML 문제 해결'의 원제는 'Machine Learning with Python Cookbook'이다. 

쿡북이라는 이름처럼 필요한 레시피 과제만 쏙쏙 골라 써먹기 좋다. 아울러 이번 책은 최신 정보를 담고 있는 새로운 2판이라, 최신 정보와 함께 보다 잘 다듬어 나왔다.

 

 

게다가 이 책은 그저 번역만 되어 나온 것이 아니라, 박해선 역자가 '덧붙임'이라는 코너를 추가해서, 여기에 관련 수학 공식부터, 라이브러리 설명, 보충 설명, 또 다른 응용 코드, 테스트 코드 같은 것을 곳곳에 담아 놨다. 몇 줄 적은 주석 수준이 아니다. 긴 건은 두 쪽에 걸쳐 나온다. 마치 원래 시킨 식사에 맛난 반찬이 추가되어, 보다 푸짐한 밥상을 독자가 받을 수 있게 했다. 그만큼 책 내용을 보다 쉽고 폭 넓게 이해할 수 있게 해준다. 옮긴이의 노력과 정성에 고마움을 표하지 않을 수 없다.

 

 

'실무로 통하는 ML 문제 해결'은 초보를 위한 책이 아니다. 인공지능, 머신러닝, 딥러닝에 대한 사전 학습이 어느 정도 되어 있는 사람에게 도움이 되는 책이다. 그렇다고 너무 어려운 책도 아니다. 인공지능 입문 책에 많이 봤을 부분도 많이 나온다. 다만 여기서는 코딩 중심으로 코딩에 꼭 필요한 것들만 주로 담고 있다. 덕분에 응용 위주로 인공지능 지식을 빠르게 정리할 수 있다. 만일 이론 부분이 전혀 생각이 나지 않는다면, '참고' 코너에서 안내하고 있는 주소로 들어가 다시 한번 점검하는 것도 좋을 것이다.

 

 

내 경험상 코딩 내공은 책만 많이 본다고 쌓아지는 거 같진 않다. 이론 공부와 함께 다양한 프로그래밍 경험은 필수다. 그리고 기초를 튼튼히 해야 한다. 배열이나 날짜, CSV, JSON 다루기 같이 쉬운 것부터 차근차근 정복하는 것이 좋다. 코딩할 때마다 쉬운 걸 매번 반복해서 어떻게 하나 찾아야 한다면, 재미와 능률도 떨어진다. 물론 '실무로 통하는 ML 문제 해결'이 잘 정리하고 있지만, 자주 쓰고 쉬운 것들은 완벽히 내 것으로 만들어 둘 필요가 있다. 어쨌든 이번에 인공지능 코딩에 많은 도움이 될 골라 써먹을 수 있는 '실무로 통하는 ML 문제 해결'이란 좋은 책을 만나서 기쁘다.  

[BOOK] 실무로 통하는 ML 문제 해결 with 파이썬 - 카일 갤러틴, 크리스 알본 지음 / 박해선 옮김

부제: "전처리부터 딥러닝까지, 216개 실용 예제로 익히는 문제 해결 기법"

 

IT와 관련된 어떤 분야, 어떤 주제에 대해서 공부할 때 어떻게 시작하시나요?
단계적으로 이론을 공부하고, 실습을 통해 실력을 다져나가는 방법이 있습니다. 기초개념을 하나하나 쌓아 올리면서 응용으로 확장하는 방법입니다. 반대로 예제 실습을 통해 동작하는 코드를 살펴보고, 그 코드가 왜 그런 결과를 보여주는지 이론을 살펴보는 방법이 있습니다. 움직이는 제품을 보고 그 제품을 하나하나 뜯어보며 내부로 파고드는 방법입니다. 어떤 것을 선호하시나요?

 

공부하는 방법이야 정답은 없고, 본인에게 맞는 방식을 선택해서 활용하면됩니다.
이 책은 예제를 통해 머신러닝(ML)을 배울 수 있도록 구성되어 있습니다. 각 장마다 ML과 관련된 주제를 여러개의 예제를 통해 접근합니다. 각 예제들은 '과제-해결-설명-참고'로 구성되어 있습니다. 실무에서 만날 수 있는 '과제'와 그 해결 방법인 예제 코드 '해결', 그리고 왜 이런 코드를 만들었는지를 '설명'합니다.

 

실제 예제가 중요한 책이라서 예제 코드가 정확하게 동작하는 것이 중요합니다. 역자인 박해선님이 직접 깃허브로 관리하기에 최신 버전 대응이 빠를 것으로 보입니다. (직접 기여해보는 것도 좋을 것 같네요.)

 

실무를 하다가 발생되는 문제(과제)를 찾아서 해결하는 방향으로 책을 읽을 수도 있고, 관심있는 장(주제)을 선택하여 예제를 통해 해당 주제를 공부하는 방법을 택할 수도 있는 책입니다.

 

“한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다.”

 


O'REILLY

실무로 통하는 ML 문제 해결 with 파이썬

  카일 갤러틴, 크리스 알본 지음

  박해선 옮김

 

예제코드 URL

  https://github.com/rickiepark/ml-with-python-cookbook-2nd

GitHub - rickiepark/ml-with-python-cookbook-2nd: <실무로 통하는 ML 문제 해결 with 파이썬>

<실무로 통하는 ML 문제 해결 with 파이썬>. Contribute to rickiepark/ml-with-python-cookbook-2nd development by creating an account on GitHub.

github.com

 

1판 기반으로 아래의 내용들이 추가 되었습니다.

 

2판에서는 케라스 라이브러리 대신 파이토치 사용 하였습니다.

 

[ 책 구성 ]

-----------------------------------------------------------------------------------------------------------------

이 책은 총 23개의 챕터로 구성되어 있습니다.

Ch01. 벡터, 행렬, 배열

Ch02. 데이터 적재

Ch03. 데이터 랭글링

Ch04. 수치형 데이터 다루기

Ch05. 범주형 데이터 다루기

Ch06. 텍스트 다루기

Ch07. 날짜와 시간 다루기

Ch08. 이미지 다루기

Ch09. 특성 추출을 사용한 차원 축소

Ch10. 특성 선택을 사용한 차원 축소

Ch11. 모델 평가

Ch12. 모델 선택

Ch13. 선형 회귀

Ch14. 트리와 랜덤 포레스트

Ch15. k-최근접 이웃

Ch16. 로지스틱 회귀

Ch17. 서포트 벡터 머신

Ch18. 나이브 베이즈

Ch19. 군집

Ch20. 파이토치 텐서

Ch21. 신경망

Ch22. 비정형 데이터를 위한 신경망

Ch23. 훈련 모델의 저장, 로딩, 서빙

 

책은 파이썬 라이브러리를 이용하여 데이터 생성 부터 가공 저장 등을 실습 할 수 있도록 하는 과제를 시작하여 모델 평가

모델 선택, 알고리즘 및 모델들에 대해서 이전 학습했던 내용들을 여러 실습 과제를 통하여 학습할 수 있게 구성되어 있습니다. 

책은 각 챕터에서 학습할 내용들에 대해 주제 또는 과제를 제시하고 풀이하는 형태로 설명하고 있습니다.

각 주제에 대해서 자세한 설명이 부족 할 수 있지만, 필요에 따라

추가 설명이 필요한 경우 '덧붙임' 을 통하여 부연 설명이 추가되어 있습니다.

 

 

 

[ 결 론 ]

-------------------------------------------------------------------------------------------------------------

이 책은 ML에 대한 이론 학습서는 아니기에 이론에 대한 부분들을 학습하면서 또는 학습 후

여러 과제들을 실습 해보면서 실무에 근접한 학습을 할 수 있도록 도움이 될 만한 책입니다.

이 책은 2018년에 처음으로 출판된 책이며, 2판은 2024년에 나오게 되었다. 그간 머신러닝 분야는 딥러닝과 이와 관련된 파이썬 프레임워크의 발전과 함께 계속 크게 성장해왔다. 그래서 이번에 출판된 버전에서는 예제들을 최신 파이썬 버전과 프레임워크로 업데이트 하였으며, 데이터 소스, 데이터 분석, 머신러닝 및 딥러닝 분야의 최신 방법을 반영해두었다. 또한 딥러닝 콘텐츠를 확장하여 텐서와 신경망을 추가하고, 파이토치로 텍스트 및 비전을 위한 모델을 만들 수 있도록 한다. 그리고 모델을 서빙하여 API로 제공하는 것 까지 추가하였다. 이 책의 좋은점 중 하나는 초보자들이 배우기 쉽게끔 코드를 복붙하기만 하면 짠 하고 돌아가도록 완성해두었다는 점이다. 보통 책에 있는 예제 코드들은 그대로 쓰면 라이브러리 import가 안되었다고 뜨거나, 해당 함수가 없다고 뜨는 등 완전하지 않은 코드를 수록해놓은 경우가 대다수인데, 이 책은 그렇지 않다는 점이다. 

머신러닝 입문용으로 좋은 책이라고 느꼈던 점 중 하나는 목차에서 부터 느낄 수 있었다. 벡터, 행렬, 배열 개념은 정말 머신러닝 엔지니어로서 일하는데 가장 기초이자 기본이 되는 개념이다. 실무로 통하는 ML 문제 해결 책에서는 기초적인 부분을 정말 자세하게 설명하고 있어서 다시 공부하는 입장에서도 도움이 되었던 책이다. 게다가 기본 개념이 탄탄하게 수록 되어있으니 커리어 전환을 하는 사람들에게도 도움이 될만한 책이다. 마지막 단원에서는 학습한 모델을 저장하고, 로딩하고, 서빙하는 과정까지 설명한다. 책의 첫 부분 벡터, 행렬, 배열 부터 시작해서 모델 저장, 로딩, 서빙하기까지 담고 있는걸 보면, 이 책은 기본에 정말 충실한 책이라고 생각된다. 
“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

인공지능 개념을 공부한 뒤 반드시 해봐야 할 것은 코드로의 적용입니다. 이론만 알고 결국 기술로 활용할 수 없다면, 인공지능의 묘미를 제대로 살리지 못하는 게 되겠죠. 이 책은 제목에서도 알 수 있듯이 머신러닝을 실무에 적용할 수 있는 방법을 다룹니다.

 

책의 내용은 인공지능 분야에서 주로 사용하는 데이터의 형태인 행렬(또는 텐서)을 다루는 방법을 설명하는 것으로 시작합니다. 그리고 다양한 형태의 데이터를 불러오고, 전처리하는 방법을 이어서 학습합니다. 인공지능 프로젝트의 핵심은 데이터 전처리입니다. 실제로 대부분의 작업은 데이터를 처리하는 과정에서 이루어질 정도로 데이터 전처리는 매우 중요한 과정입니다. 책에서는 텍스트와 이미지 등 다양한 형태의 데이터를 다루는 방법을 매우 구체적으로 설명합니다.

 

데이터 처리를 배웠다면 마침내 인공지능 모델을 구현하는 방법을 학습할 차례입니다. 이어서 모델을 설계하고, 평가하며, 각 태스크에 어떤 모델을 사용해야 할지를 설명합니다. 머신러닝의 다양한 알고리즘을 구체적으로 설명하고, 각각의 상황에서는 어떤 알고리즘이 유용한지를 분석합니다. 마지막으로 인공신경망을 활용한 딥러닝 기술을 소개하는 것으로 책의 내용이 마무리됩니다.

 

인공지능을 연구할 목적이 아니라, 관련 기술을 빠르게 학습하고 실무에 적용하기 위한 목적이라면, 책의 내용이 매우 도움이 될 것이라고 생각합니다. 한 권의 책으로 머신러닝 프로젝트를 수행하는 방법을 처음부터 끝까지 학습할 수 있는 좋은 참고자료입니다.


“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

 

도서 내용은 요즘 머신러닝 입문서들의 개념과 큰 차이는 없지만, ML 프로젝트를 수행하면서 필요한 데이터 가공부터 모델 개발, 그리고 서빙까지 필요한 개념들을 모두 담고 있습니다.

 

특정 프로젝트에 필요한 라이브러리 등을 언급하는 것은 아니다보니, 보편적인 내용들을 학습할 수 있으며 현업을 뛰고 있는 분들이라면 업무적으로 겪었던 이슈 등을 책에 기록해나가면서 보면 ML 커스텀 개념서를 만들 수 있습니다.

ML 실무에서 필요한 내용을 망라한 책입니다. 책 표지의 “전처리부터 딥러닝까지, 216개 실용 예제로 익히는 문제 해결 기법” 이라는 표현에 맞게 ML을 실무로 한다면 알아야 할 모든 지식을 망라하고 있습니다. 첫째로 ML을 한다면 꼭 알아야 할 numpy, sklearn, 그리고 pytorch 의 각종 기능에 대한 상세한 설명 및 예제를 제공하고 있습니다. 둘째로 데이터를 읽고 저장하는 것과 텍스트 혹은 이미지 등 데이터 자체를 다루는 방법에 대한 안내가 있습니다. 요리할 때 재료마다 어떻게 손질할지 알아야 하듯이 데이터 종류에 따라 어떻게 다뤄야 하는지 설명이 잘 되어 있습니다. 마지막으로는 훈련된 모델을 저장하고 로딩하여 서빙하는 과정을 설명하고 있습니다.

500 페이지 가량에 이 모든 내용이 알차게 잘 들어가있다는 것이 신기할 정도입니다. 업무를 진행하며 많은 사람들이 사용하는 표준 라이브러리에 어떤 기능이 있는지를 전체적인 관점에서 훑어볼 수 있어서 좋았고, 업무에 적용할 것은 없는지 살펴보는데 큰 도움이 되는 책이라고 생각합니다.

데이터 관련 졸업 논문을 작성하면서 책으로 봤던 것들, 내가 알던 것들과 다른 어려운 문제와 많이 직면하게 되었다.

물론 실험은 다 마쳤지만 마침 이 책을 받게 되어 기대를 갖고 읽어보았다.

 

먼저 첫 인상은 여느 문제 해결이라는 키워드가 들어간 도서와 같지 않을까였다. 문제 해결이라는 키워드가 포함된 도서는 대부분 기출 문제를 모아놓은 시험 대비 문제집과 같은 느낌이었다.

예를 들어, 기존 도서는 생선 분류 문제, 과일 등급 분류를 ML을 이용해 해결합시다 라는 구성이라면,  이 책은 특정 프로세스에서 발생하는 문제와 그에 대한 해결을 제시하고 있으며, 이는 실제 업무 과정에서 대면하게 되는 문제였다.  

 

책의 흐름은 크게 데이터의 형태, 형태에 따른 전처리, 모델 평가, 모델 선택, ML, DL의 순서로 되어 있으며, 이는 세부 목차로 들어가면 상당히 많은 내용으로 구성되어 있다.

 

문제 해결이라고 하여 단순하게 문제와 그에 대한 풀이 코드나 알고리즘 만으로 되어있지 않고, 기본 개념부터 해결을 위한 코드로 짜임새 있게 되어있었으며, 컨텐츠도 최근접 이웃과 같은 단순한 내용으로 마무리 하는 것이 아닌 앙상블 기법, 신경망 학습 및 최적화, 모델 저장과 서빙 등 높은 수준의 내용도 함께 담겨 있었다.

 

이 책은 데이터의 전처리부터 모델 학습까지 (모델 서빙과 같은 내용은 매우 적기 때문에 패스한다) 과정에서의 발생하는 문제와 이에 대한 이론, 해결법을 제시하고 있으며, 이는 이론 공부와 어느 정도의 실습을 진행해본 사람에게 직접 프로젝트나 심도있는 실습을 진행하기 전과 과정 속 에서 읽어보길 추천하기 좋은 도서이다.

 

만약 이론과 실습을 어느정도 해보았다고 생각되면, 한 번 읽어보도록 하자.

 

 


 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

리뷰는 실제 도서를 읽어본 후 작성되었으며, 도서의 제공 여부와 상관 없이 독자의 시점으로 작성하였습니다.

나도 딥러닝 프로그램 점누가가 될까나하고 기대로 보게되었다.

파이썬 첵이 이엏게 어려울수도 있겠구나하는 생각이든거 첨일듯하다.

딥러닝을 위해서 이렇게나 복잡한 알고리즘과 개념을 알고있어야하는구나하는맘에 긴장하지않을수 없었다.

사실 약간의 기대를 한것이, 이책을 총해서 딥러닝을 실습하고 다른 언어, 다른 시스템이나 프레임에서 내가 하고자하는 딥러닝 어플리케이션을 구현할거야하는 꿈이 있었다.

그러나 생각이상으로 전문적이고, 다소 생소항 개념을 공부해야 항다는걸 알게되었다.

원하는 내용들을 숩게 사용하는 예제들도 있어 다행이라 생각하며, 보고 또보고했지만, 파이썬이 아닌 다른 툴을 사용한다면 쉽지않겠구나하고 느끼게 되었다.

막연하게 어렵다고 생각될때즈음 중간부분에서 원하는 딥러닝 데이터를 생성하고 활용하는 예제를 보았을때는 너무 기뻤다.

기대가 어긋나지않음을 감사하게되었다.

이미지 인식을 위해 , 내가 직접접만드는 학습 모델링과 만들어진 모델을 사용하는 방법(차이토치, 테스플로)까지 같이 다루고 있어, 가장 원했던 내용이 아닌가 싶다.

 

짧은 기간에 모든 내용을 확인하는건 너무 어렵고, 힘든일이다.

솔직이는 누군가 이책을 기반으로 몇일 강의해준다면 꼭 참석하고 싶다,

이 책의 도서 리뷰를 지원해준 한빛 미디어에 감사한다

'실무로 통하는 ML 문제 해결 with 파이썬'은 머신러닝 실무에 바로 뛰어들고 싶은 이들에게 친절한 안내서 역할을 한다. 이 책은 머신러닝 이론에 대한 깊이 있는 설명보다는 실제 문제 해결에 필요한 다양한 기법과 코드 예제를 풍부하게 제공한다.

특히, 데이터 전처리부터 모델링, 평가, 배포까지 머신러닝 프로젝트의 전체적인 흐름을 따라가며 실용적인 지식을 전달하는 점이 돋보인다. 각 장마다 현실적인 문제 상황을 제시하고, 이를 해결하기 위한 단계별 접근 방식과 파이썬 코드를 상세히 설명하여 독자들이 직접 따라 하며 학습할 수 있도록 돕는다.

또한, 판다스(Pandas), 사이킷런(Scikit-learn), 파이토치(PyTorch) 등 널리 사용되는 파이썬 라이브러리를 활용하여 실제 코드를 작성하고 실행해 보는 경험을 제공함으로써 이론적인 내용을 실제로 적용하는 능력을 키울 수 있게 한다.

이 책은 머신러닝에 대한 기본적인 지식이 있는 독자들에게 적합하다. 머신러닝 알고리즘의 이론적인 배경보다는 실제 문제 해결에 초점을 맞추고 있으며, 다양한 예제를 통해 실무에서 발생할 수 있는 문제 상황에 대한 대처 능력을 향상시킬 수 있다.

하지만, 머신러닝 이론에 대한 깊이 있는 이해를 원하는 독자들에게는 다소 아쉬움이 남을 수 있다. 이 책은 이론적인 설명을 최소화하고 실용적인 측면에 집중하고 있기 때문에, 머신러닝의 원리를 깊이 있게 파고들고 싶은 독자들은 다른 자료를 참고해야 할 것이다.

결론적으로, '실무로 통하는 ML 문제 해결 with 파이썬'은 머신러닝 실무에 필요한 다양한 기법과 코드 예제를 제공하여 독자들이 실제 문제 해결 능력을 키울 수 있도록 돕는 유용한 책이다. 머신러닝 이론보다는 실무에 초점을 맞춘 내용 구성은 현업에서 머신러닝을 활용하는 개발자나 데이터 과학자들에게 특히 유용할 것이다. 다만, 머신러닝 이론에 대한 깊이 있는 이해를 원하는 독자들은 다른 자료를 함께 참고하는 것이 좋겠다.

 

머신러닝과 딥러닝을 예제를 통해 공부하고 난 뒤에 첫 개인 프로젝트를 진행했을 때가 생각난다. 실제로 프로젝트를 만들 때는 컴퓨터 사양/라이브러리 업데이트로 인해 달라진 부분은 검색을 한두번 해보면 바로 해결점을 찾을 수 있는데 특정 과정 진행 방법을 찾을 때는 수많은 검색과 책을 찾아보면서 시간을 잡아먹는 일이 생각보다 많이 생겼다. 그럴 때 이 책에 있는 사례들과 해결방법을 통해 시간 절약을 많이 할 수 있다고 생각한다.

 

 

책에는 벡터/행렬/배열을 다루는 방법, 데이터 적재와 랭글링하는 방법, 수치형 데이터/범주형 데이터/텍스트 데이터 다루는 방법, 모델 평가/선택 방법, 트리와 랜덤 포레스트/KNN/선형과 로지스틱 회귀/SVM/나이브베이즈/군집 등 다양한 머신러닝 알고리즘 적용 방법, 파이토치 센서/신경망/훈련 모델의 저장*로딩*서빙 방법이 총 216개의 레시피 형태로 담겨져있다.

 

 

각 레시피에는 과제와 상세한 해결 방법으로 이루어져있다. 그 안에는 설명 부분과 참고 부분이 사이사이 포함되어서 왜 이런 과정을 거치고 어떻게 커스텀해야하는지 매개변수을 수정하는 방법도 친절하게 알려준다. 영어로 되어있거나 정형화된 설명이 주된 레퍼런스를 보는 것보다 이러한 레시피를 보는게 이해도 빠르고 시간 소모가 적을 것이라 생각한다.

 

 

특별히 한국어판에는 각 레시피에 다양한 옵션이나 유사 함수의 설명을 보완하는 '덧붙임'이라는 항목이 있어서 가장 마음에 들었다. 이를 통해 추가로 검색을 하거나 공부하는 과정이 많이 생략되었다.

 

 

그리고 코드 결과도 보여주는 부분이 많은데 내가 책에 적힌 코드처럼 짜보았는데 정상적으로 진행되는건지 확인할 수 있어서 좋았다.

 

 

마지막 부분에 인덱스가 있어서 필요한 예제 부분을 단어를 중심으로 찾아보고 싶을 때 도움이 된다. 머신러닝과 딥러닝을 쓰는데 빠른 문제 해결을 원한다면 이 책을 구비해서 필요할 때 찾아보고 상시로 공부해둔다면 많은 도움이 될 것이라 자신한다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

#oreily #카일갤러틴 #크리스알본 #파이썬 #머신러닝 #machinelearning #python #cookbook

 

책 제목이 <실무로 통하는...>이라서 이 책을 처음 봤을 때는 기대하는 바가 있었다. 패** 같은 강의 사이트에서 실무로 해결한다는 강의를 봐도 뜬구름 잡는 느낌이었다. 엔지니어가 바라보는 문제/문제 해결 방법과 실무자가 바라보는 문제/문제 해결 방법의 간극을 좁혀주지 못한다는 것. 엔지니어는 엔지니어의 틀 안에서 생각한다. 이 차이를 줄여나가는 것이 내 강의의 일차적인 목표이다. 그래서 이 책에서도 어떤 데이터를 어떤 관점에서 다뤘냐를 유심히 보게 되었다.

 

우선 책의 목차를 보면 정형데이터부터 자연어, 이미지까지 모두 담고 있다. 눈에 띈 것은 다른 책에서는 잘 보이지 않던 다양한 소스에서 데이터를 불러오는 것이었다. CSV, 엑셀, JSON, 파케이(Parquet), 아브로(Avro), SQLite, 원격 SQL 데이터베이스, 구글 시트, S3 버킷, 비구조적인 텍스트 파일. 파케이나 아브로, S3버킷은 전혀 사용해보지 않은 것이다. 아마 앞으로도 쓸 일이 없을 것이지만 알아두면 좋을 내용이다.


 

목차를 왜 이런 식으로 했는지 좀 낯설다. 뭔가 철학이 있겠지.

데이터 적재 - 데이터 전처리 - 텍스트 다루기(로딩부터 감성분석까지) - 날짜/시간 다루기(데이터 전처리의 영역) - 이미지 다루기(로딩부터 이미지 분류까지) - 차원 축소 - 모델 평가 - 모델 선택 - 머신러닝 모델 소개(선형 회귀, 트리, 랜덤포레스트, kNN, 로지스틱 회귀, SVM, 나이브베이즈)와 군집화(k-Means, 평균이동, DBSCAN, 계층적군집화) - 파이토치로 텐서 다루기 - 신경망 - 모델 저장/로딩/서빙

 

순서가 다른 책들과 확 달라서 처음 접하는 사람은 혼란스러울 수도 있겠다는 생각이 든다. 첫페이지부터 따라가며 보려고 하지 말고 필요한 부분들을 찾아가면서 보는 것이 오히려 나을 것 같다. 이해가 안 되는 부분이 있으면 일단 넘어가고 뒷부분을 읽은 다음에 다시 돌아오는 방식으로. 다른 책에서 많이 다루는 '시각화' 관련된 내용은 많이 나오지 않는다. 모델 성능 평가할 때 라인차트를 그려본다거나 혼동행렬 그리는 것과 결정트리 모델 그리기, 특성 중요도를 바차트로 그려보는 정도..

 

161쪽까지 약 1/3 가량을 할애해 데이터를 가져와서 전처리하는 과정을 다룬다.

이어지는 '6장. 텍스트 다루기'에서는 널리 사용되는 전처리 기법과 사전 훈련된 머신러닝 모델을 활용하는 방법을 다룬다. 공백, 구두점, 특수문자, 불용어 등을 제거하거나 HTML 요소를 추출해내는 것 등이다. NLTK를 사용해 토큰화, 어간추출, 품사태깅을 하고 spaCy를 사용해 개체명 인식을 수행한다. 사이킷런의 CountVertorizer를 사용해 BoW로 인코딩하고 TfidfVectorizer를 사용해 단어에 중요도가중치를 부여한 행렬을 만든다. 이어 텍스트 유사도 계산, 감성 분류를 소개한다. 전체적으로는 간단하고 짤막하게만 소개하고 있다. 실제로 텍스트를 처리하는 업무를 한다면 여기에서는 아주 기초적인 내용만 훑고 자연어처리에 관한 다른 책을 봐야한다. '8장. 이미지 다루기'도 마찬가지이다. 감만 익힌다고 생각하고 가볍게 보면 된다. 강의로 치면 8시간 하루 좍 훑어가며 수업할 내용이다. 이어지는 차원축소 부분은 개념을 잘 이해하고 넘어기면 좋겠다. 사실 라이브러리가 너무 잘 되어 있어서 호출해서 사용하면 한두 줄이면 끝나는 부분이라 왜 하고 어떻게 동작하는지, 어떤 때 사용하면 유용한지 등을 알아두면 좋다.

 

이후는 일반적인 머신러닝 알고리즘과 모델 이야기라서 특별히 인상적인 것은 없었다. 데이터도 바로 만들어서 사용하는 단순한 데이터나 흔하게 사용하는 iris데이터를 불러 쓰는 정도...사실 이 부분에서 살짝 실망했다.

 

아마 텐서플로를 주로 쓰는 사람들과 파이토치를 쓰는 사람들이 갈릴 텐데, 텐서플로를 쓴다면 파이토치 텐서 부분은 건너 뛰어도 될 것이다. 그런데 이 책에서는 이후에도 파이토치를 사용하기 때문에 책을 끝까지 보고 싶다면 익혀두면 좋겠지. 텐서플로를 하는 사람들은 '21장. 신경망' 부터는 개념만 잘 이해하고 책에 제시된 파이토치 코드에 대응하는 텐서플로 코드를 찾아보거나 직접 만들어 보는 방식으로 학습을 하면 될 것이다.

 

분량이 많지는 않지만 '22장. 비정형 데이터를 위한 신경망'은 흥미로웠다. 요즘 핫한 생성형인공지능의 핵심기술인 트랜스포머(Transformer)를 살짝이라도 맛볼 수 있기 때문이다. '23장. 훈련 모델의 저장, 로딩, 서빙' 도 웹서버에 간단하게 서빙하는 방법을 알려준다.

 

전체적으로는 내가 원했던 것을 이루지는 못했다. 아주 간단한 데이터나 널리 알려진 데이터 몇 가지를 사용해 기초부터 찬찬히 설명해줬기 때문에...실무 적용은 또 숙제로 남았다. 하지만 앞에서 언급한 저런 내용들이 필요한 독자라면 책이 눈에 잘 들어오게 구성되어 있기 때문에 찬찬히 읽어봐도 좋겠다. 꼼꼼하게 읽고 코드를 실행했다면 이제 실무로 통하는 문은 연 것이다.

본 도서는 파이썬을 활용한 머신러닝 쿡북(2018)의 개정판으로,

2024년 4월 29일에 출간된 아주 따끈따끈한 도서입니다.

기존의 쿡북 도서는 충분히, 잘 테스트 된 파이썬의 레시피를 제공함으로써

실무자들이 코드를 자신의 문제에 맞게 간단히 조정하여 바로 사용이 가능했다고 합니다.

이미 그러한 편리함으로 눈도장을 찍은 저자 Kyle Gallatin은

5년간 빠르게 변화하고 발전한 머신러닝 및 딥러닝의

최신 python 라이브러리와 모델을 반영하게 되었다고 합니다.

데이터 전처리부터 딥러닝까지 총 216개의 실용적인 예제로

문제 해결 기법을 익힐 수 있도록 하고 있으며,

박해선 역자 분께서(혼공머신을 쓰신 분으로 알고 있는데, 이렇게 뵙니 반갑네요!!!)

원서의 부족한 내용을 보완하면서 대부분의 레시피에

'덧붙임' 항목을 만들어 새롭게 내용을 추가 및 보완하셨다는 점에서

실무로 통하는 ML 문제 해결 with 파이썬 만의 장점이 더 빛을 발하는 것 같습니다.

 

머신러닝의 시작은 누가 뭐라해도 벡터죠..

1장에서는 벡터, 행렬, 배열 등 선형대수의 기초 개념

파이썬과의 연결부터 시작합니다.

아주 쉬운 개념같지만 선형대수에 대한 충분한 이해가 뒷받침되어야

이후 python에서 다양한 data type을 어렵지 않게 받아들일 수 있습니다.

2장에서는 다양한 data set 파일별 특성을 이해하고,

파일을 로드하는 방법을 가르쳐주고 있습니다.

특히 저는 얼마전에 알게 된 parquet 파일 적재하기 항목이 눈에 뜨네요

3장은 데이터 랭글링입니다.

생각보다 요 단어의 의미를 정확히 이해하지 못하고 계신 분들도 있는 것 같습니다.

데이터 랭글링은,

raw data를 머신러닝에 유용하게 사용할 수 있도록

형식을 변환하고 구조화하는 과정입니다.

Tidy Data, pandas의 reshape 함수 등을 사용하는 부분이겠죠!

4장, 5장은 수치형 데이터와 범주형 데이터입니다.

수치형 데이터의 경우 스케일링, 정규화, 특성 변환, 이상치, 누락값 처리를,

범주형 데이터의 경우 순서의 유무에 따른

인코딩, 누락값 처리, 불균형 클래스 처리 등에 대한 가이드를 해주고 있습니다.

6장은 텍스트 다루기 항목입니다.

제목을 쉽게 작성해주셨지만,, 사실 텍스트 데이터 역시 분석이 쉽지 않습니다.

개념적으로는 익숙하지만, 자연어 처리는 실제로 분석했을 때

고려해야 할 부분이 너무 많아 어려운 것 같습니다.

해당 챕터에서는 텍스트 정제, 파싱,토큰화, 불용어, 어간 추출, 품사 태깅, 가중치, 유사도 계산 등

감성 분석의 전반적 플로우를 담고 있습니다.

 

7장에서는 날짜, 시간 데이터와 같은 시계열 데이터를 다루고 있습니다.

시간의 흐름이 분석에서 중요하게 다뤄지는 시계열 데이터의 특성과

날짜간의 차이, 요일, 시차 특성 등 발생가능한 다양한 분석 피쳐를 생성해볼 수 있습니다.

8장은 이미지 다루기 챕터입니다.

어렵죠.......

하지만 본 책에서는 이미지 로드, 저장, 크기 변경, 크롭 등 매우 간단한 작업부터

대비 높이기, 색깔 구분하기, 이미지 이진화, 배경 제거, 모서리 감지 등등

머신러닝에서 사용할 수 있는 다양한 핸들링 작업을 가르쳐 주고 있습니다.

OpenCV를 다루고 있기는 하지만,

책의 이름 답게 머신러닝에 초점을 맞추어

딥러닝 분석법을 최대한 다루지 않으려고 노력한 부분이 마음에 들었습니다.

 

10장의 특성 선택을 차원 축소

수치 특성, 이진 특성, 상관관계가 큰 특성 등을 다루는 법을 배운 뒤에는

11장, 12장에서는 모델 평가 및 모델 선택을 다루고 있습니다.

데이터 분석에서는 분석도 중요하지만 모델링하는 과정이 너무 중요하죠.

교차 검증 모델, 기본 회귀/분류 모델 생성부터 평가라는 기초 개념부터

하이퍼파라미터 조정, 그리고 본 책에서는 신선하게

하이퍼파라미터 값의 영향을 시각화하는 방법을 가르쳐 주고 있습니다.

모델 선택 챕터에서는 다양한 탐색법을 사용해 각 분석에 맞는 모델을 선택하는 방법,

모델 선택 속도를 높이는 법, 모델 선택 후 성능 평가법 등 팁을 담고 있습니다.

 

13장부터는 머신러닝에서 사용되는 다양한 모델과 알고리즘을 다루고 있습니다.

각 챕터에서 다루는 모델을 말씀드리자면 다음과 같습니다.

선형회귀(13장)는 데이터의 선형 관계를 모델링하는 데 사용되고,

트리와 랜덤 포레스트(14장)는 의사 결정 트리를 기반으로 한 모델로,

복잡한 관계를 다루거나 다수의 의사 결정 트리를 결합하여 예측을 개선합니다.

K-최근접 이웃(15장)은 주변 데이터의 근접성을 기반으로 예측을 수행하며,

로지스틱 회귀(16장)는 범주형 데이터를 처리하는 데 사용됩니다.

서포트 벡터 머신(17장)은 데이터를 분류하기 위해

고차원 공간으로 매핑하는 데 사용되는 알고리즘입니다.

나이브 베이즈(18장)는 베이즈 이론을 기반으로 하는 간단한 분류 알고리즘이며,

군집(19장)은 데이터를 유사한 그룹으로 묶는 데 사용됩니다.

 

목차를 이렇게 적다 보니,, 안 중요한 부분이 없네요 하하

데분러라면,, 다 보셔야 합니다..

그래도 이렇게 한 권에 실습까지 담겨 있어 여러 권을 안 봐도 되는 게

얼마나 편리하고 좋나요!!!

 

20장은 파이토치 텐서를 다루는 법입니다.

텐서를 생성하고, 구조를 파악하고, 전치, 펼치기, 점곱 계산, 곱셈 계산을 배우는데

저는 텐서를 다뤄본 적이 없어 매우 생소하게 느껴졌으나

결국 대수를 다룬다 생각하면 원리는 비슷한 것 같습니다.

이제 끝이 보입니다!

21장에서는 신경망에 대한 이해와 훈련,

그리고 다양한 방식을 통한 과대적합 방지를 배운 후에

앞에서 배운 신경망을 튜닝하고, 시각화하는 방법을 배웁니다.

이어서 22장에서는 이 신경망 훈련을 비정형 데이터를 대상으로 적용해보고,

마지막 23장에서는 훈련 모델을 저장, 로드, 서빙하는 가이드를 하고 있습니다.

(사이킷런, 텐서플로, 파이토치 모델)

사실,, 전 학부 졸업까지 이 서빙하는 방식을 정확히 이해하지 못해

맨날 코랩 돌릴 때마다 모델링 다시해서 모델을 사용했는데

이,, 부분을 알았으면 얼마나 좋았을까요..^^

생각보다 훈련 모델을 저장하고 적재, 서빙하는 방법을 알려주는 책이 많이 없는 것 같아

이 책의 장점이 또 23장에 있다고 생각합니다.

 

저처럼 애매하게 머신러닝의 전반적인 이해는 있으나

그간 들어온 다양한 용어, 방법론에 대한 개념 정립이 필요하신 분들께서는

머신러닝에 대한 이해와 정립을 하는 동시에

문제풀이로 실전에 응용하면서 읽어보시는 것을 추천드립니다.

한 번 이렇게 한 권의 책으로 단권화 후

바로 다음 분석 프로젝트에 투입됐을 때

바로 활용이 가능할 정도로 충분히 자세하게 작성되어 있어

말 그대로 머신러닝 쿡북의 선두주자

"실무로 통하는 ML 문제 해결 with 파이썬" 이었습니다!


 


안녕하세요, 기술과 함께 사는 컨티뉴언입니다.

지금 바로 볼 책은 <실무로 통하는 ML 문제 해결 with 파이썬>인데요.

이 책은 앞으로 실용 가이드라고 해볼게요.

이 실용 가이드는 업무에서 직면할 수 있는

머신 러닝 문제를 해결하는 데 도움이 되는

200개 이상의 독립적인 레시피를 제공하는데요.

파이썬과 판다 및 사이킷-러닝을 포함한

라이브러리에 익숙하다면 데이터 로드부터 모델 훈련,

신경망 활용에 이르기까지

특정 문제를 해결할 수 있을거예요.

바로 시작합니다!


이번 업데이트 버전의 각 레시피에는

토이 데이터 세트로 복사, 붙여넣기, 실행하여 작동하는지

확인할 수 있는 코드가 포함되어 있는데요.

여기에서 사용 사례나 애플리케이션에 따라

이러한 레시피를 조정할 수 있어요.

레시피에는 솔루션을 설명하고 의미 있는 맥락을

제공하는 토론이 포함되어 있습니다.

이론과 개념을 넘어 실제 작동하는

머신 러닝 애플리케이션을 구축하는 데 필요한 핵심을 배워보세요.

다음에 대한 레시피를 찾을 수 있어요.

● 벡터, 행렬, 배열

● CSV, JSON, SQL, 데이터베이스, 클라우드 스토리지 및 기타 소스 데이터로 작업하기

● 수치형과 범주형 데이터, 텍스트, 이미지, 날짜, 시간 다루기

● 특성 추출 또는 특성 선택을 사용한 차원 축소

● 모델 평가와 선택

● 선형 회귀, 로지스틱 회귀, 트리, 랜덤 포레스트, k-최근접 이웃

● 서포트 벡터 머신(SVM), 나이브 베이즈, 군집, 트리 기반 모델 지원

● 훈련된 모델의 저장, 로드 및 서빙


저는 팬데믹 기간 동안 데이터 과학을 공부해왔는데,

대학을 졸업한 지 오래되어서 그런지

제 두뇌가 원하는 만큼 분석적으로 날카롭지 못했던거죠.

다른 많은 사람들과 마찬가지로

저도 그동안 공부한 내용을 보충하기 위해

인터넷을 샅샅이 뒤졌습니다.

여러 사이트를 찾아보았지만

Chris의 웹사이트는 거의 모든 코드에 대한 적절한 설명과 함께

가장 체계적이고 명쾌하게 정리되어 있어 따라하기 쉬웠습니다.

따라서 각 연습 문제가 명확하게 설명되어 있습니다.

저는 항상 인터넷에 접속할 수 있는 상황이 아니라는 것을 깨닫고

책을 보기로 결정했습니다.

기계 학습에 대해 잘 모르는 사람들을

도와주는 Chris에게 더 큰 박수를 보내봅니다!

쿡북 스타일의 이 책은 하나의 레시피가 특정 메서드나 클래스의 사용 방법을 다룹니다

크리스 알본은 데이터 과학에 대한

폭넓고 깊은 지식을 가지고 있는데요.

이 책은 머신 러닝에서 Python과 Pandas를

비롯한 관련 라이브러리를 사용하기 위한

힌트, 설명, 예제가 가득한 보물 같은 책인데요.

텍스트는 아니지만 치트 시트 그 이상인거죠.

Chris는 배열, 벡터, 행렬의 로드, 정렬, 검사,

분석, 결합, 수정, 변환 등 일반적인 연산부터 시작합니다.

그런 다음 데이터 처리, 정규화, 표준화, 범주 인코딩,

날짜 범위 선택, 차원 축소, 기능 선택, 교차 검증 등

데이터 준비에 사용되는 절차를 이어가는데요.

여러 장에서는 모델 선택, 하이퍼파라미터 조정,

성능 메트릭, 피팅 및 유효성 검사에 대한

논의를 포함하여 모델을 검토하는거죠.

이제는 머신러닝과 딥러닝 실무자들의 요구를 충족시킬 수 있는 최신 파이썬 라이브러리를 활용한

실용적인 콘텐츠가 필요하게 되었습니다

각 주제는 명확하게 설명되어 있으며,

짧은 독립된 Python(버전 3) 프로그램 목록이 예시로 제공되는데요.

명령이나 프로시저와 관련된 빠른 복습이 필요한

모든 분들께 이 책을 적극 추천드려요.

이 책은 각 함수를 이해하기 쉬운 예시를 들어

설명하는 것으로 시작하고 있어요.

하지만 책이 계속 진행됨에 따라 이러한 부분을 기반으로 구축됩니다.

접근 방식은 잘 훈련되어 있으며 빠르게 솔루션을 구축할 수 있는거죠.

후자에 중점을 둔 이론과 코드가 혼합되어 있어요.

미적분을 배우지는 않지만 코드에서

미적분을 수행하는 방법을 배우게 되는데요.

앤드류 응의 강좌를 듣는 분들과

결과를 원하는 분들에게 좋습니다.

파이썬과 판다스,

사이킷런을 포함한 라이브러리에 익숙하다면

데이터 로드부터 모델 훈련,

신경망 활용에 이르기까지

특정 문제를 해결할 수 있습니다.

이 책은 유용하지만 컴퓨터에 따라 코딩 오류가 있을 수 있어요.

코딩을 완전히 처음 접하는 사람에게는 추천하지 않지만

디버깅에 자신 있는 사람(일반적으로 오류가 적기 때문에)에게는 유용한데요.

저자의 깃허브 계정에 있는

일부 데이터 파일은 언급되지 않았어요.

이때 사용 사례나 애플리케이션에 따라

이러한 레시피를 조정할 수 있습니다.

이 책은 특히 데이터 과학 분야에서

1~2년 이상의 경력을 가진 사람이 아닌

초보자를 위한 책인데요.

이 책은 많은 정보로 구성되어 있지만

포괄적이지 않기 때문에 따르는 것을

권장하지 않는데요.

이 책에는 몇 가지 중요한 개념과 응용이 누락되어 있으며,

그 대신 쉽게 구글에서 찾을 수 있는

불필요한 양의 Python 코드로 대체되어 있는거죠.

이론과 개념을 넘어 실제 작동하는 머신러닝

애플리케이션을 구축하는 데

필요한 핵심을 배워보세요.


실무로 통하는 ML 문제 해결 with 파이썬

저자

카일 갤러틴,크리스 알본

출판

한빛미디어

발매

2024.04.29.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

#실무로통하는ML문제해결with파이썬 #카일갤러틴 #크리스알본 #한빛미디어

#머신러닝책추천 #도서리뷰 #인공지능책추천

한빛미디어 출판사의 "실무로 통하는 ML 문제 해결 with 파이썬(카일 갤러틴, 크리스 알본 저/박해선 역)"를 읽고 작성한 리뷰입니다.

표지

머신러닝 입문자가 빠르게 실무에 적응할 수 있도록 도와주는 책. 가장 빠른 방법으로 실무 중심의 핵심만 빠르게 습득하는데 큰 도움을 준다.

약 7년 만에 “파이썬을 활용한 머신러닝 쿡북”의 개정판이 나왔다. 알파고의 등장 이후 딥러닝을 학습하며 거의 처음으로 만났던 책이었기에 매우 반가웠고 몇해 흐르는 동안 관련된 지식을 이미 충분히 알고 있음에도 다시금 반갑게 개정판을 읽은 이유는 다음과 같다.

먼저 1판의 텐서플로 버전과 개정판의 파이토치 버전을 비교해보고 싶은 마음 하나와 몇년 전에 읽었을때의 개념과 제법 실무를 쌓고 난 지금 시점에서 읽었을 때 얼마나 책의 내용이 다르게 다가오는지 느끼고 싶은 이유 때문이었다.

결론을 말하자면 개인적으로는 파이토치와 텐서플로의 구현 방법의 차이를 조금 더 명확하게 정리할 수 있었고 당시 이해하기 어려웠던 개념들을 말끔하게 정리해 볼 수 있음을 느꼈는데 확실히 이 책은 머신러닝을 입문하는 독자들에게 큰 도움이 될 수 있는 내용이 담겨있고 그 내용들은 체계적으로 독자들에게 다가갈 수 있게 구성한 저자의 노력이 돋보였다.

1~7장은 주로 다양한 성격의 데이터를 능숙하게 다루는 방법을 다루고 있다. 수치형이나 범주형으로 구성된 Tabular 성격의 데이터를 Pandas를 통해 가공, 추출하는 것에서 시작하여 텍스트와 같은 비정형 데이터를 다루는 방법을 담고 있다. 특히, 날짜나 시간 또는 벡터와 같이 다루기 까다로운 유형의 데이터를 다루는 방법을 집중하여 설명하고 있어 입문자에게 많은 도움이 된다.

8장~12장에는 주로 전처리 내용을 다룬다. OpenCV로 이미지를 다루는 방법에서부터 차원 축소 등의 피처 엔지니어링 기법도 다루며 모델을 평가하는 방법이나 선택하는 방법 등 실무에 자주 활용되는 파이프라인의 큰 그림을 포괄적으로 이해할 수 있는 파트이다.

OpenCV


 

PCA

14장~19장에는 가장 흔하게 널리 알려진 ML모델을 하나씩 살펴본다. 회귀나 분류 모델은 물론 나이브베이즈나 군집 모델에 대해서도 상세히 실습해 볼 수 있다. 또한 기본 베이스라인 수준의 코드들이 잘 갖춰져있기에 이 책의 모델을 조금만 수정하면 실무 어디에도 쉽게 활용할 수 있도록 구성된 점이 눈에 띈다. 제목에서 알 수 있듯 이 책이 실무에 많은 도움이 되는 내용이기도 하다.

특히 몇년 사이에 ML 핵심 모델을 구현한 최신 라이브러리들의 활용법이 매우 간소화되었다. 이런 최신화 라이브러리의 트렌드를 잘 반영하고 있는 책이기에 1판을 읽었던 독자에게도 도움되는 내용들이 많다고 볼 수 있다.

여담으로 예전에 1판 리뷰를 작성하며 제목에 조금 실무에 도움된다는 느낌이 반영되었으면 한다고 기록한 적이 있는데 어쩌면 출판사에서 그 리뷰 의견을 반영하여 개정판의 제목을 반영해주신건 아닐까 감사한 마음도 든다.

20장 이후로는 딥러닝을 소개한다. Pytorch를 활용하는 기본적인 방법론 및 이미지, 텍스트 위주의 신경망 훈련 예제가 등장한다. 마지막 장에는 서빙을 다루는데 복잡한 서빙의 과정을 API화하여 독자가 쉽고 빠르게 서빙의 개념을 익힐 수 있도록 안배한 구성이 마음에 든다.

시각화

이 책의 특징을 종합하자면 머신러닝 입문자가 빠르게 실무에 적응할 수 있도록 도와주는 책이라고 할 수 있다. 모든 예제들은 베이스라인이 탄탄하여 약간의 변형을 가하여 실무에 바로 활용할 수 있고, 머신러닝의 근간이 되는 핵심개념들은 수식을 거의 활용하지 않고 구현과 예제 중심으로 학습할 수 있도록 되어있어 이해하기 애매모호한 부분을 최소화한 점이 강점이다.

베이스라인

물론 시대적으로 LLM, GPT, RAG, 랭체인 등이 등장하며 더이상 모델의 Core에 대한 이해가 중요했던 시기는 사라져가고 있는 것이 사실인 듯 하다. 주로 유명한 LLM의 API를 활용하여 그 위에 파인튜닝이나 랭체인을 활용하여 타 서비스와의 차별화를 두고 있고 내부적으로 임베딩의 기법에 차이를 두는 편인 것 같다.

예전처럼 밑바닥부터 온프레미스 느낌으로 자체 모델을 구현하고 서빙했던 환경에서 차차 거대 LLM에 의존하는 현 상황에서 모델의 핵심에 대한 배경 지식이 예전보다 중요성이 떨어진 것은 사실이다. 그럼에도 LLM을 제대로 활용하고 차별화된 별도의 모델을 구현하기 위해 여전히 머신러닝의 코어 지식은 중요하다고 생각한다.

그렇기에 이 책의 내용이 현 시점 트렌드와 약간 거리감이 있는 것은 사실이나 머신러닝이나 딥러닝 분야의 종사자라면 이 정도 모델의 핵심 개념과 활용방법 정도는 기본으로 숙지해야 할 부분이다. 해야할 것이 참 많이 시간이 부족한 요즘 이런 내용들을 가급적 가장 빠른 방법으로 실무 중심의 핵심만 빠르게 습득하는데 큰 도움을 준다는 점이 이 책의 가장 큰 장점일거라 말하고 싶다.



 

1판은 "파이썬을 활용한 머신러닝 쿡북"

전처리에서 딥러닝까지, 판다스와 사이킷런 중심의 실전 문제 해결 200선

 

이번 2판은 제목이 바뀌었다.

"실무로 통하는 ML 문제 해결 with 파이썬"

 

 

 

이 책은 목차가 모든 것을 말해준다.

1~8장은 데이터를 핸들링하는데 필요한 내용

9~19장은 회귀, 분류를 위한 머신러닝 기본 기법들과 평가방법

20장 이후에는 파이토치, 신경망 까지 포괄적으로 다룬다. 한마디로 "광범위"하다

 

1장 벡터, 행렬, 배열 
2장 데이터 적재 
3장 데이터 랭글링 
4장 수치형 데이터 다루기 
5장 범주형 데이터 다루기 
6장 텍스트 다루기 
7장 날짜와 시간 다루기 
8장 이미지 다루기 
9장 특성 추출을 사용한 차원 축소 
10장 특성 선택을 사용한 차원 축소 
11장 모델 평가 
12장 모델 선택 
13장 선형 회귀 
14장 트리와 랜덤 포레스트 
15장 k-최근접 이웃 
16장 로지스틱 회귀 
17장 서포트 벡터 머신 
18장 나이브 베이즈 
19장 군집 
20장 파이토치 텐서 
21장 신경망 
22장 비정형 데이터를 위한 신경망 
23장 훈련 모델의 저장, 로딩, 서빙

 

광범위하므로 내용이 많아져서 527page 지만, 한가지 주제에 아주 디테일한 건 아니다. 오히려 앞쪽 파트에 공을 많이 들인 느낌이다. 특히 2장을 보면 일반적인 데이터분석 관련 책들은 csv, xls 정도의 파일을 적재하는 부분만 알려주는데, 이건 JSON, SQL, 구글 시트 뿐만 아니라 AWS S3 적재 방법까지 알려준다. "감동"!

 

_2.0 소개 
_2.1 샘플 데이터셋 적재하기 
_2.2 모의 데이터셋 만들기 
_2.3 CSV 파일 적재하기 
_2.4 엑셀 파일 적재하기 
_2.5 JSON 파일 적재하기 
_2.6 파케이 파일 적재하기 
_2.7 아브로 파일 적재하기 
_2.8 SQLite 데이터베이스로부터 적재하기 
_2.9 원격 SQL 데이터베이스에 쿼리하기 
_2.10 구글 시트에서 데이터 적재하기 
_2.11 S3 버킷에서 데이터 적재하기 
_2.12 비구조적인 데이터 적재하기

 

 

 

2장은 꼭 필요한 내용과 더불어 유의사항도 알려준다.

1) 적재하기 전에 파일의 내용을 확인

2) 매개변수 체크

 

 

 

파이썬 코드는 라인 바이 라인으로 주석이 달려있다.

이 부분은 초심자를 위해서 꼭 필요한 부분인데, 많은 책들이 분량 문제인지 생략하는 경우가 많다.

 

더불어 박해선 역자는 데이터분석 분야의 그냥 레전드 같은 분인데, 이 책엔 특별히 '덧붙임'을 통해 유사함수나 다양한 옵션을 추가로 설명하는 부분이 포함되어있다. 

* 박해선 님 : 혼공 시리즈 저, 핸즈온 머신러닝 역 등 다수

 

장점

폭넓은 주제를 다룸

Full color 로 코드에 대한 설명이 친절함

실제 분석할때 꿀팁 들이 포함되어있음

 

단점

527page 에 다 담을 수 없었던지라 깊이가 부족함(2장은 충분히 자세함)

완전초보가 보기엔 어려움, 중급 이상이 보는게 적절해보임

 

초보자부터 시작한다면 아래 순서대로 책을 보는 것도 좋아보인다

1. 혼자 공부하는 데이터 분석 with 파이썬 
2. 혼자 공부하는 머신러닝+딥러닝 
3. 데이터 분석가가 반드시 알아야 할 모든 것  
4. 실무로 통하는 ML 문제 해결 with 파이썬 
5. 파이썬 머신러닝 완벽 가이드 
6. 핸즈온 머신러닝

 

 “한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

카일 갤러틴, 크리스 알본 지음 / 박해선 옮김

 우선 이번 달에 이 책을 리뷰할 수 있어서 너무 좋았습니다. 회사 업무적으로도 머신러닝을 사용하기 시작하면서 실무에 적용해 볼 수 있었습니다. 또한 ADP라는 자격증을 준비하고 있는데, 보통회차와는 다르게 이번 시험에서는 전처리가 기본 조건으로 주어졌습니다. 시간 부족으로 아쉽게 이번 회차에 ADP 실기에 떨어지게 되었는데, 이 책을 공부하면서 확실히 돌아오는 회차에서는 합격할 수 있다고 확신할 만큼 좋은 책입니다. 혹시나 ADP 실기 시험에 어떤 책을 가져갈까 고민이시라면, 이 책을 꼭 추천드립니다.

1. 대상 독자

 이 책은 머신러닝과 딥러닝에 대해 공부해보고 싶은 분이라면 가장 먼저 추천할 만큼 좋은 책입니다. 물론, 파이썬에 대한 활용법은 어느 정도 알고 있는 분들(라이브러리 활용, 기본 문법)에게 확실히 도움이 될 것입니다. 보통 머신러닝이나 딥러닝 책이라고 하면, 모델을 주로 다루는 경우가 많습니다만, 이 책은 머신러닝이나 딥러닝을 사용하기 위한 처음부터 끝과정까지 모두 다루는 책이라고 볼 수 있습니다. 또한 현업에서 머신러닝 모델링하시거나 관련된 업무를 하신다면, 하나쯤 가지고 있으면 업무에 도움이 될 수 있을 것 같습니다.

2. 책에서 다루고 있는 내용 소개

 이 책에서는 데이터 불러오는 방법부터 전처리, 모델링, 모델 평가, 신경망 모델링, 서빙까지 실무에서 필요한 일련의 과정을 처음부터 끝까지 다루고 있습니다.

 우선, 데이터를 불러오는 방법 중 흔히 알고있는 엑셀, csv 이외의 JSON, SQLite DB, 구글 시트 등 다양한 소스로부터 불러오는 방법도 소개하고 있습니다. 이 부분에서는 단순히 pd.read_csv 만 하셨던 분이라면, 다양한 환경으로부터 원하는 정보를 가져오는 방법을 배울 수 있습니다.

 데이터를 불러왔으면, 데이터를 우리가 활용할 수 있도록 전처리하게 됩니다. 저도 이 책을 읽으면서 생각보다 알고 있지 못한 전처리 방법을 습득할 수 있었습니다. 테이블 형태의 데이터에서 주로 다루는 수치형, 범주형 외에도 가장 번거로운 날짜형태의 데이터, 이미지, 텍스트까지 많은 영역에서의 전처리 방법을 다룹니다. 단순하게, 1가지 방법에 대해서 소개하기 보다는 다양한 방법을 소개하고, 어떤 부분에서 다른지, 참고할 만한 자료를 제공하고 있는 점이 가장 좋았습니다.

 텍스트 처리와 이미지처리 파트에서는 전처리에 필요한 내용뿐 아니라, 간단하게 분류기를 만들어보는 예제까지 진행할 수 있도록 구성되어 있습니다. 특히, 저의 경우에는 다양한 이미지처리를 많이 해본 경험이 있는데 이미지의 특징을 추출하기 좋은 과제 및 예시들이 많이 포함되어 있습니다. 

 모델링 부분에서는 각각의 내용에 대해 굉장히 디테일하게 설명하고 있어서, 이 책 한 권이면 ADP 시험에서 서술형 문제들은 충분히 설명할 만하다고 느껴졌습니다.

 또한 마지막 장에서는 훈련한 모델을 저장하고 불러와서 바로 prediction 하는 방법, flask로 구성된 웹서버에 훈련한 모델을 서빙하는 방법 등 미니 프로젝트로 서비스 만들 때 필요한 내용이 담겨있어서 좋았습니다.

3. 책의 특징
 

책은 기본적으로 과제 - 해결 - 설명 - 참고 순으로 216개의 과제를 풀어가는 방식으로 서술하고 있습니다. 모델링하거나, 전처리할 때, Min-Max Scaler를 쓸까, Standard Scaler를 쓸까 등 어떤 방법을 써야 할지 고민이 되는 문제들 위주로 작성되어 있어서, 읽어보면서 실무에 바로바로 적용할 수 있는 좋은 책입니다. 각 모델에 대한 설명도 충분하게 들어있으며, 적절한 그림과 코드가 배치되어 있어서 이해하기에도 수월한 책입니다.

4. 정리하기

 머신러닝을 위주로 잘 공부하고 싶은 분, ADP 실기 보러 가야 되는데 머신러닝 교재로 뭘 쓸지 고민이 되시는 분, 업무에 머신러닝을 도입하려고 하시는 분들에게 도움이 될 책입니다. 꼭 한번 읽어보시길 추천드립니다. 저도 이번 기회에 이 책으로 10월에 있는 ADP 실기를 차근차근 준비해보려 합니다. 긴 글 읽어주셔서 감사합니다.

"현재 실무로 통하는 ML 문제 해결 with 파이썬"은 데이터 전처리부터 딥러닝까지 216개의 실용적인 예제를 통해 실무 문제 해결 방법을 자세히 다룹니다. KoNLPy와 Okt를 활용한 텍스트 처리, transformers를 이용한 감정 분석, NumPy와 OpenCV를 통한 이미지 조작 등이 포함되어 있어 머신러닝과 데이터 과학에 관심이 있는 모든 분들께 추천합니다. 이 책은 실무에 바로 적용할 수 있는 구체적이고 실용적인 지식을 제공합니다.

한빛미디어 '나는 리뷰어다' 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

"실무로 통하는 ML 문제 해결 with 파이썬"은 2019년에 발표된 "파이썬을 활용한 머신러닝 쿡북"의 2판입니다.

기본적인 프로그래밍 지식을 가진 독자들이 파이썬을 이용하여 머신 러닝 모델을 쉽고 빠르게 구현할 수 있도록 도와주는 실용적인 안내서입니다.

200개 이상의 다양하고 실용적인 코드 예제를 제공하며, 간단한 행렬 생성부터 Pre-Trained Model을 이용한 분류 작업까지 폭넓은 주제를 다룹니다.

이런 점이 좋아요

책의 가장 큰 장점 중 하나는 다양한 파이썬 라이브러리와 프레임워크를 다룬다는 점입니다.

Scikit-Learn, Numpy, Pandas는 물론이고, 최근 더욱 각광받는 PyTorch와 TensorFlow까지 포괄적으로 다루어, 독자들이 필요한 도구를 선택하여 사용할 수 있는 유연성을 제공합니다.

특히 2판에 추가된 PyTorch에 대한 내용은 1판에 비해서 가장 중요한 변경 사항이라고 생각합니다.

각 작업 단위별로 정리된 예제 코드를 제공하여서, 독자들이 필요할 때 즉시 코드를 Copy / Paste해서 사용할 수 있도록 하고 있습니다.

이는 학습 과정을 훨씬 더 신속하고 효율적으로 만들어 줍니다.

기본적인 머신 러닝 기법들에 대한 설명과 함께, 선형 회귀, 의사결정트리, KNN, 로지스틱 회귀, SVM, 나이브 베이즈, 군집화 등을 포함한 다양한 머신 러닝 알고리즘의 사용법을 안내합니다.

또한, 하이퍼파라미터 튜닝 기법과 다양한 프레임워크에서 모델을 서빙하는 방법 등도 다루어, 실제 머신 러닝 프로젝트를 진행하는 데 있어 필요한 지식을 제공합니다.

이런 점이 아쉬워요

이 책은 최신 딥러닝 기술에 대한 설명이 부족합니다.

LLM이나 생성 모델과 같은 고급 딥러닝 주제는 다루고 있지 않으므로, 이러한 최신 기술을 배우길 원하는 독자들에게는 다소 아쉬울 수 있습니다.

하지만, 이 책의 목적 자체가 실무에서 많이 사용되고 활용도가 높은 머신 러닝 기법들을 빠르고 쉽게 사용할 수 있도록 해주는 것이 목적이므로 최신 딥러닝 주제를 다루는 것은 이 책의 목적과는 맞지 않을수도 있겠다는 생각도 듭니다.

이런 분들에게 추천드려요

"실무로 통하는 ML 문제 해결 with 파이썬"은 빠르게 실무에 머신 러닝 알고리즘을 적용해 보고자 하는 독자들이 옆에 두고 사전처럼 찾아보면서 응용해서 사용할 수 있는 유용한 책이라고 생각합니다.

실질적인 머신 러닝 기술을 빠르게 배우고 싶은 독자들에게 강력히 추천할 만한 책입니다.

머신러닝 기본서로 추천드리는 책입니다.

진짜로.. 이 책을 왜 지금까지 못 봤지 싶은 후회가 들었어요.

책에서는 다양한 예제를 다루고 있고참고 사항과 덧붙여 알면 좋은 내용들도 포함하고 있습니다. 지금까지 읽어본 개념서 중 가장 많은 개념을 다루고, 모델 훈련과 SVM, 파이토치와 같은 심화적으로 꼭 알아야 하는 내용들도 포함하고 있어 공부하기 좋았습니다.

현재 머신러닝 관련 강의를 듣고 있는데 이미 배운 내용 + 과제에서 사용한 내용 + 곧 배울 내용까지 포함하고 있는 것 같았습니다. 관련 강의를 듣기 전 '실무로 통하는 ML 문제 해결 with 파이썬'으로 공부하시고 가면 도움이 많이 될 것이라 예상합니다.

 

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 제공 받아 작성된 서평입니다."

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
실무로 통하는 ML 문제 해결 with 파이썬
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
실무로 통하는 ML 문제 해결 with 파이썬
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
실무로 통하는 ML 문제 해결 with 파이썬
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1