피처 엔지니어링, 제대로 시작하기 [데이터에서 효과적으로 정보를 추출하는 원리와 기법]
- 원서명Feature Engineering for Machine Learning: Principles and Techniques for Data Scientists (ISBN 9781491953242)
- 지은이앨리스 젱(Alice Zheng), 아만다 카사리(Amanda Casari)
- 옮긴이김우현
- ISBN : 9791161752426
- 25,000원
- 2018년 12월 26일 펴냄 (절판)
- 페이퍼백 | 280쪽 | 188*235mm
- 시리즈 : 데이터 과학
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
가장 최신 버전의 소스 파일은 다음 주소에서 다운 받으실 수 있습니다.
2019년 대한민국학술원 우수학술도서 선정도서
요약
머신 러닝의 결과는 데이터를 얼마나 잘 표현하는 피처를 추출하는가에 달려있다고 할 수 있다. 그러나 머신 러닝을 위한 다양한 알고리즘이나 도구에 대한 안내서는 많이 있는 것에 비해서 데이터의 피처를 어떻게 추출하고 사용할 도구에 맞게 변환하고 처리할 것인지 알려주는 안내서는 거의 없다. 이 책은 수치형 데이터, 범주형(카테고리) 데이터를 다루는 기법뿐만 아니라 텍스트, 이미지, 그리고 고차원 데이터에서 머신 러닝을 위해 좋은 피처를 추출하는 기법과 그 원리를 설명하고 실습을 통해 직관을 얻을 수 있도록 해준다.
추천의 글
“데이터 전처리와 피처 엔지니어링은 모델 성능의 주요인으로 밝혀지고 있다. 마침내 이 주제에 집중한 책을 만날 수 있어서 기쁘다. 앨리스와 아만다는 많은 기법의 사소한 뉘앙스까지 세밀하게 설명하고 있다.”
- 안드레아스 뮐러(Andreas C. Müller) / scikit-learn 핵심 개발자이자 컬럼비아대학교 머신 러닝 강사
이 책에서 다루는 내용
■ 숫자 데이터에 대한 피처 엔지니어링: 필터링, 비닝, 스케일링, 로그 변환, 거듭제곱 변환
■ 텍스트 처리 기법: BoW(Bag-of-Words), n-gram, 구문 탐색
■ 정보가 없는 피처를 제거하기 위한 빈도 기반 필터링 및 피처 스케일링
■ 피처 해싱과 빈 카운팅 등을 포함하는 범주형 변수의 인코딩 기법
■ 주성분 분석(PCA)을 이용한 모델 기반 피처 엔지니어링
■ 피처 생성 기법으로 k-평균을 사용하는 모델 스태킹(model stacking)의 개념
■ 딥러닝을 이용한 이미지 피처 추출
이 책의 대상 독자
이 책은 ‘모델과 벡터가 무엇인지’와 같은 기본적인 머신 러닝 지식을 전제로 한다. 물론 그와 관련된 간단한 설명이 제공될 것이다. 선형대수, 확률분포, 최적화 등에 대한 경험이 이 책을 이해하는 데 도움은 되지만 꼭 필요하지는 않다.
이 책의 구성
처음 몇 장은 데이터 과학과 머신 러닝을 시작하려는 사람들을 위한 다리를 제공하고자 천천히 시작한다.
1장에서는 데이터, 모델, 피처 등 머신 러닝 파이프라인의 기본 개념을 소개한다.
2장에서는 숫자 데이터를 위한 피처 엔지니어링의 기본인 필터링, 비닝(binning), 스케일링(scaling), 로그 변환(log transform), 거듭제곱 변환(power transform), 상호작용 피처(interaction feature) 등을 살펴본다.
3장에서는 자연어 텍스트를 위한 피처 엔지니어링을 다루며 BoW(Bag-of-Words), n-grams, 구문 탐색 등의 기법을 살펴본다.
4장에서는 피처 스케일링의 한 예로 tf-idf(term frequency-inverse document frequency)를 살펴보고 그 동작 원리를 설명한다.
5장에서는 피처 해싱(feature hashing)과 빈 카운팅(bin counting)을 포함해 범주형 변수에 대한 효율적인 인코딩 기법을 논의하면서 진행에 속도를 높인다.
주성분 분석(PCA, Principal Component Analysis)을 다루는 6장에 이르면 머신 러닝의 세계에 깊이 들어서게 된다.
7장에서는 피처 생성 기법으로서 k-평균을 다루며, 유용한 개념인 모델 스태킹(model stacking)을 설명한다.
8장에서는 텍스트 데이터에 비해 피처 추출이 훨씬 어려운 이미지에 대해 다룬다. 여기서는 이미지에 대한 최신 피처 추출 기법이라고 할 수 있는 SIFT와 HOG, 두 가지 수동 피처 추출 기법을 살펴볼 것이다.
9장에서는 학술 논문에 대한 추천 모델을 생성하는 예제를 통해 몇 가지 서로 다른 기법을 비교 분석한다.
목차
목차
- 1장. 머신 러닝 파이프라인
- 데이터
- 과제
- 모델
- 피처
- 모델 평가
- 2장. 숫자를 위한 멋진 트릭
- 스칼라, 벡터, 공간
- 카운트 처리
- 바이너리 변환
- 양자화 또는 비닝
- 로그 변환
- 로그 변환의 역할
- 거듭제곱 변환: 로그 변환의 일반화
- 피처 스케일링 또는 정규화
- min-max 스케일링
- 표준화(분산 스케일링)
- ℓ2 정규화
- 상호작용 피처
- 피처 선택
- 요약
- 참고 문헌
- 3장. 텍스트 데이터: 플래트닝, 필터링, 청킹
- bag-of-x: 자연어 텍스트를 평면 벡터로 변환
- BoW
- bag-of-n-grams
- 정제된 피처를 위한 필터링
- 불용어
- 빈도 기반 필터링
- 어간 추출
- 의미의 단위: n-grams에서 구문까지
- 파싱과 토큰화
- 구문 탐색을 위한 연어 추출
- 요약
- 참고 문헌
- bag-of-x: 자연어 텍스트를 평면 벡터로 변환
- 4장. 피처 스케일링의 효과: BoW에서 tf-idf로
- tf-idf: BoW 비틀기
- tf-idf 테스트
- 분류 데이터셋 생성
- tf-idf 변환으로 BoW를 스케일링
- 로지스틱 회귀를 이용한 분류
- 일반화로 로지스틱 회귀 튜닝
- 심층 분석: 무슨 일이 일어나고 있는가?
- 요약
- 참고 문헌
- 5장. 범주형 변수: 로봇닭 시대에 달걀 개수 세기
- 범주형 변수 인코딩
- 원-핫 인코딩
- 더미 코딩
- 이펙트 코딩
- 범주형 변수 인코딩의 장단점
- 대규모 범주형 변수 처리
- 피처 해싱
- 빈 카운팅
- 요약
- 참고 문헌
- 범주형 변수 인코딩
- 6장. 차원 축소: PCA로 데이터 팬케이크 납작하게 만들기
- 직관
- 수식 유도
- 선형 투영법
- 분산과 경험적 분산
- 주성분: 첫 번째 식
- 주성분: 행렬-벡터식
- 주성분의 일반적인 해
- 피처 변환
- PCA 구현
- PCA의 활약
- 화이트닝과 ZCA
- PCA의 고려 사항과 한계
- 사용 예
- 요약
- 참고 문헌
- 7장. k-means 모델 스태킹을 통한 비선형 피처 생성
- k-means 클러스터링
- 곡면 분할로서의 클러스터링
- 분류를 위한 k-means 피처 생성
- 조밀한 피처 생성
- 장단점과 몇 가지 사항들
- 요약
- 참고 문헌
- 8장. 피처 생성 자동화: 이미지 피처 추출과 딥러닝
- 가장 단순한 이미지 피처(그리고 이것이 동작하지 않는 이유)
- 수동 피처 추출: SIFT와 HOG
- 이미지 그래디언트
- 그래디언트 오리엔테이션 히스토그램
- SIFT 아키텍처
- 심층 신경망으로 이미지 피처 학습
- 완전 연결 계층
- 컨볼루션 계층
- ReLU 변환
- 응답 정규화 계층
- 풀링 계층
- AlexNet의 구조
- 요약
- 참고 문헌
- 9장. 다시 피처로: 학술 논문 추천 시스템 구축
- 항목 기반 협업 필터링
- 첫 번째 단계: 데이터 가져오기, 정제하기, 피처 파싱하기
- 학술 논문 추천 시스템: 단순 접근법
- 두 번째 단계: 피처 엔지니어링과 더 똑똑한 모델
- 학술 논문 추천 시스템: 테이크 2
- 세 번째 단계: 추가 피처 = 추가 정보
- 학술 논문 추천 시스템: 테이크 3
- 요약
- 참고 문헌
- 부록 A. 선형 모델링과 선형대수 기초
- 선형 분류 개관
- 행렬 분석
- 벡터에서 부분공간으로
- 특이값 분해
- 데이터 행렬의 기본적인 네 가지 부분공간
- 선형 시스템 풀이
- 참고 문헌
도서 오류 신고
정오표
정오표
[p. 85]
의미하다.
->
의미한다.
[p. 88]
시그널과 노이즈를
->
의미있는 신호와 잡음을
[p. 98 : 일괄 변경]
헤드가
->
앞면이
[p. 110 : 그림 4-2]
it is a cat
->
(삭제)
[p. 164]
처음 k개의 왼쪽
->
처음 k개의 오른쪽
[p. 165]
처음 k개의 오른쪽
->
처음 k개의 왼쪽
[p. 169]
Zzca(윗첨자)
->
ZZCA(아래첨자)