Top

구글 클라우드 플랫폼상의 데이터 과학 [실시간 데이터 파이프라인 구현: 입수부터 머신 러닝까지]

  • 원서명Data Science on the Google Cloud Platform: Implementing End-to-End Real-Time Data Pipelines: From Ingest to Machine Learning (ISBN 9781491974568)
  • 지은이발리아파 락쉬마난(Valliappa Lakshmanan)
  • 옮긴이이준호
  • ISBN : 9791161753737
  • 40,000원
  • 2019년 11월 29일 펴냄
  • 페이퍼백 | 576쪽 | 188*235mm
  • 시리즈 : 데이터 과학

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/google-cloud-platform

요약

구글 클라우드 플랫폼(GCP)상에서 실제 문제에 정교한 통계 및 머신 러닝 방법론을 쉽게 적용하는 방법을 알려주는 책이다. 데이터 과학 분야에 입문하는 개발자는 통계와 머신 러닝 방법론, GCP 도구를 이용해 엔드 투 엔드 파이프라인을 구현하는 방법을 실습할 수 있다. 전체 과정을 따라 가면 다양한 데이터 과학 접근법을 사용한 비즈니스 의사 결정 사례를 구축할 수 있을 것이다.

추천의 글

“락(Lak)은 현대 데이터 과학자의 기술과 도구, 기법을 명확하게 알려줌과 동시에 실용적이고 유용한 가이드를 제시한다. 데이터 분석 분야를 시작할 때 이보다 더 좋은 방법을 생각할 수 없을 것이다. 구글이 제공해야 하는 지침을 쉽게 선보이며, 이 책을 보지 않을 때에 비해 데이터에서 10배 이상의 가치와 통찰력을 얻을 수 있을 것으로 생각한다. ” - 마일즈 워드(Miles Ward)/ 구글 클라우드, 솔루션 디렉터

이 책에서 다루는 내용

■ 앱 엔진 애플리케이션을 이용한 자동화되고 스케줄된 데이터 입수
■ 구글 데이터 스튜디오에서의 대시보드 생성과 구성
■ 스트리밍 분석을 수행하기 위한 실시간 분석 파이프라인 구축
■ 구글 빅쿼리를 이용한 대화형 데이터 탐색 수행
■ 클라우드 데이터프록 클러스터상에서 베이지안 모델 생성
■ 스파크를 이용한 로지스틱 회기 머신 러닝 모델 구축
■ 클라우드 데이터프록 파이프라인으로 시간-집계 피처 계산
■ 텐서플로를 이용한 고성능 예측 모델 생성
■ 배치 및 실시간 파이프라인으로부터 일반인이 접근할 수 있도록 마이크로서비스 모델 배포와 사용

이 책의 대상 독자

데이터 분석을 하는 독자 모두에게 적합한 책이다. 여러분은 시스템 프로그래머, 데이터 과학자, 데이터 엔지니어, 데이터베이스 관리자 또는 데이터 분석가일 것이다. 오늘날은 역할이 더 세분화될 수도 있지만(데이터 분석만 하든지, 모델 작성만 하든지, 데브옵스만 수행할 것이다), 업무 영역을 조금 늘리고 싶을 것이다. 데이터 과학 모델의 작성법뿐 아니라 상용 시스템에 대규모로 데이터 과학 모델을 구현하는 방법도 배우고 싶을 것이다.

저자/역자 소개

지은이의 말

나는 구글에서 다양한 산업 분야에서 데이터 과학자와 데이터 엔지니어와 함께 일하면서 그들이 데이터 처리 및 분석 방법을 퍼블릭 클라우드로 이전하도록 돕고 있다. 그들 중에는 온프레미스에서 하던 것과 동일한 작업을 컴퓨팅 자원을 임대해서 동일한 방식으로 시도하는 이도 있다. 그러나 비전을 가진 사용자는 그들의 시스템을 다시 고민하고, 데이터로 일하는 방식을 변화시킴으로써 혁신을 더 빠르게 실현하고 있다.
2011년 초반, '하버드 비즈니스 리뷰'의 기사에 따르면 전에는 가능하지 않았던 방식으로 그룹과 커뮤니티가 협력할 수 있기 때문에 일부 클라우드 컴퓨팅이 대성공할 수 있었다고 한다. 이제는 이와 같은 성공 사례를 훨씬 더 많이 볼 수 있다.
2017년의 MIT 조사에 따르면 클라우드로 전환한 이유에 대해 전보다 많은 응답자가 비용 절감(34%)보다는 민첩성의 증가(45%)라고 답변했다.
이 책에서는 데이터 과학을 수행할 때 좀 더 혁신적이고, 협력적인 방법을 살펴본다. 또한 엔드 투 엔드 파이프라인을 구현하는 방법을 알아본다. 서버리스 방식으로 데이터를 입수하는 것에서 시작해 데이터 탐색, 대시보드, 관계형 데이터베이스 및 데이터 스트리밍으로 머신 러닝 모델을 학습시켜 운영하는 것에 이르는 모든 방법을 연구할 것이다. 데이터 기반 서비스의 모든 측면을 다룰 것이다. 데이터 엔지니어는 서비스를 설계하고, 통계적 및 머신 러닝 모델을 개발하고, 대규모 상용 및 실시간 구현에 참여해야 하기 때문이다.

지은이 소개

발리아파 락쉬마난(Valliappa Lakshmanan)
구글 클라우드의 데이터와 머신 러닝 전문 서비스에 대한 기술 책임자다. 머신 러닝을 민주화해서 어느 곳에서 어느 사용자가 사용하든 하드웨어를 많이 갖고 있지 않아도, 통계나 프로그래밍을 깊이 있게 알지 못해도 구글의 놀라운 인프라를 사용할 수 있게 돕는다. 구글에서 근무하기 전에는 클라이미트 코퍼레이션(Climate Corporation)에서 데이터 과학자 팀을 이끌었고, NOAA 국립 폭풍 연구소의 연구 과학자로 혹독한 날씨의 진단 및 예측을 위한 머신 러닝 애플리케이션을 운영했다.

옮긴이의 말

처음 이 책을 접했을 때는 참 어려웠다. 데이터 과학과 머신 러닝을 막연하게 이해하고 있는 수준에 머물러 있어서 번역하는 데 1년 이상 소요됐다. 1년 내내 이 책의 내용을 이해하고자 소스를 배포하고 애플리케이션을 실행하고 결과를 확인하는 작업을 쉬지 않고 진행했다. 그 덕분에 적어도 머신 러닝, 딥러닝의 기초 지식은 어느 정도 이해하는 수준이 됐다. 게다가 구글 클라우드라는 특별한 클라우드 플랫폼 덕분에 하둡 같은 빅데이터 시스템을 별도로 구축하지 않고도 이 책에 나오는 모든 소스를 실행해보고 결과를 쉽게 확인할 수 있었고, 좀 더 빠르게 머신 러닝의 실체에 다가갈 수 있었다. 이제는 이해의 수준을 넘어서 사내에 구축돼 있는 빅데이터를 기반으로 본격적인 머신 러닝/딥러닝을 시도하려고 준비 중이다. 그것도 구글 클라우드 플랫폼에서 추진할 예정이다. 하둡 클러스터 등을 구축할 필요도 없고 데이터를 샤딩 처리하는 등의 수고도 필요 없기 때문이다. 게다가 타사 클라우드 대비 비용이 저렴하기까지 하다.
이 책을 접하기 전에 유튜브나 다른 책을 통해 머신 러닝/딥러닝의 기초적인 사항은 파악하길 바란다. 기초 지식 없이 내용을 접하면 정말 어려울 것이기 때문이다. 최근에 이 책의 주제로 사내에서 세미나를 진행했다. 물론 다수의 청중이 머신 러닝/딥러닝에 이해도가 거의 없는 상태였다. 머신 러닝/딥러닝이 워낙 뜨거운 주제인 관계로 관심은 많았지만 내용을 이해하는 사람은 전체의 5%도 안됐다. 주로 나온 반응은 “신기하다”, “무슨 얘기인지 하나도 모르겠다”, “머신 러닝 절차는 왜 이런 식인지 잘 모르겠다” 등이었다. 따라서 이 책을 읽기 전에 머신 러닝의 기초가 없다면 꼭 사전 공부를 하기를 간곡히 당부 드린다.
끝으로 이제 머신 러닝/딥러닝은 데이터 과학자만 할 수 있는 특화된 분야가 아니라고 생각한다. 적어도 데이터에 대한 통찰력이 있다면 누구나 할 수 있는 분야다. 또한 머신 러닝을 쉽게 실행할 수 있는 클라우드 플랫폼이 계속 나오고 있어서 누구든지 배우고자 한다면 어렵지 않게 실행을 해볼 수 있는 환경이 됐다. 여러분을 이 경이롭고 흥미로운 세계로 초청한다. 꼭 동참해 소기의 성과를 이루기 바란다.

옮긴이 소개

이준호
넥슨 코리아에서 클라우드 아키텍처, 데브옵스(DevOps) 문화 확산, IaC화, 빅데이터 구축 및 운영을 주도하고 있다. 넥슨에 재직하면서 2년 전 ELK를 기반으로 빅데이터 시스템을 구축해 현재 수백 테라바이트 수준의 데이터를 관리 중이다. 쌓여있는 데이터를 이용해 유의미한 정보를 추출하려고 노력했고 ELK 기반 실시간 모니터링 체제의 구성은 완료한 상태다. 그러나 실시간 모니터링 수준을 뛰어넘는 예측 시스템을 만들고자 고군분투하고 있다.

목차

목차
  • 1장. 데이터에 기반을 둔 의사 결정
    • 많은 유사한 의사 결정
    • 데이터 엔지니어의 역할
    • 클라우드는 데이터 엔지니어를 능력자로 만든다
    • 클라우드는 데이터 과학을 급속도로 변화시킨다
    • 사례 연구로 확고한 사실을 얻을 수 있다
    • 확률론적 결정
    • 데이터와 도구
      • 코드로 시작
    • 요약

  • 2장. 클라우드에 데이터 입수
    • 항공사 정시 도착 데이터
      • 알 수 있어야 함
      • 학습-제공 간 왜곡
      • 다운로드 절차
      • 데이터셋 속성
    • 데이터를 한곳에 저장하지 않는 이유
      • 수직 확장
      • 수평 확장
      • 콜로수스와 주피터에 함께하는 데이터
    • 데이터 입수
      • 웹 양식 리버스 엔지니어링
      • 데이터셋 다운로드
      • 탐색 및 정리
      • 구글 클라우드 스토리지에 데이터 업로드
    • 월주기로 다운로드 스케줄링
      • 파이썬으로 입수
      • 플라스크 웹 애플리케이션
      • 앱 앤진 실행
      • URL 보호
      • 크론 작업 스케줄링
    • 요약
    • 코드 휴게소

  • 3장. 혁신적인 대시보드 생성
    • 대시보드로 모델 설명
    • 대시보드를 먼저 만들어야 하는 이유
    • 정확성, 정직성 및 좋은 설계
    • 구글 클라우드 SQL에 데이터 탑재
    • 구글 클라우드 SQL 인스턴스 생성
    • 구글 클라우드 플랫폼과의 상호작용
    • MySQL에 대한 접근 제어
    • 테이블 생성
    • 테이블 채우기
    • 첫 번째 모델 작성
      • 분할표
      • 임계값 최적화
      • 머신 러닝
    • 대시보드 작성
    • 데이터 스튜디오로 시작
      • 다이어그램 생성
      • 최종 사용자 제어 기능 추가
      • 파이 다이어그램으로 비율 표시
      • 분할표 설명
    • 요약

  • 4장. 스트리밍 데이터: 송신 및 입수
    • 이벤트 피드 설계
    • 시간 보정
    • 아파치 빔/클라우드 데이터플로우
      • 공항 데이터 파싱
      • 시간대 정보 추가
      • 시간을 UTC로 변환
      • 시간 보정
      • 이벤트 생성
      • 클라우드에서 파이프라인 실행
    • 이벤트 스트림을 클라우드 pub/sub에 전송
      • 전송할 기록 얻기
      • 기록에 대한 분할
      • 이벤트 일괄처리 구축
      • 이벤트 일괄처리 전송
    • 실시간 스트리밍 처리
      • 자바 데이터플로우 기반 스트리밍
      • 스트리밍 처리 실행
      • 빅쿼리로 스트리밍 데이터 분석
      • 실시간 대시보드
    • 요약

  • 5장. 대화형 데이터 탐색
    • 탐색적 데이터 분석
    • 빅쿼리에 항공 운항 데이터 탑재
      • 서비리스 칼럼 기반 데이터베이스의 이점
      • 클라우드 스토리지에 준비
      • 접근 제어
      • 연합 쿼리
      • csv 파일 입수
    • 클라우드 데이터랩을 이용한 탐색적 데이터 분석
      • 주피터 노트북
      • 클라우드 데이터랩
      • 클라우드 데이터랩에 패키지 설치
      • 구글 클라우드 플랫폼의 주피터 매직
    • 품질 제어
      • 이상한 값
      • 이상치 제거: 빅데이터는 다르다
      • 발생 빈도에 대한 데이터 필터링
    • 출발 지연 시 도착 지연 조건
      • 확률적 결정 임계값 적용
      • 경험 확률 분포 함수
      • 정답은...
    • 모델 평가
      • 무작위로 뒤섞기
      • 날짜로 분할
      • 학습과 테스트
    • 요약

  • 6장. 클라우드 데이터프록상의 베이즈 분류
    • 맵리듀스와 하둡 생태계
      • 맵리듀스 동작 방식
      • 아파치 하둡
      • 구글 클라우드 데이터프록
      • 고급 도구 필요
      • 클러스터가 없는 작업
      • 초기화 작업
    • 스파크 SQL을 이용한 양자화
      • 클라우드 데이터프록상의 구글 클라우드 데이터랩
      • 빅쿼리를 이용한 개별성 검사
      • 구글 클라우드 데이터랩의 스파크 SQL
      • 히스토그램 균일화
      • 동적으로 클러스터 크기 조절
    • 피그를 이용한 베이즈 분류법
      • 클라우드 데이터프록상에서 피그 작업 실행
      • 훈련일자로 제한
      • 의사 결정 기준
      • 베이지안 모델 평가
    • 요약

  • 7장. 머신 러닝: 스파크에서 로지스틱 회귀 분석
    • 로지스틱 회귀 분석
      • 스파크 ML 라이브러리
      • 스파크 머신 러닝으로 시작
      • 스파크 로지스틱 회귀 분석
      • 학습 데이터셋 생성
      • 코너 케이스 다루기
      • 학습 예제 생성
      • 학습
      • 모델을 사용해 예측
      • 모델 평가
    • 피처 엔지니어링
      • 실험 프레임워크
      • 보류 데이터셋 생성
      • 피처 선택
      • 피처 크기 조정과 클리핑
      • 피처 변환
      • 범주형 변수
      • 확장 가능, 반복 가능, 실시간
    • 요약

  • 8장. 시간-윈도우 집계 피처
    • 시간 평균의 필요성
    • 자바상의 데이터플로우
      • 개발 환경 구성
      • 빔으로 필터링
      • 파이프라인 옵션 및 문자열 I/O
      • 클라우드에서 실행
      • 객체로 파싱
    • 시간 평균 계산
      • 그룹화 및 조합
      • 측면 입력으로 병렬 처리
      • 디버깅
      • BigQueryIO
      • 항공편 객체 변형
      • 일괄 모드로 슬라이딩 윈도우 계산
      • 클라우드에서 실행
    • 모니터링, 트러블 슈팅, 성능 튜닝
      • 파이프라인 트러블 슈팅
      • 측면 입력 제한 사항
      • 파이프라인 재설계
      • 중복 제거
    • 요약

  • 9장. 텐서플로를 이용한 머신 러닝 분류기
    • 좀 더 복잡한 모델을 향해
    • 텐서플로에서 데이터 읽기
    • Experiment 구성
      • 선형 분류기
      • 학습 및 평가 입력 함수
      • 서빙 입력 함수
      • Experiment 작성
      • 학습 실행 수행
      • 클라우드에서의 분산 학습
    • ML 모델 개선
      • 심층 신경망 모델
      • 임베딩
      • 와이드앤딥 모델
      • 하이퍼파라미터 튜닝
    • 모델 배포
      • 모델로 예측
      • 모델 설명
    • 요약

  • 10장. 실시간 머신 러닝
    • 예측 서비스 호출
      • 요청 및 응답에 대한 자바 클래스
      • 요청 전송과 응답 파싱
      • 예측 서비스 클라이언트
    • 항공편 정보에 예측 추가
      • 일괄처리 입력 및 출력
      • 데이터 처리 파이프라인
      • 비효율성 식별
      • 일괄처리 요청
    • 스트리밍 파이프라인
      • PCollection 평탄화
      • 스트리밍 파이프라인 실행
      • 지연되고 비순차적인 기록
      • 워터마크와 트리거
    • 트랜잭션, 처리량, 대기 시간
      • 가능한 스트리밍 싱크
      • 클라우드 빅테이블
      • 테이블 설계
      • 행의 키 설계
      • 클라우드 빅테이블로 스트리밍
      • 클라우드 빅테이블에서 쿼리
    • 모델 성능 평가
      • 지속적인 학습의 필요성
      • 파이프라인 평가
      • 성능 평가
      • 한계 분포
      • 모델 동작 확인
      • 동작 변화 식별
    • 요약
    • 책 요약

  • 부록 A. 머신 러닝 데이터셋 내에서 민감한 데이터의 고려

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안