파이썬을 활용한 비지도 학습 [비구조 데이터로부터 숨겨진 패턴과 관계 찾기]
- 원서명Applied Unsupervised Learning with Python: Discover hidden patterns and relationships in unstructured data with Python (ISBN 9781789952292)
- 지은이벤자민 존스턴(Benjamin Johnston), 애런 존스(Aaron Jones), 크리스토퍼 크루거(Christopher Kruger)
- 옮긴이조경빈
- ISBN : 9791161753652
- 35,000원
- 2019년 11월 29일 펴냄
- 페이퍼백 | 528쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 데이터 과학
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/unsupervised-learning-python
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
다양한 예제를 통해 파이썬을 사용한 비지도 학습을 자세하고 친절하게 설명한다. 머신 러닝을 잘 모르는 독자라도 이 책을 따라가다 보면 손쉽게 비지도 학습의 개념을 이해하고 자연스럽게 자신만의 데이터로 흥미로운 분석을 시도하게 될 것이다.
이 책에서 다루는 내용
■ 클러스터링의 기본과 중요성 이해
■ 기본 제공 패키지를 사용해 처음부터 k-평균, 계층적 및 DBSCAN 클러스터링 알고리즘 구축
■ 차원 축소 및 적용
■ Scikit-learn으로 Iris 데이터셋에서 PCA 구현 및 분석
■ Keras로 CIFAR-10 데이터셋용 오토인코더 모델 구축
■ 머신 러닝 익스텐션(Mlxtend)을 사용한 Apriori 알고리즘으로 거래 데이터 연구
이 책의 대상 독자
비지도 학습에 관심 있는 개발자, 데이터 과학자와 머신 러닝에 관심 있는 독자를 위한 책이다. 지수나 제곱근, 평균, 중위값 등을 포함한 수학 개념의 기초 지식과 함께 파이썬 프로그래밍 관련 지식이 필요하다.
목차
목차
- 1장. 클러스터링 소개
- 소개
- 비지도 학습과 지도 학습의 차이
- 클러스터링
- 클러스터 식별
- 2차원 데이터
- 연습 1: 데이터에서 클러스터 인식
- k-평균 클러스터링 소개
- 수학이 필요 없는 k-평균 연습
- k-평균 클러스터링 심화 연습
- 대안 거리 메트릭-맨해튼 거리
- 더 깊은 차원
- 연습 2: 파이썬으로 유클리드 거리 계산
- 연습 3: 거리 개념으로 클러스터 구성
- 연습 4: 직접 k-평균 구현
- 연습 5: 최적화를 통한 k-평균 구현
- 클러스터링 성능: 실루엣 점수
- 연습 6: 실루엣 점수 계산
- 활동 1: k-평균 클러스터링 구현
- 요약
- 2장. 계층적 클러스터링
- 소개
- 클러스터링 다시 살펴보기
- k-평균 다시 살펴보기
- 계층 구조
- 계층적 클러스터링 소개
- 계층적 클러스터링 수행 단계
- 계층적 클러스터링 연습 예제
- 연습 7: 계층 구성
- 연결
- 활동 2: 연결 기준 적용
- 응집 vs 분산 클러스터링
- 연습 8: scikit-learn을 사용한 응집 클러스터링 구현
- 활동 3: 계층적 클러스터링과 k-평균 비교
- k-평균 vs 계층적 클러스터링
- 요약
- 소개
- 3장. 이웃 접근과 DBSCAN
- 소개
- 이웃으로서의 클러스터
- DBSCAN 소개
- DBSCAN 심화 학습
- DBSCAN 알고리즘 연습
- 연습 9: 이웃 반경 크기의 영향 평가
- DBSCAN 속성 - 이웃 반경
- 활동 4: DBSCAN 처음부터 구현
- DBSCAN 속성-최소 지점 수
- 연습 10: 최소 지점 수의 영향 평가
- 활동 5: DBSCAN과 k-평균 그리고 계층적 클러스터링 비교
- DBSCAN 대 k-평균과 계층적 클러스터링
- 요약
- 소개
- 4장. 차원 축소와 PCA
- 소개
- 차원 축소란 무엇인가?
- 차원 축소 적용
- 차원의 저주
- 차원 축소 기법 개요
- 차원 축소와 비지도 학습
- PCA
- 평균
- 표준편차
- 공분산
- 공분산 행렬
- 연습 11: 통계의 기본 개념 이해
- 고윳값 및 고유 벡터
- 연습 12: 고윳값 및 고유 벡터 계산
- PCA 처리 절차
- 연습 13: PCA 수동 실행
- 연습 14: Scikit-Learn PCA
- 활동 6: 수동 PCA와 scikit-learn 비교
- 압축된 데이터셋 복원
- 연습 15: 수동 PCA로 분산 감소 시각화
- 연습 16: 분산 감소 시각화
- 연습 17: Matplotlib에서 3D 도표 그리기
- 활동 7: 확장된 아이리스 데이터셋을 사용한 PCA
- 요약
- 소개
- 5장. 오토인코더
- 소개
- 인공 신경망 기초
- 뉴런
- Sigmoid 함수
- 정류 선형 단위
- 연습 18: 인공 신경망의 뉴런 모델링
- 활동 8: ReLU 활성화 함수를 사용한 뉴런 모델링
- 신경망: 구조 정의
- 연습 19: Keras 모델 정의
- 신경망: 학습
- 연습 20: Keras 신경망 훈련
- 활동 9: MNIST 신경망
- 오토인코더
- 연습 21: 간단한 오토인코더
- 활동 10: 간단한 MNIST 오토인코더
- 연습 22: 다중 계층 오토인코더
- 컨볼루셔널 신경망
- 연습 23: 컨볼루셔널 오토인코더
- 활동 11: MNIST 컨볼루셔널 오토인코더
- 요약
- 6장. t-분포 확률적 이웃 임베딩
- 소개
- 확률적 이웃 임베딩
- t-분포 확률적 이웃 임베딩
- 연습 24: t-SNE MNIST
- 활동 12: 와인 t-SNE
- t-SNE 도표 해석
- 퍼플렉서티
- 연습 25: t-SNE MNIST와 퍼플렉서티
- 활동 13: t-SNE 와인과 퍼플렉서티
- 이터레이션
- 연습 26: t-SNE MNIST와 반복
- 활동 14: t-SNE 와인과 이터레이션
- 시각화에 대한 최종 의견
- 요약
- 7장. 토픽 모델링
- 소개
- 토픽 모델
- 연습 27: 환경 설정
- 토픽 모델 개요
- 비즈니스 활용
- 연습 28: 데이터 로딩
- 텍스트 데이터 정리
- 데이터 정리 기법
- 연습 29: 단계별 데이터 정리
- 연습 30: 데이터 정리 마무리
- 활동 15: 트위터 데이터 로딩 및 정리
- 잠재 디리클레 할당
- 변분 추론
- 백오브워즈
- 연습 31: 카운트 벡터라이저를 사용한 백오브워즈 모델 생성
- 퍼플렉서티
- 연습 32: 주제의 수 선택
- 연습 33: 잠재 디리클레 할당 실행
- 연습 34: LDA 시각화
- 연습 35: 4개 주제 시도
- 활동 16: 잠재 디리클레 할당과 건강 트윗
- 백오브워즈 추가 사항
- 연습 36: TF-IDF를 사용한 백오브워즈 생성
- 음수 미포함 행렬 분해
- 프로베니우스 놈
- 증배 갱신
- 연습 37: 음수 미포함 행렬 분해
- 연습 38: NMF 시각화
- 활동 17: 음수 미포함 행렬 분해
- 요약
- 소개
- 8장. 장바구니 분석
- 소개
- 장바구니 분석
- 활용 사례
- 중요한 확률 지표
- 연습 39: 샘플 거래 데이터 생성
- 지지도
- 신뢰도
- 향상도와 레버리지
- 확신
- 연습 40: 지표 계산
- 거래 데이터의 특징
- 연습 41: 데이터 불러오기
- 데이터 정리 및 형식화
- 연습 42: 데이터 정리 및 포매팅
- 데이터 인코딩
- 연습 43: 데이터 인코딩
- 활동 18: 전체 온라인 소매 데이터의 로딩과 준비
- Apriori 알고리즘
- 계산 수정
- 연습 44: Apriori 알고리즘 실행
- 활동 19: 전체 온라인 소매 데이터셋에 Apriori 적용
- 연관 규칙
- 연습 45: 연관 규칙 도출
- 활동 20: 전체 온라인 소매 데이터셋의 연관 규칙 찾기
- 요약
- 9장. 핫스팟 분석
- 소개
- 공간 통계
- 확률 밀도 함수
- 산업에 핫스팟 분석 사용
- 커널 밀도 추정
- 대역폭 값
- 연습 46: 대역폭 값의 효과
- 최적의 대역폭 선택
- 연습 47: 그리드 검색을 사용한 최적 대역폭 선택
- 커널 함수
- 연습 48: 커널 함수의 효과
- 커널 밀도 추정 도출
- 연습 49: 커널 밀도 추정의 도출 시뮬레이션
- 활동 21: 1차원에서의 밀도 추정
- 핫스팟 분석
- 연습 50: Seaborn으로 데이터 로드 및 모델링
- 연습 51: 베이스맵 작업
- 활동 22: 런던에서의 범죄 분석
- 요약
- 소개
- 부록