책소개
데이터 과학자가 알아야 하는 거의 모든 것프로그래밍 경험은 많지만 통계나 데이터 분석을 잘 모르거나, 반대로 이론은 잘 알지만 실제로 데이터를 다루는 프로그래밍 경험이 없다면 데이터 과학을 어떻게 공부해야 할지 막막하기 마련입니다. 이 책은 데이터 과학자의 실무에 필요한 컴퓨터 공학 및 프로그래밍을 자세히 소개합니다. 또 널리 사용하는 머신러닝 알고리즘에 대한 직관적 설명, 수학적 배경, 실제 사례를 다룹니다. 데이터 과학에서 필수인 시각화 방법과 도구, 데이터를 해석하는 데 필요한 확률과 통계도 다룹니다. 마지막으로 데이터 과학 업무 결과를 정리하고 소통하는 노하우를 소개합니다. 이 책은 데이터 과학자가 알아야 하는 내용을 빠르고 체계적으로 전달하는 최고의 안내서입니다.
목차
CHAPTER 1 데이터 과학 유니콘이 되자!1.1 데이터 과학자는 단지 연봉이 높은 통계학자일 뿐이다?1.2 왜 파이썬을 쓰나요?1.3 한마디 더[Part 1 데이터 과학 필수 요소]CHAPTER 2 큰 그림으로 보는 데이터 과학2.1 문제 파악2.2 데이터 분석 및 이해 - 기초2.3 데이터 분석 및 이해 - 전처리2.4 데이터 분석 및 이해 - 데이터 탐험2.5 특징값 추출2.6 모델 수집 및 분석2.7 결과 정리 및 발표2.8 코드 배포2.9 반복 작업2.10 주요 용어CHAPTER 3 프로그래밍 언어3.1 왜 프로그래밍 언어를 사용해야 하나요? 다른 대안은 없나요?3.2 데이터 과학에서 사용하는 프로그래밍 언어3.3 파이썬 속성 코스3.4 문자열 데이터3.5 함수 정의하기3.6 파이썬의 공학용 라이브러리3.7 개발 환경 및 라이브러리 소개3.8 파이썬 관련 문서 및 참고 자료3.9 더 알아보기3.10 주요 용어CHAPTER 4 데이터 먼징 : 문자열 다루기, 정규표현식, 데이터 정리하기4.1 생애 최악의 데이터셋4.2 실수를 예방하는 방법4.3 데이터 자체의 문제4.4 데이터 형식 문제4.5 데이터 형식 정리 예제4.6 정규표현식4.7 실제 현장 이야기4.8 더 알아보기4.9 주요 용어CHAPTER 5 시각화와 대푯값5.1 파이썬의 시각화 도구5.2 아이리스 데이터셋5.3 원형 차트5.4 막대그래프5.5 히스토그램5.6 평균, 표준편차, 중간값, 백분위5.7 상자그림5.8 산포도5.9 산포도와 로그 축5.10 산포 행렬5.11 히트맵5.12 상관관계5.13 안스콤 쿼텟 데이터셋과 대푯값의 한계5.14 시계열 데이터5.15 더 알아보기5.16 주요 용어CHAPTER 6 머신러닝 개론6.1 역사적 맥락6.2 지도학습과 비지도학습6.3 학습 데이터, 시험 데이터, 과적합6.4 더 알아보기6.5 주요 용어CHAPTER 7 특징값 추출7.1 일반 특징값7.2 데이터 표본 여러 개의 대푯값7.3 복잡한 특징값7.4 어떤 특징값을 예측할지 결정하기CHAPTER 8 머신러닝과 분류8.1 분류기란?8.2 현실적인 고려사항8.3 이진 분류와 다범주 분류8.4 예제 코드8.5 다양한 분류기의 특징8.6 분류기 평가하기8.7 분류 기준값 정하기8.8 더 알아보기8.9 주요 용어CHAPTER 9 의사소통과 문서화9.1 일반적인 원칙9.2 슬라이드 작성9.3 보고서 작성9.4 발표하기9.5 코드 문서 작성하기9.6 더 알아보기9.7 주요 용어[Part 2 데이터 과학 확장팩]CHAPTER 10 비지도학습 : 군집화와 차원 축소10.1 고차원의 저주10.2 아이겐페이스와 차원 축소 예제10.3 주성분 분석10.4 스크리 도표와 차원 이해하기10.5 요인 분석10.6 주성분 분석의 한계10.7 군집화10.8 더 알아보기10.9 주요 용어CHAPTER 11 회귀11.1 당뇨 진행 상황 예측 예제11.2 최소제곱법11.3 비선형 커브피팅11.4 커브피팅 평가 : R2과 상관관계11.5 오차의 상관관계11.6 선형 회귀11.7 라소 회귀와 특징값 선정11.8 더 알아보기11.9 주요 용어CHAPTER 12 데이터 인코딩과 파일 형식12.1 일반적인 데이터 형식12.2 CSV 파일12.3 JSON 파일12.4 XML 파일12.5 HTML 파일12.6 Tar 묶음 파일12.7 Gzip 파일12.8 Zip 파일12.9 이미지 파일 형식12.10 바이트 데이터12.11 정수형12.12 실수형12.13 텍스트 데이터12.14 더 알아보기12.15 주요 용어CHAPTER 13 빅데이터13.1 빅데이터가 정확히 뭔가요?13.2 하둡과 하둡 파일시스템13.3 HDFS 사용하기13.4 파이스파크 예제 코드13.5 스파크 둘러보기13.6 스파크 연산13.7 파이스파크를 실행하는 두 가지 방법13.8 스파크 설정하기13.9 파이스파크 : 더 깊이 살펴보기13.10 스파크 : 팁과 주의사항13.11 맵리듀스 패러다임13.12 성능 개선을 위한 고려사항13.13 더 알아보기13.14 주요 용어CHAPTER 14 데이터베이스14.1 관계형 데이터베이스와 MySQL14.2 키-값 저장소14.3 와이드 컬럼 저장소14.4 문서 저장소14.5 더 알아보기14.6 주요 용어CHAPTER 15 좋은 프로그래밍 습관 기르기15.1 코딩 스타일15.2 버전 관리와 깃15.3 테스트 코드15.4 테스트 주도 개발 방법론15.5 애자일 방법론15.6 더 알아보기15.7 주요 용어CHAPTER 16 자연어 처리16.1 자연어 처리가 필요한 상황16.2 언어와 통계16.3 주식 관련 신문 기사의 감정 분석 예제16.4 자연어 처리 소프트웨어 및 데이터셋16.5 토큰화16.6 BoW 특징값16.7 단어 빈도와 문서 빈도 역수16.8 n-그램16.9 불용어16.10 표제어 추출과 공통부분 추출16.11 동의어 처리16.12 품사 태깅16.13 그 외 문제들16.14 자연어 처리 심화과정16.15 더 알아보기16.16 주요 용어CHAPTER 17 시계열 데이터 분석17.1 위키피디아 조회수 예측 예제17.2 시계열 데이터 분석 순서17.3 시계열 데이터와 타임스탬프 데이터 비교17.4 내삽법과 외삽법17.5 신호 스무딩17.6 간단한 데이터 전처리17.7 추세와 주기성17.8 윈도 적용17.9 시계열 데이터의 특징값 추출17.10 특징값 추출 심화 과정17.11 푸리에 분석17.12 시계열 데이터와 특징값17.13 더 알아보기17.14 주요 용어CHAPTER 18 확률18.1 동전 던지기와 베르누이 확률변수18.2 다트 던지기와 균등확률변수18.3 균등분포와 유사난수18.4 비이산 불연속 확률변수18.5 표기법, 기댓값, 표준편차18.6 종속성, 주변확률, 조건부확률18.7 확률분포의 꼬리18.8 이항분포18.9 푸아송 분포18.10 정규분포18.11 다차원 정규분포18.12 지수분포18.13 로그 정규분포18.14 엔트로피18.15 더 알아보기18.16 주요 용어CHAPTER 19 통계19.1 데이터 과학과 통계학19.2 베이지언과 빈도론자의 비교19.3 가설검정19.4 다중 가설검정19.5 매개변수 추정19.6 t 검정19.7 신뢰구간19.8 베이지안 통계학19.9 나이브 베이즈19.10 베이지안 네트워크19.11 선험적 확률 추정19.12 더 알아보기19.13 주요 용어CHAPTER 20 프로그래밍 언어의 주요 개념20.1 프로그래밍 방법론20.2 컴파일과 인터프리팅20.3 자료형 체계20.4 더 알아보기20.5 주요 용어CHAPTER 21 알고리즘의 성능과 메모리 관리21.1 예제 코드21.2 알고리즘의 성능과 빅오표기법21.3 정렬 알고리즘과 이진검색21.4 평균복잡도와 분할상환분석21.5 오버헤드 줄이기, 메모리 관리21.6 팁 : 수치연산 라이브러리를 이용하자21.7 팁 : 사용하지 않는 대용량 객체를 삭제한다21.8 팁 : 가능하면 내장 함수를 사용한다21.9 팁 : 불필요한 함수 호출을 자제한다21.10 팁 : 덩치가 큰 객체는 가급적 새로 만들지 않는다21.11 더 알아보기21.12 주요 용어[Part 3 데이터 과학 특수 분야]CHAPTER 22 컴퓨터 메모리와 자료구조22.1 가상 메모리22.2 C 언어 예제22.3 자료형과 배열22.4 구조체22.5 포인터, 스택, 힙22.6 주요 자료구조22.7 더 알아보기22.8 주요 용어CHAPTER 23 최대 우도 추정과 최적화23.1 최대 우도 추정23.2 커브피팅 예제23.3 로지스틱 회귀 예제23.4 최적화23.5 경사 하강법과 볼록 최적화23.6 볼록 최적화23.7 확률 경사 하강법23.8 더 알아보기23.9 주요 용어CHAPTER 24 고급 분류기24.1 라이브러리 선정24.2 딥러닝 기초24.3 합성곱신경망24.4 텐서24.5 MNIST 숫자 필기 인식24.6 순환신경망24.7 베이지안 네트워크24.8 학습 및 예측24.9 마르코프 연쇄 몬테카를로 방법24.10 파이엠시 예제24.11 더 알아보기24.12 주요 용어CHAPTER 25 확률 과정25.1 마르코프 연쇄25.2 마르코프 연쇄의 종류25.3 마르코프 연쇄 몬테카를로25.4 은닉 마르코프 모델25.5 비터비 알고리즘25.6 랜덤워크25.7 브라운 운동25.8 ARMA 모델25.9 연속 마르코프 과정25.10 푸아송 과정25.11 더 알아보기25.12 주요 용어