[빅데이터 분석과 예측 모델 트레이닝을 위한]
Spark와 머신 러닝
- 원서명Machine Learning with Spark - Tackle Big Data with Powerful Spark Machine Learning Algorithms (ISBN 9781783288519)
- 지은이닉 펜트레스(Nick Pentreath)
- 옮긴이조효성
- ISBN : 9788960778061
- 35,000원
- 2015년 12월 23일 펴냄 (절판)
- 페이퍼백 | 408쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 데이터 과학
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
이 책은 급변하는 비즈니스 환경에서 대규모 데이터를 실시간으로 처리해서 분류, 회귀, 클러스터 등 다양한 모델을 트레이닝한다. 데이터의 모델 트레이닝을 통해 다양한 소프트웨어 비즈니스 요구사항을 높은 정확도로 예측할 때 사용할 수 있다. 이 책은 독자가 대규모 실시간 데이터를 처리할 때 다양한 모델을 이용해서 애플리케이션을 작성할 수 있도록 안내한다.
이 책에서 다루는 내용
스칼라, 자바, 파이썬을 이용한 독자의 첫 번째 스파크 프로그램 개발
독자의 컴퓨터에서뿐만 아니라 아마존 EC2에서 스파크를 이용한 개발환경 설치와 설정
공개된 머신 러닝 데이터 집합 접근과 스파크를 이용한 데이터 로드, 처리, 클린, 변환
협력 필터, 분류, 회귀, 클러스터링, 차원 축소 등의 잘 알려진 머신 러닝 모델을 활용해서 프로그램을 구현할 때 스파크 머신 러닝 라이브러리 사용
머신 러닝 모델의 성능을 평가할 수 있는 스파크 메소드 개발
특징 추출과 머신 러닝 모델에 입력할 텍스트 데이터를 이용한 대규모의 텍스트 데이터 처리
온라인 머신 러닝 메소드 분석과 온라인 러닝과 모델을 평가할 때 스파크 스트림 사용
이 책의 대상 독자
머신 러닝과 데이터 분석 분야에 관심이 있는 스칼라, 자바, 파이썬 개발자이면서 스파크 프레임워크를 이용해서 보편적인 머신 러닝 기술을 확장성 측면에서 어떻게 적용해야 할지 열망한다면 이 책은 당신을 위한 것이다. 스파크의 기본 지식이 있는 독자라면 책을 이해할 때 도움이 되겠지만 사전 지식이 꼭 필요한 것은 아니다.
이 책의 구성
1장, '스파크의 시작과 구동'에서는 스파크 프레임워크를 설치하는 방법과 로컬 개발환경 구축 방법뿐 아니라 아마존 EC2를 이용한 클라우드 스파크 클러스터 생성 방법까지 설명한다. 스파크 프로그래밍 모델과 API를 소개할 뿐 아니라 스칼라, 자바, 파이썬 API를 이용해서 간단한 스파크 애플리케이션을 작성한다.
2장, '머신 러닝 시스템 설계'에서는 머신 러닝 시스템을 활용한 실세계 유스케이스(use case)의 예를 다룬다. 여기서 설명한 유스케이스를 바탕으로 스파크 지능 시스템용 상위 레벨 아키텍처를 설계한다.
3장, '스파크를 이용한 데이터 수집, 프로세싱, 준비'에서는 머신 러닝 시스템에서 실사용하기 위한 데이터 수집 방법을 자세하게 설명하는데, 특히 무료로 오픈된 다양한 가용 데이터 수집 방법을 다룬다. 가공하지 않은 데이터를 적절한 도구, 라이브러리, 스파크 기능을 이용해 머신 러닝 모델에 적용할 수 있는 특징으로 처리하거나, 초기화 또는 변환하는 방법을 배운다.
4장, '스파크를 이용한 추천 엔진 구현'에서는 협업 필터링 방식을 바탕으로 추천 모델을 개발하는 방법을 다룬다. 이 모델을 이용해서 사용자에게 아이템을 추천하거나 검색하는 아이템과 유사한 다른 아이템 목록을 생성한다. 추천 모델의 성능을 평가하는 표준 메트릭스(metrics)도 다룬다.
5장, '스파크를 이용한 분류 모델 구현'에서는 이항 분류를 위한 모델을 생성하는 방법뿐 아니라 분류 태스크를 위한 표준 성능 평가 메트릭스를 사용하는 방법까지 자세하게 설명한다.
6장, '스파크를 이용한 회귀 모델 구현'에서는 5장에서 생성한 분류 모델을 확장하는 개념으로, 회귀 모델의 생성 방법을 설명한다. 회귀 모델의 성능 평가 메트릭스도 자세히 설명한다.
7장, '스파크를 이용한 클러스터 구축 모델 구현'에서는 클러스터링 모델 생성 방법뿐 아니라 클러스터 연관 평가 방법을 사용하는 방법까지 설명한다. 독자는 7장에서 생성된 모든 클러스터에서 발생된 데이터를 분석하고 가시화하는 방법을 배울 수 있다.
8장, '스파크를 이용한 차원 축소'에서는 데이터에서 기본 구조를 추출하고 데이터 구조의 차원을 줄일 수 있는 방법을 살펴본다. 범용적인 일부 차원 축소 기술을 배우며, 그 기술의 적용과 분석 방법뿐 아니라 결과 데이터 모델을 입력으로 다른 머신 러닝 모델에 활용하는 방법까지 배운다.
9장, '스파크를 이용한 고급 텍스트 프로세싱'에서는 텍스트에서 특징 추출을 위한 기술을 비롯한 대규모 텍스트 데이터를 처리하는 방법을 소개하고, 텍스트 데이터에서 높은 차원의 특징을 다룬다.
10장, '스파크 스트리밍을 이용한 실시간 머신 러닝'에서는 스파크 스트리밍의 개요와 온라인에서 스파크 스트리밍이 어떻게 조절되는지, 데이터 스트리밍에 머신 러닝을 적용할 수 있는 점진적 학습 방법을 설명한다.
목차
목차
- 1 스파크의 시작과 구동
- 로컬 모드로 스파크 설치와 환경 설정
- 스파크 클러스터
- 스파크 프로그래밍 모델
- SparkContext와 SparkConf
- 스파크 셸
- 복구할 수 있는 분산 데이터 집합
- RDD 생성
- 스파크 오퍼레이션
- RDD 캐싱
- 브로드캐스트 변수와 누산기
- 스칼라를 이용한 스파크 프로그램의 첫 단계
- 자바로 개발하는 스파크 프로그램의 첫 단계
- 파이썬으로 스파크 프로그램 작성하는 첫 단계
- 아마존 EC2에서 스파크 구동
- EC2 스파크 클러스터 실행
- 정리
- 2 머신 러닝 시스템
- 무비스트림 소개
- 머신 러닝 시스템을 위한 비즈니스 유스케이스
- 개인화
- 타겟 마케팅과 사용자 분류
- 예측 모델링과 해석학
- 머신 러닝 모델의 타입
- 데이터 기반의 머신 러닝 시스템 컴포넌트
- 데이터 획득과 저장
- 데이터 클렌싱과 변환
- 모델 학습과 테스트 루프
- 모델 적용과 정합
- 모델 모니터링과 피드백
- 배치 프로세스와 실시간 프로세스
- 머신 러닝 시스템의 아키텍처
- 실습
- 정리
- 3 스파크를 이용한 데이터 수집, 프로세싱, 준비
- 공개적으로 가용한 데이터 집합 접근
- 무비렌즈 100킬로바이트 데이터 집합
- 데이터 탐색과 가시화
- 사용자 데이터 집합 탐색
- 영화 데이터 집합 탐색
- 평점 데이터 집합 탐색
- 데이터 처리와 변환
- 부적절하거나 소실된 데이터로 채우기
- 데이터에서 유용한 특징 추출
- 숫자 특징
- 카테고리 특징
- 파생 특징
- 타임스탬프를 카테고리 특징으로 변환
- 텍스트 특징
- 단순 텍스트 특징 추출
- 특징 정규화
- 특징 정규화를 위한 MLlib 라이브러리 사용
- 특징 추출을 위한 패키지 사용
- 정리
- 4 스파크를 이용한 추천 엔진 구현
- 추천 모델의 타입
- 콘텐트 기반의 필터링
- 공동 필터링
- 행렬 인수분해
- 목표 데이터에서 적절한 특징 추출
- 무비렌즈 100k 데이터 집합에서 특징 추출
- 추천 모델 트레이닝
- 무비렌즈 100k 데이터 집합으로 모델 트레이닝
- 암시적인 피드백 데이터를 이용한 모델 트레이닝
- 무비렌즈 100k 데이터 집합으로 모델 트레이닝
- 추천 모델 사용
- 사용자 추천
- 무비렌즈 100k 데이터 집합에서 영화 추천 생성
- 제품 추천
- 무비렌즈 100k 데이터 집합에서 유사 영화 생성
- 사용자 추천
- 추천 모델의 성능 평가
- 평균 제곱 오차
- K 평균 정확도의 평균
- MLlib 라이브러리의 내장 평가 메소드 사용
- RMSE와 MSE
- 맵
- 정리
- 5 스파크를 이용한 분류 모델 구현
- 분류 모델의 타입
- 선형 모델
- 로지스틱 회귀
- 선형 지원 벡터 머신
- 나이브 베이즈 모델
- 의사결정 트리
- 선형 모델
- 데이터 집합에서 적절한 특징 추출
- 캐글/스텀블업온 에버그린 분류 데이터 집합에서 특징 추출
- 분류 모델 트레이닝
- 캐글/스텀블업온 지속적인 분류 데이터 집합에 분류 모델을 트레이닝
- 분류 모델 사용
- 캐글/스텀블업온 지속 가능한 분류 데이터 집합을 이용한 예측 생성
- 분류 모델의 성능 평가
- 정확도와 예측 오차
- 정확도와 회자
- ROC 곡선과 AUC
- 모델 성능을 향상하고 매개변수를 튜닝
- 특징 표준화
- 추가적인 특징
- 정확한 형태의 데이터 사용
- 모델 매개변수 튜닝
- 선형 모델
- 의사결정 트리
- 나이브 베이즈 모델
- 교차 검증
- 정리
- 6 스파크를 이용한 회귀 모델 구현
- 회귀 모델의 타입
- 최소 제곱 회귀
- 회귀에 대한 의사결정 트리
- 데이터 집합에서 적절한 특징 추출
- 자전거 공유 데이터 집합에서 특징 추출
- 선형 모델에 적용할 특징 벡터 생성
- 의사결정 트리를 위한 특징 벡터 생성
- 자전거 공유 데이터 집합에서 특징 추출
- 회귀 모델 트레이닝과 사용
- 자전거 공유 데이터 집합을 이용한 회귀 모델 트레이닝
- 회귀 모델의 성능 평가
- 평균 제곱 에러와 루트 평균 제곱 에러
- 평균 절댓값 에러
- 루트 평균 제곱 로그 에러
- R 제곱 계수 값
- 자전거 공유 데이터 집합을 이용한 성능 메트릭스 계산
- 선형 모델
- 의사결정 트리
- 모델 성능 향상과 매개변수 튜닝
- 타겟 변수를 변환
- 로그 변환한 타겟으로 트레이닝할 때의 영향
- 모델 매개변수 튜닝
- 매개변수를 평가하기 위한 데이터 집합 트레이닝과 테스트 생성
- 선형 모델에 적용하는 매개변수 설정의 영향
- 의사결정 트리에 매개변수 설정 값을 적용할 때의 영향
- 타겟 변수를 변환
- 정리
- 7 스파크를 이용한 클러스터 구축 모델 구현
- 클러스터 모델의 타입
- K 평균 클러스터
- 초기화 메소드
- 변수
- 혼합 모델
- 계층적인 클러스터
- K 평균 클러스터
- 데이터에서 적절한 특징 추출
- 무비렌즈 데이터 집합에서 특징 추출
- 영화 장르 레이블 추출
- 추천 모델 트레이닝
- 정규화
- 무비렌즈 데이터 집합에서 특징 추출
- 클러스터 모델 트레이닝
- 무비렌즈 데이터 집합을 이용해 구성한 클러스터 모델 트레이닝
- 클러스터 모델을 이용한 예측
- 무비렌즈 데이터 집합에 대한 클러스터 예측 해석
- 영화 클러스터 해석
- 무비렌즈 데이터 집합에 대한 클러스터 예측 해석
- 클러스터화한 모델의 성능 평가
- 내부 평가 메트릭스
- 외부 평가 메트릭스
- 무비렌즈 데이터 집합에 적용한 메트릭스의 성능 계산
- 클러스터 모델에 적용하는 매개변수 튜닝
- 교차 검증을 통한 K 값 선택
- 정리
- 8 스파크를 이용한 차원 축소
- 차원 축소의 타입
- 주요 컴포넌트 분석
- 단일 값 분해
- 행렬 요소화를 가진 관계
- 차원 축소와 같은 클러스터화
- 분석 데이터의 적절한 특징 추출
- LWF 데이터 집합의 특징 추출
- 얼굴 데이터 분석
- 얼굴 데이터의 가시화
- 벡터 형태로 된 얼굴 이미지 추출
- 정규화
- LWF 데이터 집합의 특징 추출
- 차원 축소 모델 트레이닝
- LFW 데이터 집합에 주요 컴포넌트 분석 기법 적용
- 아이겐페이스의 가시화
- 아이겐페이스 해석
- LFW 데이터 집합에 주요 컴포넌트 분석 기법 적용
- 차원 축소 모델 적용
- LWF 데이터 집합에 적용한 주요 컴포넌트 분석을 이용한 데이터 주입
- 주요 컴포넌트 분석과 단일 값 분해 간 관계
- 차원 축소 모델 평가
- LFW 데이터 집합에 단일 값 분해 적용을 위한 k 값 평가
- 정리
- 9 스파크를 이용한 고급 텍스트 프로세싱
- 텍스트 데이터의 중요한 면
- 데이터 집합에서 올바른 특징 추출
- 용어 가중치 스킴
- 특징 해싱
- 20개 뉴스그룹 데이터 집합에서 TF-IDF 특징 추출
- 20개 뉴스그룹 데이터 분석
- 기본적인 토큰화 기능 적용
- 토큰화 향상
- 중지 단어 제거
- 빈도수를 바탕으로 단어 제거
- 스테밍에 대한 참고
- TF-IDF 모델 트레이닝
- TF-IDF 가중치 분석
- TF-IDF 모델 사용
- 20개의 뉴스그룹 데이터 집합과 TF-IDF 특징을 이용한 문서 유사성
- TF-IDF를 이용한 20개 뉴스그룹 데이터 집합의 텍스트 분류자 트레이닝
- 텍스트 프로세싱의 영향 평가
- 20개의 뉴스그룹 데이터 집합을 이용해서 원본 특징과 프로세싱된 TF-IDF 특징 비교
- Word2Vec 모델
- 20개 뉴스그룹 데이터 집합에 Word2Vec 적용
- 정리
- 10 스파크 스트리밍을 이용한 실시간 머신 러닝
- 온라인 러닝
- 스트림 프로세싱
- 스파크 스트리밍에 대한 소개
- 입력 소스
- 변환
- 액션
- 윈도우 연산자
- 스파크 스트리밍을 이용한 캐싱과 고장 허용
- 스파크 스트리밍에 대한 소개
- 스파크 스트리밍 애플리케이션 개발
- 생산자 애플리케이션
- 기본적인 스트리밍 애플리케이션 개발
- 스트리밍 분석
- 스테이트풀 스트리밍
- 스파크 스트리밍을 이용한 온라인 러닝
- 스트리밍 회귀
- 간단한 스트리밍 회귀 프로그램
- 스트리밍 데이터 생산자 개발
- 스트리밍 회귀 모델 생성
- 스트리밍 K 평균
- 온라인 모델 평가
- 모델 성능과 스파크 스트리밍 비교
- 정리