▣ 1장: 파이썬 기반의 머신러닝과 생태계 이해
01. 머신러닝의 개념
___머신러닝의 분류
___데이터 전쟁
___파이썬과 R 기반의 머신러닝 비교
02. 파이썬 머신러닝 생태계를 구성하는 주요 패키지
___파이썬 머신러닝을 위한 S/W 설치
03. 넘파이
___넘파이 ndarray 개요
___ndarray의 데이터 타입
___ndarray를 편리하게 생성하기 - arange, zeros, ones
___ndarray의 차원과 크기를 변경하는 reshape( )
___넘파이의 ndarray의 데이터 세트 선택하기 - 인덱싱(Indexing)
___행렬의 정렬 - sort( )와 argsort( )
___선형대수 연산 - 행렬 내적과 전치 행렬 구하기
04. 데이터 핸들링 - 판다스
___판다스 시작 - 파일을 DataFrame으로 로딩, 기본 API
___DataFrame과 리스트, 딕셔너리, 넘파이 ndarray 상호 변환
___DataFrame의 칼럼 데이터 세트 생성과 수정
___DataFrame 데이터 삭제
___Index 객체
___데이터 셀렉션 및 필터링
___정렬, Aggregation 함수, GroupBy 적용
___결손 데이터 처리하기
___apply lambda 식으로 데이터 가공
05. 정리
▣ 2장: 사이킷런으로 시작하는 머신러닝
01. 사이킷런 소개와 특징
02. 첫 번째 머신러닝 만들어 보기 - 붓꽃 품종 예측하기
03. 사이킷런의 기반 프레임워크 익히기
___Estimator 이해 및 fit( ), predict( ) 메서드
___사이킷런의 주요 모듈
___내장된 예제 데이터 세트
04. Model Selection 모듈 소개
___학습/테스트 데이터 세트 분리 - train_test_split()
___교차 검증
___GridSearchCV - 교차 검증과 최적 하이퍼 파라미터 튜닝을 한 번에 111
05. 데이터 전처리
___데이터 인코딩
___피처 스케일링과 정규화
___StandardScaler
___MinMaxScaler
___학습 데이터와 테스트 데이터의 스케일링 변환 시 유의점
06. 사이킷런으로 수행하는 타이타닉 생존자 예측
07. 정리
▣ 3장: 평가
01. 정확도(Accuracy)
02. 오차 행렬
03. 정밀도와 재현율
___정밀도/재현율 트레이드오프
___정밀도와 재현율의 맹점
04. F1 스코어
05. ROC 곡선과 AUC
06. 피마 인디언 당뇨병 예측
07. 정리
▣ 4장: 분류
01. 분류(Classification)의 개요
02. 결정 트리
___결정 트리 모델의 특징
___결정 트리 파라미터
___결정 트리 모델의 시각화
___결정 트리 과적합(Overfitting)
___결정 트리 실습 - 사용자 행동 인식 데이터 세트
03. 앙상블 학습
___앙상블 학습 개요
___보팅 유형 - 하드 보팅(Hard Voting)과 소프트 보팅(Soft Voting)
___보팅 분류기(Voting Classifier)
04. 랜덤 포레스트
___랜덤 포레스트의 개요 및 실습
___랜덤 포레스트 하이퍼 파라미터 및 튜닝
___GBM의 개요 및 실습
05. GBM(Gradient Boosting Machine)
___GBM 하이퍼 파라미터 소개
___XGBoost 개요
06. XGBoost(eXtra Gradient Boost)
___XGBoost 설치하기
___파이썬 래퍼 XGBoost 하이퍼 파라미터
___파이썬 래퍼 XGBoost 적용 - 위스콘신 유방암 예측
___사이킷런 래퍼 XGBoost의 개요 및 적용
07. LightGBM
___LightGBM 설치
___LightGBM 하이퍼 파라미터
___하이퍼 파라미터 튜닝 방안
___파이썬 래퍼 LightGBM과 사이킷런 래퍼 XGBoost,
___LightGBM 하이퍼 파라미터 비교
___LightGBM 적용 - 위스콘신 유방암 예측
08. 베이지안 최적화 기반의 HyperOpt를 이용한 하이퍼 파라미터 튜닝
___베이지안 최적화 개요
___HyperOpt 사용하기
___HyperOpt를 이용한 XGBoost 하이퍼 파라미터 최적화
09. 분류 실습 - 캐글 산탄데르 고객 만족 예측
___데이터 전처리
___XGBoost 모델 학습과 하이퍼 파라미터 튜닝
___LightGBM 모델 학습과 하이퍼 파라미터 튜닝
10. 분류 실습 - 캐글 신용카드 사기 검출
___언더 샘플링과 오버 샘플링의 이해
___데이터 일차 가공 및 모델 학습/예측/평가
___데이터 분포도 변환 후 모델 학습/예측/평가
___이상치 데이터 제거 후 모델 학습/예측/평가
___SMOTE 오버 샘플링 적용 후 모델 학습/예측/평가
11. 스태킹 앙상블
___기본 스태킹 모델
___CV 세트 기반의 스태킹
12. 정리
▣ 5장: 회귀
01. 회귀 소개
02. 단순 선형 회귀를 통한 회귀 이해
03. 비용 최소화하기 - 경사 하강법(Gradient Descent) 소개
04. 사이킷런 LinearRegression을 이용한 보스턴 주택 가격 예측
___LinearRegression 클래스 - Ordinary Least Squares
___회귀 평가 지표
___LinearRegression을 이용해 보스턴 주택 가격 회귀 구현
05. 다항 회귀와 과(대)적합/과소적합 이해
___다항 회귀 이해
___다항 회귀를 이용한 과소적합 및 과적합 이해
___편향-분산 트레이드오프(Bias-Variance Trade off)
06. 규제 선형 모델 - 릿지, 라쏘, 엘라스틱넷
___규제 선형 모델의 개요
___릿지 회귀
___라쏘 회귀
___엘라스틱넷 회귀
___선형 회귀 모델을 위한 데이터 변환
07. 로지스틱 회귀
08. 회귀 트리
09. 회귀 실습 - 자전거 대여 수요 예측
___데이터 클렌징 및 가공과 데이터 시각화
___로그 변환, 피처 인코딩과 모델 학습/예측/평가
10. 회귀 실습 - 캐글 주택 가격: 고급 회귀 기법
___데이터 사전 처리(Preprocessing)
___선형 회귀 모델 학습/예측/평가
___회귀 트리 모델 학습/예측/평가
___회귀 모델의 예측 결과 혼합을 통한 최종 예측
___스태킹 앙상블 모델을 통한 회귀 예측
11. 정리
▣ 6장: 차원 축소
01. 차원 축소(Dimension Reduction) 개요
02. PCA(Principal Component Analysis)
___PCA 개요
03. LDA(Linear Discriminant Analysis)
___LDA 개요
04. SVD(Singular Value Decomposition)
___SVD 개요
___사이킷런 TruncatedSVD 클래스를 이용한 변환
05. NMF(Non-Negative Matrix Factorization)
___NMF 개요
06. 정리
▣ 7장: 군집화
01. K-평균 알고리즘 이해
___사이킷런 KMeans 클래스 소개
___K-평균을 이용한 붓꽃 데이터 세트 군집화
___군집화 알고리즘 테스트를 위한 데이터 생성
02. 군집 평가(Cluster Evaluation)
___실루엣 분석의 개요
___붓꽃 데이터 세트를 이용한 군집 평가
___군집별 평균 실루엣 계수의 시각화를 통한 군집 개수 최적화 방법
03. 평균 이동
___평균 이동(Mean Shift)의 개요
04. GMM(Gaussian Mixture Model)
___GMM(Gaussian Mixture Model) 소개
___GMM을 이용한 붓꽃 데이터 세트 군집화
___GMM과 K-평균의 비교
05. DBSCAN
___DBSCAN 개요
___DBSCAN 적용하기 - 붓꽃 데이터 세트
___DBSCAN 적용하기 - make_circles( ) 데이터 세트
06. 군집화 실습 - 고객 세그먼테이션
___고객 세그먼테이션의 정의와 기법
___데이터 세트 로딩과 데이터 클렌징
___RFM 기반 데이터 가공
___RFM 기반 고객 세그먼테이션
07. 정리
▣ 8장 텍스트 분석
___NLP이냐 텍스트 분석이냐?
01. 텍스트 분석 이해
___텍스트 분석 수행 프로세스
___파이썬 기반의 NLP, 텍스트 분석 패키지
02. 텍스트 사전 준비 작업(텍스트 전처리) - 텍스트 정규화
___클렌징
___텍스트 토큰화
___스톱 워드 제거
___Stemming과 Lemmatization
03. Bag of Words - BOW
___BOW 피처 벡터화
___사이킷런의 Count 및 TF-IDF 벡터화 구현: CountVectorizer, TfidfVectorizer
___BOW 벡터화를 위한 희소 행렬
___희소 행렬 - COO 형식
___희소 행렬 - CSR 형식
04. 텍스트 분류 실습 - 20 뉴스그룹 분류
___텍스트 정규화
___피처 벡터화 변환과 머신러닝 모델 학습/예측/평가
___사이킷런 파이프라인(Pipeline) 사용 및 GridSearchCV와의 결합
05. 감성 분석
___감성 분석 소개
___지도학습 기반 감성 분석 실습 - IMDB 영화평
___비지도학습 기반 감성 분석 소개
___SentiWordNet을 이용한 감성 분석
___VADER를 이용한 감성 분석
06. 토픽 모델링(Topic Modeling) - 20 뉴스그룹
07. 문서 군집화 소개와 실습(Opinion Review 데이터 세트)
___문서 군집화 개념
___Opinion Review 데이터 세트를 이용한 문서 군집화 수행하기
___군집별 핵심 단어 추출하기
08. 문서 유사도
___문서 유사도 측정 방법 - 코사인 유사도
___두 벡터 사잇각
___Opinion Review 데이터 세트를 이용한 문서 유사도 측정
09. 한글 텍스트 처리 - 네이버 영화 평점 감성 분석
___한글 NLP 처리의 어려움
___KoNLPy 소개
___데이터 로딩
10. 텍스트 분석 실습 - 캐글 Mercari Price Suggestion Challenge
___데이터 전처리
___피처 인코딩과 피처 벡터화
___릿지 회귀 모델 구축 및 평가
___LightGBM 회귀 모델 구축과 앙상블을 이용한 최종 예측 평가
11. 정리
▣ 9장: 추천 시스템
01. 추천 시스템의 개요와 배경
___추천 시스템의 개요
___온라인 스토어의 필수 요소, 추천 시스템
___추천 시스템의 유형
02. 콘텐츠 기반 필터링 추천 시스템
03. 최근접 이웃 협업 필터링
04. 잠재 요인 협업 필터링
___잠재 요인 협업 필터링의 이해
___행렬 분해의 이해
___확률적 경사 하강법을 이용한 행렬 분해
05. 콘텐츠 기반 필터링 실습 - TMDB 5000 영화 데이터 세트
___장르 속성을 이용한 영화 콘텐츠 기반 필터링
___데이터 로딩 및 가공
___장르 콘텐츠 유사도 측정
___장르 콘텐츠 필터링을 이용한 영화 추천
06. 아이템 기반 최근접 이웃 협업 필터링 실습
___데이터 가공 및 변환
___영화 간 유사도 산출
___아이템 기반 최근접 이웃 협업 필터링으로 개인화된 영화 추천
07. 행렬 분해를 이용한 잠재 요인 협업 필터링 실습
___Surprise 패키지 소개
08. 파이썬 추천 시스템 패키지 - Surprise
___Surprise를 이용한 추천 시스템 구축
___Surprise 주요 모듈 소개
___Surprise 추천 알고리즘 클래스
___베이스라인 평점
___교차 검증과 하이퍼 파라미터 튜닝
___Surprise를 이용한 개인화 영화 추천 시스템 구축
09. 정리
▣ 10장: 시각화
01. 시각화를 시작하며 - 맷플롯립과 시본 개요
02. 맷플롯립(Matplotlib)
___맷플롯립의 pyplot 모듈의 이해
___pyplot의 두 가지 중요 요소 - Figure와 Axes 이해
___Figure와 Axis의 활용
___여러 개의 plot을 가지는 subplot들을 생성하기
___pyplot의 plot( ) 함수를 이용해 선 그래프 그리기
___축 명칭 설정, 축의 눈금(틱)값 회전, 범례(legend) 설정하기
___여러 개의 subplots들을 이용해 개별 그래프들을 subplot별로 시각화하기
03. 시본(Seaborn)
___시각화를 위한 차트/그래프 유형
___정보의 종류에 따른 시각화 차트 유형
___히스토그램(Histogram)
___카운트 플롯
___바 플롯(barplot)
___barplot( ) 함수의 hue 인자를 사용하여 시각화 정보를 추가적으로 세분화하기
___박스 플롯
___바이올린 플롯
___subplots를 이용하여 시본의 다양한 그래프를 시각화
___산점도, 스캐터 플롯(Scatter Plot)
___상관 히트맵(Correlation Heatmap)
04. 정리