장바구니 담기 close

장바구니에 상품을 담았습니다.

딥러닝을 이용한 정형 데이터 분석

딥러닝을 이용한 정형 데이터 분석

  • 마크라이언
  • |
  • 책만
  • |
  • 2022-06-20 출간
  • |
  • 308페이지
  • |
  • 185 X 240 X 15 mm
  • |
  • ISBN 9791189909420
판매가

28,000원

즉시할인가

27,720

배송비

2,500원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
27,720

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




대부분의 데이터 과학 프로젝트가 완성되기까지, 데이터를 정리해서 모델이 훈련할 수 있는 형식으로 준비하는 데에 절반 이상의 시간이 투입된다는 사실은 모두가 감추는 불편한 진실이다. 하지만 더 나은 방법도 존재한다. 정형 데이터와 관계형 데이터베이스에 최적화된 딥러닝 기법을 사용하면, 피처 엔지니어링을 치열하게 수행하지 않더라도 분석과 통찰을 얻을 수 있다. 데이터 필터링, 검증, 정리 작업은 확 줄이는 한편, 딥러닝 성능을 드높일 수 있는 기술을 이 책에서 배워보자.
이 책에서는 정형 데이터와 관계형 데이터베이스에 대한 강력한 데이터 분석 기법을 알려준다. 현실 세계의 토론토 교통 시스템 데이터셋으로 시작해보자. 배포와 성능 모니터링 등 실제 상용 제품을 만들 때 중요한 고려사항을 해결함은 물론, 정형 데이터셋을 딥러닝에 맞게 구성하는 일이 매우 손쉬워질 것이다. 파이썬과 머신러닝을 이미 알고 있는 독자라면 기량을 드높일 좋은 기회가 될 것이다.

| 이 책의 구성 |
1장 ‘정형 데이터를 딥러닝으로 다뤄야 하는 이유’는 고수준에서의 딥러닝 개념, 정형 데이터에 딥러닝을 적용하거나 적용하지 말아야 하는 이유를 빠르게 검토합니다. 또한 정형 데이터가 의미하는 바도 여기서 설명합니다.
2장 ‘판다스 데이터프레임과 책 전반에서 사용할 예제 소개’는 이 책의 예제 코드를 위한 개발 환경을 설명합니다. 정형 데이터용 파이썬 라이브러리인 판다스를 소개하고, 책의 나머지 부분에서 다루게 될 경전철 시스템의 지연을 예측하는 예제의 개요를 살펴봅니다. 즉 경전철의 지연을 예측하는 문제죠. 2장의 마지막에는 딥러닝 모델을 학습시키는 간단한 예제를 보여줌으로써, 이후의 장에서 배우게 될 내용을 빠르게 맛보는 기회를 제공합니다.
3장 ‘데이터 준비(1) 데이터의 탐색과 정리’는 경전철 문제에 대한 데이터셋과 데이터셋에 내재된 다양한 문제를 다루는 방법을 탐색합니다. 또한 딥러닝 모델을 훈련시키는 데 얼마만큼의 데이터가 필요한지에 대해서도 함께 다룹니다.
4장 ‘데이터 준비(2) 데이터 변형’은 데이터셋에 내재된 추가적인 문제를 해결하는 방법과, 모든 정리 작업이 완료된 후에도 잘못된 값이 남아 있다면 무엇을 해야 할지 등의 내용을 다룹니다. 또한 비수치형 데이터를 딥러닝 모델에 사용하기 위한 준비 과정도 살펴봅니다. 그리고 처음부터 끝까지의 코드 예제를 요약하며 마무리합니다.
5장 ‘모델 준비와 구축’은 경전철 지연 예측 문제를 위한 딥러닝 모델을 구축하는 과정을 다룹니다. 그리고 데이터 누수(예측 시 사용할 수 없는 데이터로 모델을 훈련시키는 현상) 문제와 이 문제를 방지하는 방법도 함께 살펴봅니다. 또한 딥러닝 모델을 구축하는 코드를 자세히 살펴보고, 모델의 구조를 분석하는 다양한 옵션도 소개합니다.
6장 ‘모델 훈련과 실험 수행’은 모델을 훈련시키고 검증하기 위한 입력 데이터셋의 일부를 고르는 것부터, 초기 훈련을 수행하고, 훈련된 모델의 성능을 개선하기 위한 여러 가지 실험을 반복적으로 수행하는 것까지 모델 훈련에 대한 모든 과정을 설명합니다.
7장 ‘훈련된 모델로 추가적인 실험 수행’은 6장에서 소개된 모델 훈련의 기법을 확장하여, 좀 더 심도 있는 세 실험을 추가적으로 수행합니다. 그중 첫 번째 실험은 4장의 데이터 정리(유효하지 않은 값이 포함된 기록 삭제)가 모델의 성능을 향상하기 위한 것이었음을 증명합니다. 그리고 두 번째 실험은 범주형 열에 학습된 벡터(임베딩)를 연관시키는 것이 성능 향상에 주는 이점을 보여줍니다. 마지막 세 번째 실험은 딥러닝 모델의 성능과, 딥러닝을 사용하지 않는 유명한 접근법 중 하나인 XGBoost의 성능을 비교합니다.
8장 ‘모델 배포’는 훈련된 딥러닝 모델을 외부 세상에서 유용하게 사용될 수 있도록 만드는 방법을 상세히 다룹니다. 우선 훈련된 모델을 웹에 배포하는 간단한 방식을 살펴본 뒤, 그다음으로 오픈소스 챗봇 프레임워크인 라사(Rasa)를 사용하여 페이스북 메신저로 배포하는 방식을 알아봅니다.
9장 ‘향후 개선 방향’은 지금까지 책에서 다룬 내용을 요약 정리합니다. 그런 다음 위치, 날씨 데이터를 포함해 모델의 성능을 개선하는 데 쓰일 수 있는 추가적인 데이터를 살펴봅니다. 그리고 책에서 제공된 코드를 완전히 새로운 정형 데이터 문제에 적용하는 방법을 알아봅니다. 마지막에는 딥러닝과 정형 데이터라는 주제를 배울 수 있는 추가적인 책, 강의, 온라인 자료의 목록을 소개합니다.
부록 A ‘구글 코랩 가이드’에서는 책에서 제공하는 예제 코드를 코랩(Colab)이라는 무료 환경에서 실행하는 방법을 다룹니다.

각 장은 바로 직전 장의 내용을 기반으로 하기 때문에, 앞에서부터 순서대로 책을 읽기를 권장합니다. 그리고 이 책을 가장 잘 활용하는 방법은 제공되는 코드를 직접 실행해보는 것입니다. 특히 경전철 지연 예측 문제에 대한 코드는 꼭 실행해보세요. 마지막으로 6, 7장에서 다루는 실험과 9장에서 소개하는 추가적인 개선점을 스스로 연습해봄으로써, 정형 데이터에 대한 문제해결 능력을 길러보기 바랍니다.

| 이 책의 대상 독자 |
이 책을 최대한 활용하려면 주피터 노트북 환경에서의 파이썬 코딩에 익숙해야만 합니다. 그리고 로지스틱 회귀, 서포트 벡터 머신과 같은 딥러닝 외의 접근법과 머신러닝에서 표준적으로 사용되는 용어에도 익숙한 편이 좋습니다. 만약 행과 열로 구성된 표 형식의 데이터로 작업을 자주 하는 분이라면, 이 책에서 소개한 내용이 여러분의 실제 업무에 쉽게 적용될 수 있다는 사실을 깨닫게 될 것입니다.

| 예제 코드 활용과 다운로드 |
이 책에서 다루는 예제 코드는 깃허브 페이지(https://github.com/onlybooks/structured-data)에서 내려받을 수 있습니다. 3~8장에서 다루는 경전철 지연 예측 문제에 대한 코드뿐만 아니라, 2장(판다스 라이브러리, 판다스와 SQL 간의 관계를 보임)과 5장(케라스의 순서형, 함수형 API 사용법을 보임)에서 독립적인 예제 코드가 제공됩니다.

- 파이썬(버전 3.7이상)
- 판다스(Pandas)
- 사이킷런(scikit-learn)
- 케라스(Keras)
- 텐서플로(TensorFlow 2.x)

[베타 리더 한마디]
의료 데이터 중 EMR 등에서 얻어지는 정보는 대부분 정형 데이터 형태입니다. 전통적으로 정형 데이터 분석에는 XGboost와 같은 머신러닝이 주로 사용되어왔는데, 정형 데이터에도 딥러닝을 적용하는 방법에 대해 관심이 많았습니다. 이 책은 정형 데이터의 정제부터 자세하게 설명하며, 독자가 낯설어할 만한 용어와 개념을 친절히 풀어주며 데이터 분석의 흐름을 제시해줍니다. 입문 단계에서 접하기에 좋은 책이라고 생각합니다.
- 이수정 / 가톨릭대학교 의료정보학교실 연구원

딥러닝은 보통 이미지, 텍스트, 음성 등의 비정형 데이터에 좋은 성능을 내는 것으로 알려져 있습니다. 그래서 기존에 나온 딥러닝 서적은 대부분 비정형 데이터를 기반으로 설명하기에 정형 데이터를 다루는 예제가 좀 더 많았으면 하는 아쉬움이 있었는데 바로 이 책이 그 아쉬움을 해결해줍니다. 어려운 수학 공식이 아니라 코드 단위 설명을 통해 수학을 잘 모르더라도 딥러닝 API를 통해 그럴듯한 딥러닝 모델을 구현해볼 수 있습니다. 정형 데이터를 다룰 때 중요한 핵심 전처리 과정에 대한 팁도 얻을 수 있으며, 딥러닝뿐만 아니라 머신러닝과 비교하는 설명도 있어, 여러 모델을 통해 성능을 개선해보는 즐거움을 찾을 수 있는 책입니다.
- 박조은 / 오늘코드 데이터 분석가

인공지능의 시대라고 하지만, 중요한 건 인공지능 자체가 아니라고 생각합니다. 정말 중요한 건 전반적인 인프라, 프로세스를 탄탄히 갖추고 계속해서 인공지능을 통해 가치를 창출해내는 것입니다. 마치 요리 기술만 갖췄다고 해서 좋은 요릿집이 될 수 없듯, 그저 성능 좋은 인공지능 코드를 만들어낼 수 있다고 해서 좋은 인공지능이라고 할 순 없을 겁니다. 이 책은 그런 점에서, 단순히 성능에만 집착하는 것이 아니라 실제 비즈니스 가치를 만들어내기 위한 고민을 해볼 수 있는 책입니다.
- 송진영 / 빅인사이트 데이터 분석가

아마 초급 머신러닝 엔지니어들이 당면하는 가장 어려운 문제 중 하나는 데이터의 전처리일 것입니다. 도메인 지식과 적절한 가공 기법은 어느 하나로 손쉽게 얻어지는 것이 아니니까요. 특히 우아하게 정제된 데이터셋만 가지고 머신러닝의 기초를 쌓았던 (저를 포함한 적잖은) 이들이 실제 데이터와 맞닥뜨렸을 때의 생소함은 이루 표현할 수 없을 것입니다. 저자는 그런 독자들을 위해 자신의 풍부한 인사이트를 공유합니다. 이 책에서 다루는 정형 데이터셋인 [경전철 지연 이력]은 말 그대로 문제 덩어리입니다. 저자는 맥가이버처럼 한 칼럼씩 데이터를 적절한 형태로 가공해가면서 딥러닝 모델을 구축하고 웹으로 배포하는 과정까지 구체적으로, 그리고 흥미진진하게 풀어냅니다. 많은 분들이 이 과정을 통해 비즈니스 가치 창출을 위한 딥러닝의 전반적인 프로세스와 기본 개념을 깊이 이해하시게 되기를 바랍니다.
- 신명진 / 프리랜서

[옮긴이의 말]
인공지능의 가능성이 급격히 부상한 2016년 이래로, 점점 더 인간의 상상을 초월하는 능력을 갖춘 인공지능 모델에 대한 연구가 매일 새롭게 경신되고 있습니다. 이렇게 사람의 이목을 집중시키는 수많은 연구와 결과는 이미지, 영상, 텍스트, 오디오 등 비정형 데이터에만 기반한 경우가 대부분입니다.
하지만 사람이 매일 생산하는 데이터 중 큰 부분은 비정형 데이터보다는 정형 데이터가 차지하고 있습니다. 정형 데이터 자체만 놓고 봤을 때는 전통적인 머신러닝 기법만으로도 유의미한 예측 능력을 확보하는 것이 가능했습니다. 물론 딥러닝을 적용하면 조금 더 뛰어난 결과를 얻을 수도 있습니다. 하지만 앞으로 정형 데이터에 딥러닝을 고려해야만 하는 가장 중요한 이유가 있습니다. 비정형과 정형 데이터를 모두 결합해 시너지를 낼 수 있는 기술이 바로 딥러닝이기 때문입니다. 한마디로 비정형 데이터와 정형 데이터를 융합하여 지금까지 얻을 수 없던 통찰을 얻고, 새로운 방향성을 만들어낼 수 있게 됐다는 것이죠.
이 책은 실전 데이터셋을 활용해 그 방법의 기초를 다질 수 있는 기회를 제공합니다. 이 책의 가장 큰 장점은 처음부터 끝까지 딥러닝 모델로 완전한 서비스를 만들어내는 전 과정을 다룬다는 점입니다. 특히 처음에는 두서없는 형태를 띤 데이터셋을 판다스, 사이킷런 등의 라이브러리로 가공하는 전처리 작업, 텐서플로/케라스 라이브러리로 손쉽게 딥러닝 모델을 정의하고 훈련시키는 작업, 플라스크를 통한 단순 웹을 포함해 라사(Rasa)와 페이스북 메신저로 모델을 배포해 실제 사용자와 상호작용하는 방법을 다룹니다.
머신러닝으로 가치를 창출할 수 있는 가장 좋은 방법은 처음부터 끝까지의 엔드투엔드 과정을 항상 머릿속에 새긴 채 각 단계를 완성해나가는 것입니다. 사실상 여러 과정이 복잡하게 얽혀 있지만, 불행히도 그중 데이터 또는 모델을 훈련시키는 부분에만 집중한 책이 대부분입니다. 이 책을 통해 실제 구현 능력뿐만 아니라, 정형 데이터에 딥러닝을 적용해 얻을 수 있는 통찰, 실제 가치를 창출할 수 있는 엔드투엔드 과정을 모두 얻어갈 수 있기를 바랍니다.


목차


1장 정형 데이터를 딥러닝으로 다뤄야 하는 이유
1.1 딥러닝 개요
1.2 딥러닝의 장단점
1.3 딥러닝 소프트웨어 스택
1.4 정형 데이터와 비정형 데이터
1.5 정형 데이터에 딥러닝을 사용하는 것에 대한 부정적 시각
1.6 정형 데이터 문제로 딥러닝을 살펴보는 이유
1.7 이 책에서 제공하는 코드 소개
1.8 알아둘 내용
1.9 정리

2장 판다스 데이터프레임과 책 전반에서 사용할 예제 소개
2.1 다양한 종류의 딥러닝 개발 환경
2.2 판다스를 살펴보기 위한 코드
2.3 파이썬의 판다스 데이터프레임
2.4 CSV 파일을 판다스 데이터프레임으로 만들기
2.5 판다스를 사용한 SQL 등의 작업 수행
2.6 주요 예제: 경전철의 지연 예측
2.7 딥러닝을 배우는 데 현실의 데이터셋을 사용해야 하는 이유
2.8 입력 데이터셋의 형식과 범위
2.9 최종 목표: 엔드투엔드 솔루션
2.10 솔루션 코드에 대한 상세한 설명
2.11 개발 환경: 일반적인 환경과 딥러닝이 가능한 환경
2.12 딥러닝을 배척하는 의견들
2.13 딥러닝의 접근성이 좋아진 까닭
2.14 딥러닝 모델 훈련 과정 맛보기
2.15 정리

3장 데이터 준비 (1) 데이터의 탐색과 정리
3.1 데이터 탐색 및 정리를 위한 코드
3.2 파이썬에서 설정 파일을 사용하는 방법
3.3 XLS 파일을 판다스 데이터프레임으로 변환하기
3.4 판다스 데이터프레임을 피클링된 파일로 저장하여 세션 간 공유하기
3.5 데이터 탐색
3.6 데이터를 연속형, 범주형, 텍스트로 분류하기
3.7 데이터셋에 내재된 문제 정돈: 누락된 데이터, 오류, 추측성 문제
3.8 딥러닝에 필요한 데이터 규모의 산정
3.9 정리

4장 데이터 준비 (2) 데이터 변형
4.1 데이터 준비와 변형을 위한 코드
4.2 바르지 못한 값 다루기: Route
4.3 유효하지 않은 값에 대해 하나의 대쳇값만 사용하는 이유
4.4 올바르지 않은 값 다루기: Vehicle
4.5 일관성 없는 값 다루기: Location
4.6 공간 데이터 다루기: Location
4.7 자료형 불일치 문제 다루기
4.8 여전히 잘못된 데이터를 가진 행 다루기
4.9 파생된 열 생성하기
4.10 딥러닝 모델 훈련을 위해 비수치형 데이터를 수치형 데이터로 대체하는 방법
4.11 엔드투엔드 솔루션 구성요소
4.12 정리

5장 모델 준비와 구축
5.1 데이터 누수 및 모델 훈련에 적절한 피처
5.2 도메인 전문성과 데이터 누수를 방지하기 위한 최소 점수 검정
5.3 경전철 지연 예측 문제에서 데이터 누수를 방지하는 방안
5.4 케라스 모델 구축용 코드 살펴보기
5.5 모델 훈련을 위한 데이터프레임의 단계별 리팩토링
5.6 케라스 모델이 원하는 형식으로 데이터프레임 변형하기
5.7 케라스와 텐서플로에 대한 간략한 역사
5.8 텐서플로 1.x에서 2로 마이그레이션하기
5.9 텐서플로와 파이토치
5.10 케라스 딥러닝 모델의 구조
5.11 데이터 구조가 케라스 모델을 정의하는 방식
5.12 임베딩 계층의 능력
5.13 데이터 구조에 따라 자동으로 케라스 모델을 구축하는 코드
5.14 모델 탐색
5.15 모델 파라미터
5.16 정리

6장 모델 훈련과 실험 수행
6.1 딥러닝 모델 훈련을 위한 코드
6.2 딥러닝 모델의 훈련 과정 검토
6.3 경전철 지연 예측용 모델의 최종 목표 검토
6.4 훈련, 검증, 테스트용 데이터셋 선택
6.5 초기 훈련 수행
6.6 모델의 성능 측정
6.7 케라스 콜백: 훈련 과정 중 최상의 결과를 얻는 방법
6.8 여러 훈련 과정에서 동일한 결과를 얻는 방법
6.9 훈련된 모델로 단일 샘플에 대해 예측하기
6.10 훈련된 모델을 직접 저장하기
6.11 일련의 실험을 통해 모델 성능 향상하기
6.12 정리

7장 훈련된 모델로 추가적인 실험 수행
7.1 더 많은 실험을 수행하기 위한 코드
7.2 잘못된 값의 제거가 모델 성능을 개선할 수 있는지 검증
7.3 범주형 열에 적용된 임베딩이 모델 성능을 개선할 수 있는지 검증
7.4 딥러닝 모델과 XGBoost의 비교
7.5 딥러닝 모델 개선을 위한 고려사항
7.6 정리

8장 모델 배포
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 정리

9장 향후 개선 방향
9.1 지금까지 학습한 내용 되돌아보기
9.2 경전철 지연 예측 프로젝트 개선을 위한 기본 아이디어
9.3 상세한 위치 정보 추가 방안
9.4 딥러닝 모델 훈련을 위한 날씨 데이터 추가 방안
9.5 딥러닝 학습을 위한 계절 또는 시간대 데이터 파생 방안
9.6 잘못된 값을 삭제하는 대신 결측값으로 대체하는 대안
9.7 웹 배포용 모델을 외부에 공개하는 방법
9.8 새로운 데이터셋에 대한 모델 구축 방안
9.9 데이터셋 준비와 모델 훈련
9.10 웹 모델 배포를 위한 코드 변경
9.11 페이스북 메신저용 모델 배포
9.12 다른 데이터셋에 적용하기 위한 사례 연구
9.13 추가 학습 자료
9.14 정리

부록 A 구글 코랩 가이드
A.1 코랩이란
A.2 코랩 세션에서 구글 드라이브 사용하기
A.3 제공되는 저장소의 노트북을 코랩에서 실행하기
A.4 코랩과 페이퍼스페이스의 장단점

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.