▣ 1장: Jupyter - 파이썬에 날개를 달자 IPython과 Jupyter 시작하기 __IPython 셸 실행하기 __Jupyter 노트북 실행하기 __IPython의 도움말과 문서 __IPython 셸에서 사용할 수 있는 키보드 단축키 향상된 대화형 기능 __IPython 매직 명령어 __입력/출력 이력 __IPython과 셸 명령어 디버깅 및 프로파일링 __에러와 디버깅 __코드 프로파일링 및 시간 측정 __IPython 추가 참고 자료 ▣ 2장: NumPy 소개 파이썬의 데이터 타입 이해하기 __파이썬 정수는 정수 이상이다 __파이썬 리스트는 리스트 이상이다 __파이썬의 고정 타입 배열 __파이썬 리스트에서 배열 만들기 __처음부터 배열 만들기 __NumPy 표준 데이터 타입 NumPy 배열의 기초 __NumPy 배열 속성 지정 __배열 인덱싱: 단일 요소에 접근하기 __배열 슬라이싱: 하위 배열에 접근하기 __배열 재구조화 __배열 연결 및 분할 NumPy 배열 연산: 유니버설 함수 __루프는 느리다 __Ufuncs 소개 __NumPy 유니버설 함수(Ufuncs) __고급 Ufunc 기능 __Ufuncs: 더 알아보기 집계: 최솟값, 최댓값, 그리고 그사이의 모든 것 __배열의 값의 합 구하기 __최솟값과 최댓값 __예제: 미국 대통령의 평균 신장은 얼마일까? 배열 연산: 브로드캐스팅 __브로드캐스팅 소개 __브로드캐스팅 규칙 __실전 브로드캐스팅 비교, 마스크, 부울 로직 __예제: 비온 날 세기 __ufunc으로서의 비교 연산자 __부울 배열로 작업하기 __마스크로서의 부울 배열 __키워드 and/or vs. 연산자 &/| 사용하기 팬시 인덱싱 __팬시 인덱싱 알아보기 __결합 인덱싱 __예제: 임의의 점 선택하기 __팬시 인덱싱으로 값 변경하기 __예제: 데이터 구간화 배열 정렬 __NumPy의 빠른 정렬: np.sort와 np.argsort __행이나 열 기준으로 정렬하기 __부분 정렬: 파티션 나누기 __예제: k-최근접 이웃 알고리즘 구조화된 데이터: NumPy의 구조화된 배열 __구조화된 배열 만들기 __고급 복합 타입 __레코드 배열: 트위스트를 가진 구조화된 배열 __Pandas로 넘어가며 ▣ 3장: Pandas로 데이터 가공하기 Pandas 객체 소개 __Pandas Series 객체 __Pandas DataFrame 객체 __Pandas Index 객체 데이터 인덱싱과 선택 __Series에서 데이터 선택 __DataFrame에서 데이터 선택 Pandas에서 데이터 연산하기 __유니버설 함수: 인덱스 보존 __유니버설 함수: 인덱스 정렬 __유니버설 함수: DataFrame과 Series 간의 연산 누락된 데이터 처리하기 __누락된 데이터 처리 방식의 트레이드오프 __Pandas에서 누락된 데이터 __Pandas의 널러블(Nullable) 데이터 타입 __널 값 연산하기 계층적 인덱싱 __다중 인덱스된 Series __MultiIndex 생성 메서드 __MultiIndex 인덱싱 및 슬라이싱 __다중 인덱스 재정렬하기 데이터세트 결합: Concat과 Append __복습: NumPy 배열 연결 __pd.concat을 이용한 간단한 연결 데이터세트 결합하기: 병합과 조인 __관계 대수 __조인 작업의 분류 __병합 키 지정 __조인을 위한 집합 연산 지정하기 __열 이름이 겹치는 경우: suffixes 키워드 __예제: 미국 주 데이터 집계와 분류 __행성 데이터 __Pandas의 간단한 집계 연산 __GroupBy: 분할, 적용, 결합 피벗 테이블 __피벗 테이블 시작 __피벗 테이블 등장 배경 __피벗 테이블 구문 __예제: 출생률 데이터 벡터화된 문자열 연산 __Pandas 문자열 연산 소개 __Pandas 문자열 메서드 목록 __예제: 조리법 데이터베이스 시계열 다루기 __파이썬에서의 날짜와 시간 __Pandas 시계열: 시간으로 인덱싱하기 __Pandas 시계열 데이터 구조 __정규 시퀀스: pd.date_range() __주기와 오프셋 __리샘플링, 시프팅, 윈도잉 __예제: 시애틀 자전거 수 시각화 고성능 Pandas: eval()과 query() __query()와 eval()의 등장 배경: 복합 표현식 __효율적인 연산을 위한 pandas.eval() __열 단위의 연산을 위한 DataFrame.eval() __DataFrame.query() 메서드 __성능: 이 함수를 사용해야 하는 경우 __추가 자료 ▣ 04장: Matplotlib을 활용한 시각화 일반적인 Matplotlib 사용법 __matplotlib 임포트하기 __스타일 설정하기 __show()를 사용할 것인가, 말 것인가 - 플롯 표현 방법 간단한 라인 플롯 __플롯 수정하기: 선 색상과 스타일 __플롯 조정하기: 축 경계 __플롯에 레이블 붙이기 __Matplotlib 주의사항 간단한 산점도 __plt.plot을 사용한 산점도 __plt.scatter를 활용한 산점도 __plot과 scatter의 차이: 효율성 측면에서 유의할 점 __오차 시각화하기 밀도 플롯과 등고선 플롯 __3차원 함수 시각화하기 __히스토그램, 구간화, 밀도 __2차원 히스토그램과 구간화 플롯 범례 맞춤 변경하기 __범례에 사용할 요소 선택하기 __점 크기에 대한 범례 __다중 범례 색상 막대 맞춤 변경하기 __색상 막대 맞춤 변경하기 __예제: 손으로 쓴 숫자 다중 서브플롯 __plt.axes: 직접 만든 서브플롯 __plt.subplot: 간단한 서브플롯의 그리드 __plt.subplots: 한 번에 전체 그리드 만들기 __plt.GridSpec: 복잡한 배치 텍스트와 주석 __예제: 미국 출생률에 휴일이 미치는 영향 __변환 및 텍스트 위치 __화살표와 주석 눈금 맞춤 변경하기 __주 눈금과 보조 눈금 __눈금 또는 레이블 숨기기 __눈금 개수 줄이기와 늘리기 __팬시 눈금 포맷 __위치 지시자와 서식 지시자 요약 Matplotlib 맞춤변경하기: 설정과 스타일시트 __직접 플롯 변경하기 __기본값 변경하기: rcParams __스타일시트 Matplotlib에서 3차원 플로팅하기 __3차원 점과 선 __3차원 등고선 플롯 __와이어프레임과 표면도 __표면 삼각측량법 Seaborn을 활용한 시각화 __Seaborn 플롯 탐색하기 __예제: 마라톤 완주 시간 탐색 __추가 자료 __기타 파이썬 그래픽 라이브러리 ▣ 5장: 머신러닝 머신러닝이란 무엇인가? __머신러닝의 범주 __머신러닝 응용의 정성적 사례 __정리 Scikit-Learn 소개 __Scikit-Learn에서의 데이터 표현 방식 __Estimator API __응용: 손으로 쓴 숫자 탐색 __정리 초모수와 모델 검증 __모델 검증에 대한 고려사항 __최적의 모델 선택하기 __학습 곡선 __실제 검증: 그리드 검색 __정리 특징 공학 __범주 특징 __텍스트 특징 __이미지 특징 __유도 특징 __누락 데이터의 대체 __특징 파이프라인 심화 학습: 나이브 베이즈 분류 __베이즈 분류 __가우스 나이브 베이즈 __다항분포 나이브 베이즈 __언제 나이브 베이즈 모델을 사용할 것인가 심화 학습: 선형 회귀 __단순 선형 회귀 __기저 함수 회귀 __정규화 __예제: 자전거 통행량 예측 심화 학습: 서포트 벡터 머신 __서포트 벡터 머신의 동기 __서포트 벡터 머신: 마진 최대화 __예제: 안면 인식 __정리 심화 학습: 의사결정 트리와 랜덤 포레스트 __랜덤 포레스트 등장 배경: 의사결정 트리 __추정 모델의 앙상블: 랜덤 포레스트 __랜덤 포레스트 회귀 __예제: 랜덤 포레스트를 사용한 숫자 분류 __정리 심화 학습: 주성분 분석 __주성분 분석 소개 __PCA 응용: 노이즈 필터링 __예제: 고유얼굴 __정리 심화 학습: 다양체 학습 __다양체 학습: ‘HELLO’ __다차원 척도법(MDS, Multidimensional Sacling) __비선형 다양체 학습: 국소 선형 임베딩 __다양체 방식에 대한 몇 가지 생각 __예제: 얼굴 데이터에 아이소맵 적용 __예제: 숫자 데이터의 구조 시각화 심화 학습: k-평균 군집화 __k-평균 소개 __기댓값-최대화 __예제 심화 학습: 가우스 혼합 모델 __GMM 등장 배경: k-평균의 약점 __E-M 단계 일반화하기: 가우스 혼합 모델 __공분산 유형 선택하기 __밀도 추정에 GMM 사용하기 __예제: 새로운 데이터를 생성하는 GMM 심화 학습: 커널 밀도 추정 __KDE 등장 배경: 히스토그램 __커널 밀도 추정의 실제 적용 __교차 검증을 통한 대역폭 선택 __예제: 나이브하지 않은 베이즈(Not-So-Na?ve Bayes) 응용: 안면 인식 파이프라인 __HOG 특징 __실제 HOG: 간단한 안면 인식기 __주의사항 및 개선사항 __머신러닝 관련 추가 자료