실무로 통하는 ML 문제 해결 with 파이썬
전처리부터 딥러닝까지, 216개 실용 예제로 익히는 문제 해결 기법
저자: 카일 갤러틴, 크리스 알본 / 번역: 박해선 / 한빛미디어 / 출간: 2024-04-29
https://www.hanbit.co.kr/store/books/look.php?p_code=B2495961706
어쩌다 보니 이전에는 cookbook이라 불리는 책을 읽지 않았던 모양입니다. 다루는 수준과 범위과 독특하여, 어떻게 이런 책이 있을 수가 있는가 의아했습니다. 자세히 보니 cookbook이라고 적혀 있었군요. 부제에서 설명하는 대로 참 실용적인 코드로 가득합니다. 데이터를 준비하고 탐색하여 학습용 데이터로 가공하기, 정형 및 비정형 데이터 별로 모델을 학습하기, 여러 알고리듬 별로 모델을 튜닝하기, 모델 성능을 평가하고 서빙하기에 이르는 일련의 과정을 적절히 나누어 발췌독하기 쉬운 구성입니다.
입문서를 떼고 실전적인 코딩을 하다가 다시 기본적인 내용을 확인하고자 할 때에 정말 유용하겠습니다. 검색결과는 질의에 따라 너무 지엽적이고, ChatGPT류도 질문을 잘하지 않으면 쓸모 있게 대답하지 못합니다. 입문을 막 벗어나서는 오롯이 홀로서기 전까지 이러한 책이 탐구해 나가기에 쓸모있는 도구라고 봅니다.
논문을 쓰면서 자주 찾아 보게 될 듯하여 따로 챙겼습니다. 내가 뭘 놓쳤는지 어디에서 헤매고 있는지 통상적으로 헤쳐나가는 갈래길이 무엇인지 금세 파악하게 할 이정표가 되어주길 기대합니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
1장 벡터, 행렬, 배열
_1.0 소개
_1.1 벡터 만들기
_1.2 행렬 만들기
_1.3 희소 행렬 만들기
_1.4 넘파이 배열 사전 할당하기
_1.5 원소 선택하기
_1.6 행렬 정보 확인하기
_1.7 벡터화 연산 적용하기
_1.8 최댓값, 최솟값 찾기
_1.9 평균, 분산, 표준편차 계산하기
_1.10 배열 크기 바꾸기
_1.11 벡터나 행렬 전치하기
_1.12 행렬 펼치기
_1.13 행렬의 랭크 구하기
_1.14 행렬의 대각원소 추출하기
_1.15 행렬의 대각합 계산하기
_1.16 점곱 계산하기
_1.17 행렬 덧셈과 뺄셈
_1.18 행렬 곱셈
_1.19 역행렬
_1.20 난수 생성하기
2장 데이터 적재
_2.0 소개
_2.1 샘플 데이터셋 적재하기
_2.2 모의 데이터셋 만들기
_2.3 CSV 파일 적재하기
_2.4 엑셀 파일 적재하기
_2.5 JSON 파일 적재하기
_2.6 파케이 파일 적재하기
_2.7 아브로 파일 적재하기
_2.8 SQLite 데이터베이스로부터 적재하기
_2.9 원격 SQL 데이터베이스에 쿼리하기
_2.10 구글 시트에서 데이터 적재하기
_2.11 S3 버킷에서 데이터 적재하기
_2.12 비구조적인 데이터 적재하기
3장 데이터 랭글링
_3.0 소개
_3.1 데이터프레임 만들기
_3.2 데이터에 대한 정보 확인하기
_3.3 데이터프레임 슬라이싱하기
_3.4 조건에 따라 행 선택하기
_3.5 값 정렬하기
_3.6 값 치환하기
_3.7 열 이름 바꾸기
_3.8 최솟값, 최댓값, 합, 평균 계산 및 개수 세기
_3.9 고유한 값 찾기
_3.10 누락된 값 다루기
_3.11 열 삭제하기
_3.12 행 삭제하기
_3.13 중복된 행 삭제하기
_3.14 값에 따라 행을 그룹핑하기
_3.15 시간에 따라 행을 그룹핑하기
_3.16 연산 집계와 통계
_3.17 열 원소 순회하기
_3.18 모든 열 원소에 함수 적용하기
_3.19 그룹에 함수 적용하기
_3.20 데이터프레임 연결하기
_3.21 데이터프레임 병합하기
4장 수치형 데이터 다루기
_4.0 소개
_4.1 특성 스케일 바꾸기
_4.2 특성 표준화하기
_4.3 정규화하기
_4.4 다항 특성과 교차항 특성 생성하기
_4.5 특성 변환하기
_4.6 이상치 감지하기
_4.7 이상치 다루기
_4.8 특성 이산화하기
_4.9 군집으로 샘플을 그룹으로 묶기
_4.10 누락된 값을 가진 샘플 삭제하기
_4.11 누락된 값 채우기
5장 범주형 데이터 다루기
_5.0 소개
_5.1 순서가 없는 범주형 특성 인코딩하기
_5.2 순서가 있는 범주형 특성 인코딩하기
_5.3 특성 딕셔너리 인코딩하기
_5.4 누락된 클래스 값 대체하기
_5.5 불균형한 클래스 다루기
6장 텍스트 다루기
_6.0 소개
_6.1 텍스트 정제하기
_6.2 HTML 파싱과 정제하기
_6.3 구두점 삭제하기
_6.4 텍스트 토큰화하기
_6.5 불용어 삭제하기
_6.6 어간 추출하기
_6.7 품사 태깅하기
_6.8 개체명 인식 수행하기
_6.9 텍스트를 BoW로 인코딩하기
_6.10 단어 중요도에 가중치 부여하기
_6.11 텍스트 벡터를 사용해 검색 쿼리 텍스트의 유사도 계산하기
_6.12 감성 분석 분류기 사용하기
7장 날짜와 시간 다루기
_7.0 소개
_7.1 문자열을 날짜로 변환하기
_7.2 시간대 다루기
_7.3 날짜와 시간 선택하기
_7.4 날짜 데이터를 여러 특성으로 나누기
_7.5 날짜 간의 차이 계산하기
_7.6 요일 인코딩하기
_7.7 시차 특성 만들기
_7.8 이동 시간 윈도 사용하기
_7.9 시계열 데이터에서 누락된 값 다루기
8장 이미지 다루기
_8.0 소개
_8.1 이미지 로드하기
_8.2 이미지 저장하기
_8.3 이미지 크기 변경하기
_8.4 이미지 자르기
_8.5 이미지 흐리게 하기
_8.6 이미지 선명하게 하기
_8.7 대비 높이기
_8.8 색깔 구분하기
_8.9 이미지 이진화하기
_8.10 배경 제거하기
_8.11 윤곽선 감지하기
_8.12 모서리 감지하기
_8.13 머신러닝 특성 만들기
_8.14 컬러 히스토그램을 특성으로 인코딩하기
_8.15 사전 훈련된 임베딩을 특성으로 사용하기
_8.16 OpenCV로 객체 탐지하기
_8.17 파이토치로 이미지 분류하기
9장 특성 추출을 사용한 차원 축소
_9.0 소개
_9.1 주성분을 사용해 특성 줄이기
_9.2 선형적으로 구분되지 않은 데이터의 차원 축소하기
_9.3 클래스 분리를 최대화하여 특성 줄이기
_9.4 행렬 분해를 사용하여 특성 줄이기
_9.5 희소한 데이터의 특성 줄이기
10장 특성 선택을 사용한 차원 축소
_10.0 소개
_10.1 분산을 기준으로 수치 특성 선택하기
_10.2 분산을 기준으로 이진 특성 선택하기
_10.3 상관관계가 큰 특성 다루기
_10.4 분류 작업에 관련 없는 특성 삭제하기
_10.5 재귀적 특성 제거하기
11장 모델 평가
_11.0 소개
_11.1 교차검증 모델 만들기
_11.2 기본 회귀 모델 만들기
_11.3 기본 분류 모델 만들기
_11.4 이진 분류기의 예측 평가하기
_11.5 이진 분류기 임곗값 평가하기
_11.6 다중클래스 분류기 예측 평가하기
_11.7 분류기 성능 시각화하기
_11.8 회귀 모델 평가하기
_11.9 군집 모델 평가하기
_11.10 사용자 정의 평가 지표 만들기
_11.11 훈련 세트 크기에 따른 영향 시각화하기
_11.12 평가 지표 리포트 만들기
_11.13 하이퍼파라미터 값의 영향 시각화하기
12장 모델 선택
_12.0 소개
_12.1 완전 탐색을 사용해 최선의 모델 선택하기
_12.2 랜덤 탐색을 사용해 최선의 모델 선택하기
_12.3 여러 학습 알고리즘에서 최선의 모델 선택하기
_12.4 전처리와 함께 최선의 모델 선택하기
_12.5 병렬화로 모델 선택 속도 높이기
_12.6 알고리즘에 특화된 기법을 사용해 모델 선택 수행 속도 높이기
_12.7 모델 선택 후 성능 평가하기
13장 선형 회귀
_13.0 소개
_13.1 직선 학습하기
_13.2 교차 특성 다루기
_13.3 비선형 관계 학습하기
_13.4 규제로 분산 줄이기
_13.5 라소 회귀로 특성 줄이기
14장 트리와 랜덤 포레스트
_14.0 소개
_14.1 결정 트리 분류기 훈련하기
_14.2 결정 트리 회귀 훈련하기
_14.3 결정 트리 모델 시각화하기
_14.4 랜덤 포레스트 분류기 훈련하기
_14.5 랜덤 포레스트 회귀 훈련하기
_14.6 OOB 데이터로 랜덤 포레스트 평가하기
_14.7 랜덤 포레스트에서 중요한 특성 구분하기
_14.8 랜덤 포레스트에서 중요한 특성 선택하기
_14.9 불균형한 클래스 다루기
_14.10 트리 크기 제어하기
_14.11 부스팅을 사용해 성능 향상하기
_14.12 XGBoost 모델 훈련하기
_14.13 LightGBM으로 실시간 성능 향상하기
15장 k-최근접 이웃
_15.0 소개
_15.1 샘플의 최근접 이웃 찾기
_15.2 k-최근접 이웃 분류기 만들기
_15.3 최선의 이웃 개수 결정하기
_15.4 반지름 기반의 최근접 이웃 분류기 만들기
_15.5 근사 최근접 이웃 찾기
_15.6 근사 최근접 이웃 평가하기
16장 로지스틱 회귀
_16.0 소개
_16.1 이진 분류기 훈련하기
_16.2 다중 클래스 분류기 훈련하기
_16.3 규제로 분산 줄이기
_16.4 대용량 데이터에서 분류기 훈련하기
_16.5 불균형한 클래스 다루기
17장 서포트 벡터 머신
_17.0 소개
_17.1 선형 분류기 훈련하기
_17.2 커널을 사용해 선형적으로 구분되지 않는 클래스 다루기
_17.3 예측 확률 계산하기
_17.4 서포트 벡터 식별하기
_17.5 불균형한 클래스 다루기
18장 나이브 베이즈
_18.0 소개
_18.1 연속적인 특성으로 분류기 훈련하기
_18.2 이산적인 카운트 특성으로 분류기 훈련하기
_18.3 이진 특성으로 나이브 베이즈 분류기 훈련하기
_18.4 예측 확률 보정하기
19장 군집
_19.0 소개
_19.1 k-평균을 사용한 군집
_19.2 k-평균 군집 속도 향상하기
_19.3 평균이동을 사용한 군집
_19.4 DBSCAN을 사용한 군집
_19.5 계층적 병합을 사용한 군집
20장 파이토치 텐서
_20.0 소개
_20.1 텐서 만들기
_20.2 넘파이로 텐서 만들기
_20.3 희소 텐서 만들기
_20.4 텐서 원소 선택하기
_20.5 텐서 구조 파악하기
_20.6 원소에 연산 적용하기
_20.7 최댓값과 최솟값 찾기
_20.8 텐서 크기 바꾸기
_20.9 텐서 전치하기
_20.10 텐서 펼치기
_20.11 점곱 계산하기
_20.12 텐서 곱셈
21장 신경망
_21.0 소개
_21.1 파이토치 자동미분 사용하기
_21.2 신경망을 위해 데이터 전처리하기
_21.3 신경망 구성하기
_21.4 이진 분류기 훈련하기
_21.5 다중 분류기 훈련하기
_21.6 회귀 모델 훈련하기
_21.7 예측하기
_21.8 훈련 기록 시각화하기
_21.9 가중치 규제로 과대적합 줄이기
_21.10 조기 종료로 과대적합 줄이기
_21.11 드롭아웃으로 과대적합 줄이기
_21.12 모델 훈련 진행 과정 저장하기
_21.13 신경망 튜닝하기
_21.14 신경망 시각화하기
22장 비정형 데이터를 위한 신경망
_22.0 소개
_22.1 이미지 분류 신경망 훈련하기
_22.2 텍스트 분류 신경망 훈련하기
_22.3 이미지 분류를 위해 사전 훈련된 모델 미세 튜닝하기
_22.4 텍스트 분류를 위해 사전 훈련된 모델 미세 튜닝하기
23장 훈련 모델의 저장, 로딩, 서빙
_23.0 소개
_23.1 사이킷런 모델 저장하고 로드하기
_23.2 텐서플로 모델 저장하고 로드하기
_23.3 파이토치 모델 저장하고 로드하기
_23.4 사이킷런 모델 서빙하기
_23.5 텐서플로 모델 서빙하기
_23.6 셀던으로 파이토치 모델 서빙하기
찾아보기
'BI > 인공지능' 카테고리의 다른 글
지식을 활용하려는 조직은 AI 활용 검색이 필수이다 (0) | 2024.06.19 |
---|---|
품질을 생각하면 아직은 인간 전문가가 필요하다 (0) | 2024.05.25 |
Intel은 기회를 만난 것인가 (0) | 2024.05.25 |