데이터 분석을 위한 줄리아

시계열 데이터, 예측 모델, 랭킹 등 핸즈온 프로젝트로 마스터하는 줄리아 데이터 분석
$45.89
SKU
9791192987651
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Thu 12/5 - Wed 12/11 (주문일로부 10-14 영업일)

Express Shipping estimated by Mon 12/2 - Wed 12/4 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2024/03/21
Pages/Weight/Size 188*245*26mm
ISBN 9791192987651
Categories IT 모바일 > OS/데이터베이스
Description
줄리아 언어 입문부터 데이터프레임, 시각화, 예측 모델, 파이프라인까지

데이터 과학을 위해 태어난 언어 줄리아를 제대로 익히고 우아하게 데이터 분석 실무를 처리하는 방법을 알려주는 책이다. 언어의 기초부터 시작해서 데이터 변환, 시각화, 데이터프레임 조작 등을 익히며 환율, 시계열 데이터, 체스 퍼즐 등 실세계 데이터셋을 통해 등 데이터 분석 스킬과 파이프라인을 마스터할 수 있다. 스택오버플로의 줄리아 관련 1위 답변자이자 줄리아의 핵심 데이터 패키지인 DataFrames.jl의 리드 개발자 보구밀 카민스키가 집필한, 줄리아 데이터 분석의 명실상부한 바이블이다.
Contents
옮긴이 머리말 xii
베타리더 후기 xiv
추천 서문 xvi
시작하며 xviii
감사의 글 xviii
이 책에 대하여 xxii
표지에 대하여 xxvii

CHAPTER 1 소개 1
1.1 줄리아란 무엇이며 왜 유용한가 2
1.2 데이터 과학자 관점에서 본 줄리아의 주요 특징 6
__1.2.1 줄리아는 컴파일 언어이기에 빠르다 7
__1.2.2 줄리아는 대화형 워크플로를 완벽하게 지원한다 8
__1.2.3 줄리아 프로그램은 재사용성이 높고 서로 조합하기 쉽다 9
__1.2.4 줄리아는 최첨단 패키지 관리자를 내장한다 10
__1.2.5 줄리아는 기존 코드와 통합하기 쉽다 11
1.3 이 책에서 다루는 도구들의 사용 시나리오 11
1.4 줄리아의 단점 13
1.5 어떤 데이터 분석 기술을 배우는가 15
1.6 데이터 분석에 줄리아를 어떻게 사용하는가 16
요약 18

P A R T I 줄리아 필수 기술

CHAPTER 2 줄리아 시작하기 21
2.1 값 표현하기 22
2.2 변수 정의하기 26
2.3 가장 중요한 제어 흐름 구조 사용하기 28
__2.3.1 불리언 조건에 따른 계산 29 / 2.3.2 루프 36 / 2.3.3 복합 표현식 38
__2.3.4 윈저화 평균을 계산하는 첫 번째 방법 40
2.4 함수 정의하기 42
__2.4.1 function 키워드를 사용하여 함수 정의하기 42
__2.4.2 함수의 위치 인수와 키워드 인수 43 / 2.4.3 함수에 인수를 전달하는 규칙 45
__2.4.4 함수 정의를 위한 단축 구문 46 / 2.4.5 익명 함수 47
__2.4.6 do 블록 48 / 2.4.7 줄리아의 함수 명명 규칙 49
__2.4.8 윈저화 평균을 계산하는 함수를 간단하게 정의하기 50
2.5 변수 범위 규칙 이해하기 51
요약 56

CHAPTER 3 프로젝트 확장을 위한 줄리아의 지원 57
3.1 타입 시스템 이해하기 58
__3.1.1 줄리아에서 함수는 여러 메서드를 가질 수 있다 58
__3.1.2 줄리아의 타입은 계층구조로 정렬된다 59 / 3.1.3 타입의 모든 슈퍼타입 찾기 60
__3.1.4 타입의 모든 서브타입 찾기 62 / 3.1.5 타입들의 유니언 63
__3.1.6 메서드 시그니처에 넣을 타입 제한 결정하기 64
3.2 줄리아에서 다중 디스패치 사용하기 65
__3.2.1 함수의 메서드 정의 규칙 65 / 3.2.2 메서드 모호성 문제 66
__3.2.3 윈저화 평균 구현 개선하기 68
3.3 패키지 및 모듈로 작업하기 70
__3.3.1 줄리아에서 모듈이란 무엇인가 70
__3.3.2 줄리아에서 패키지는 어떻게 사용되는가 72
__3.3.3 StatsBase.jl을 사용하여 윈저화 평균 계산하기 75
3.4 매크로 사용하기 77
요약 82

CHAPTER 4 줄리아에서 컬렉션 작업하기 83
4.1 배열로 작업하기 83
__4.1.1 데이터를 행렬로 가져오기 85
__4.1.2 행렬에 저장된 데이터의 기초통계량 계산하기 90
__4.1.3 배열 인덱싱하기 92 / 4.1.4 복사 vs. 뷰 생성의 성능 고려 사항 96
__4.1.5 변수 간의 상관관계 계산하기 97 / 4.1.6 선형회귀 피팅하기 98
__4.1.7 앤스컴 콰르텟 데이터 시각화하기 102
4.2 딕셔너리로 키-값 쌍 매핑하기 104
__4.2.1 시커먼 주사위 퍼즐 104 / 4.2.2 딕셔너리 생성하기 105
__4.2.3 시커먼 주사위 퍼즐 풀기 107
4.3 네임드튜플을 사용하여 데이터 구조화하기 110
__4.3.1 네임드튜플 정의하고 요소 접근하기 110
__4.3.2 네임드튜플에 저장된 앤스컴 콰르텟 데이터 분석하기 112
__4.3.3 줄리아의 복합 타입과 값의 가변성 이해하기 114
요약 117

CHAPTER 5 컬렉션 작업에 대한 고급 주제 119
5.1 브로드캐스팅을 사용하여 코드 벡터화하기 120
__5.1.1 줄리아에서 브로드캐스팅의 구문과 의미 이해하기 120
__5.1.2 브로드캐스팅에서 길이가 1인 차원 확장하기 123
__5.1.3 컬렉션이 브로드캐스트되지 않도록 보호하기 127
__5.1.4 브로드캐스팅을 사용하여 앤스컴 콰르텟 데이터 분석하기 130
5.2 파라메트릭 타입으로 메서드 정의하기 133
__5.2.1 줄리아의 컬렉션 타입 대부분은 파라메트릭이다 134
__5.2.2 파라메트릭 타입의 서브타이핑 규칙 136
__5.2.3 서브타이핑 규칙을 사용하여 공분산 함수 정의하기 138
5.3 파이썬과 통합하기 140
__5.3.1 t-SNE를 사용하여 차원 축소를 위한 데이터 준비하기 140
__5.3.2 줄리아에서 파이썬 호출하기 142 / 5.3.3 t-SNE 알고리즘의 결과 시각화하기 144
요약 145

CHAPTER 6 문자열로 작업하기 147
6.1 데이터 가져오고 검사하기 148
__6.1.1 웹에서 파일 다운로드하기 149 / 6.1.2 일반적인 문자열 구성 기법 사용하기 150
__6.1.3 파일의 내용 읽기 152
6.2 문자열 분할하기 153
6.3 정규 표현식을 사용하여 문자열 작업하기 155
__6.3.1 정규 표현식으로 작업하기 155 / 6.3.2 movies.dat 파일의 한 줄 파서 작성하기 157
6.4 인덱싱을 사용하여 문자열에서 부분집합 추출하기 158
__6.4.1 줄리아에서 문자열의 UTF-8 인코딩 158
__6.4.2 문자 인덱싱 vs. 바이트 인덱싱 159 / 6.4.3 ASCII 문자열 161
__6.4.3 Char 타입 162
6.5 movies.dat에서 장르 빈도 분석하기 162
__6.5.1 일반적인 영화 장르 찾기 162 / 6.5.3 수년간의 장르 인기도 변화 이해하기 165
6.6 심벌 167
__6.6.1 심벌 만들기 168 / 6.6.2 심벌 사용하기 169
6.7 고정 너비 문자열 타입을 사용하여 성능 개선하기 171
__6.7.1 사용 가능한 고정 너비 문자열 172 / 6.7.2 고정 너비 문자열의 성능 173
6.8 PooledArrays.jl을 사용하여 문자열 벡터 압축하기 175
__6.8.1 꽃 이름이 포함된 파일 만들기 176 / 6.8.2 데이터를 벡터로 읽고 압축하기 177
__6.8.3 PooledArray 내부 설계 이해하기 178
6.9 문자열 컬렉션에 적합한 저장소 선택하기 181
요약 182

CHAPTER 7 시계열 데이터 및 결측값 처리하기 185
7.1 NBP 웹 API 이해하기 186
__7.1.1 웹브라우저를 통해 데이터 가져오기 187
__7.1.2 줄리아를 사용하여 데이터 가져오기 188
__7.1.3 NBP 웹 API 쿼리 실패 시 처리하기 192
7.2 줄리아에서 결측값으로 작업하기 195
__7.2.1 결측값 정의하기 196 / 7.2.2 결측값으로 작업하기 197
7.3 NBP 웹 API에서 시계열 데이터 가져오기 204
__7.3.1 날짜로 작업하기 204
__7.3.2 다양한 날짜에 대해 NBP 웹 API에서 데이터 가져오기 207
7.4 NBP 웹 API에서 가져온 데이터 분석하기 209
__7.4.1 요약통계량 계산하기 210 / 7.4.2 결측값이 가장 많은 요일 찾기 210
__7.4.3 PLN/USD 환율 플로팅하기 212
요약 217

P A R T II 데이터 분석을 위한 도구들

CHAPTER 8 데이터프레임 첫걸음 221
8.1 데이터 가져오기, 압축 풀기, 검사하기 223
__8.1.1 웹에서 파일 다운로드하기 224 / 8.1.2 bzip2 아카이브로 작업하기 224
__8.1.3 CSV 파일 검사하기 226
8.2 데이터프레임에 데이터 로드하기 227
__8.2.1 CSV 파일을 데이터프레임으로 읽기 227 / 8.2.2 데이터프레임의 내용 검사하기 229
__8.2.3 데이터프레임을 CSV 파일로 저장하기 233
8.3 데이터프레임에서 열 가져오기 234
__8.3.1 데이터프레임의 저장 모델 이해하기 234
__8.3.2 데이터프레임 열을 프로퍼티로 처리하기 235
__8.3.3 데이터프레임 인덱싱을 사용하여 열 가져오기 239
__8.3.4 데이터프레임 열에 저장된 데이터 시각화하기 242
8.4 다양한 형식을 사용하여 데이터프레임 읽기 및 쓰기 244
__8.4.1 Apache Arrow 244 / 8.4.2 SQLite 246
요약 249

CHAPTER 9 데이터프레임에서 데이터 가져오기 251
9.1 고급 데이터프레임 인덱싱 252
__9.1.1 축소된 퍼즐 데이터프레임 만들기 254 / 9.1.2 허용되는 열 선택자에 대한 개요 257
__9.1.3 허용되는 행 선택자에 대한 개요 264 / 9.1.4 데이터프레임 객체의 뷰 만들기 268
9.2 퍼즐 난이도와 인기도 사이의 관계 분석하기 270
__9.2.1 난이도를 기준으로 퍼즐 인기도의 평균 계산하기 270
__9.2.2 LOESS 모델 피팅하기 274
요약 278

CHAPTER 10 데이터프레임 객체 만들기 280
10.1 데이터프레임을 만드는 가장 중요한 방법들 살펴보기 281
__10.1.1 행렬에서 데이터프레임 만들기 282
__10.1.2 벡터에서 데이터프레임 만들기 285
__10.1.3 Tables.jl 인터페이스를 사용하여 데이터프레임 만들기 294
__10.1.4 데이터프레임에 저장된 데이터의 상관관계 행렬 플로팅하기 297
10.2 데이터프레임 증분 생성 299
__10.2.1 데이터프레임 수직 연결하기 300 / 10.2.2 데이터프레임에 테이블 추가하기 305
__10.2.3 기존 데이터프레임에 새 행 추가하기 308
__10.2.4 시뮬레이션 결과를 데이터프레임에 저장하기 310
요약 317

CHAPTER 11 데이터프레임 변환 및 그룹화하기 320
11.1 데이터프레임을 다른 값 타입으로 변환하기 322
__11.1.1 행렬로의 변환 323 / 11.1.2 네임드튜플 벡터로의 변환 325
__11.1.3 기타 일반적인 변환 333
11.2 데이터프레임 객체 그룹화하기 338
__11.2.1 원본 데이터프레임 준비하기 338 / 11.2.2 데이터프레임 그룹화하기 339
__11.2.3 그룹화된 데이터프레임의 그룹 키 가져오기 341
__11.2.4 단일값으로 그룹화된 데이터프레임 인덱싱하기 342
__11.2.5 인덱싱 방법의 성능 비교하기 344
__11.2.6 여러 값으로 그룹화된 데이터프레임 인덱싱하기 345
__11.2.7 그룹화된 데이터프레임 순회하기 347
요약 349

CHAPTER 12 데이터프레임 변형 및 변환하기 351
12.1 깃허브 개발자 데이터셋 가져오기 및 로드하기 352
__12.1.1 그래프 이해하기 353 / 12.1.2 웹에서 깃허브 개발자 데이터 가져오기 354
__12.1.3 ZIP 파일에서 데이터를 추출하는 함수 구현하기 356
__12.1.4 깃허브 개발자 데이터를 데이터프레임으로 읽기 359
12.2 추가적인 노드 특징 계산하기 365
__12.2.1 SimpleGraph 객체 생성하기 366
__12.2.2 Graphs.jl 패키지를 사용하여 노드의 특징 계산하기 367
__12.2.3 노드의 웹 이웃과 머신러닝 이웃 수 계산하기 369
12.3 분할-적용-결합을 사용하여 개발자 유형 예측하기 375
__12.3.1 웹 및 머신러닝 개발자 특징에 대해 요약통계량 계산하기 375
__12.3.2 웹 및 머신러닝 이웃 수 간의 관계 시각화하기 379
__12.3.3 개발자 유형을 예측하는 로지스틱 회귀모형 피팅하기 385
12.4 데이터프레임 변형 작업 복습하기 386
__12.4.1 저수준 API 작업 수행하기 387
__12.4.2 insertcols! 함수를 사용하여 데이터프레임 변형하기 390
요약 392

CHAPTER 13 데이터프레임 고급 변환 394
13.1 경찰 정차 데이터셋을 가져오고 전처리하기 395
__13.1.1 필요한 패키지 로드하기 396 / 13.1.2 @chain 매크로 소개하기 396
__13.1.3 경찰의 정차 데이터셋 가져오기 398
__13.1.4 열에 연산을 수행하는 함수 비교하기 401
__13.1.5 짧은 형식의 연산 지정 구문 사용하기 405
13.2 violation 열 조사하기 406
__13.2.1 가장 빈번한 위반 사항 찾기 406
__13.2.2 ByRow 래퍼를 사용하여 함수 벡터화하기 409
__13.2.3 데이터프레임 평탄화하기 410
__13.2.4 편의 구문을 사용하여 데이터프레임 행 수 가져오기 411
__13.2.5 데이터프레임 정렬하기 411
__13.2.6 DataFramesMeta.jl의 고급 기능 사용하기 412
13.3 예측을 위한 데이터 준비하기 415
__13.3.1 데이터의 초기 변환 수행하기 415 / 13.3.2 범주형 데이터로 작업하기 417
__13.3.3 데이터프레임 조인하기 420 / 13.3.4 데이터프레임 재구성하기 421
__13.3.5 결측값이 있는 데이터프레임 행 삭제하기 423
13.4 체포 확률 예측 모델 구축하기 425
__13.4.1 데이터를 훈련 및 테스트 데이터셋으로 분할하기 425
__13.4.2 로지스틱 회귀모형 피팅하기 427 / 13.4.3 모델 예측 품질 평가하기 428
13.5 DataFrames.jl에서 제공하는 기능 복습하기 433
요약 435

CHAPTER 14 데이터 분석 결과를 공유하는 웹 서비스 만들기 437
14.1 몬테카를로 시뮬레이션을 이용한 금융 옵션 가격 책정하기 438
__14.1.1 아시아 옵션 정의의 수익률 계산하기 439
__14.1.2 아시아 옵션의 가치 계산하기 440 / 14.1.3 GBM 이해하기 441
__14.1.4 수치 접근 방식을 사용하여 아시아 옵션값 계산하기 443
14.2 옵션 가격 책정 시뮬레이터 구현하기 444
__14.2.1 줄리아로 멀티스레딩 시작하기 445
__14.2.2 단일 주식가격 샘플에 대한 옵션 수익률 계산하기 446
__14.2.3 옵션값 계산하기 449
14.3 아시아 옵션 평가를 제공하는 웹 서비스 만들기 453
__14.3.1 웹 서비스 구축에 대한 일반적인 접근 방식 454
__14.3.2 Genie.jl을 사용하여 웹 서비스 만들기 455 / 14.3.3 웹 서비스 실행하기 458
14.4 아시아 옵션 가격 책정 웹 서비스 사용하기 458
__14.4.1 웹 서비스에 단일 요청 보내기 459
__14.4.2 웹 서비스의 여러 요청에 대한 응답을 데이터프레임으로 수집하기 461
__14.4.3 데이터프레임의 열 중첩 해제하기 463
__14.4.4 아시아 옵션 가격 책정 결과 플로팅하기 466
요약 467

APPENDIX A 줄리아 첫걸음 469
A.1 줄리아 설치 및 설정하기 469
A.2 줄리아에 대한 도움말 얻기 470
A.3 줄리아에서 패키지 관리하기 472
__A.3.1 프로젝트 환경 472 / A.3.2 프로젝트 환경 활성화하기 473
__A.3.3 패키지 설치 시 발생할 수 있는 문제 476 / A.3.4 패키지 관리하기 477
__A.3.5 파이썬과 통합 설정하기 480 / A.3.6 R과의 통합 설정하기 481
A.4 줄리아로 작업하는 표준 방법 482
__A.4.1 터미널 사용하기 482 / __A.4.2 Visual Studio Code 사용하기 483
__A.4.3 Jupyter Notebook 사용하기 483 / __A.4.4 Pluto 노트북 사용하기 483

APPENDIX B 연습 문제 풀이 484

APPENDIX C 데이터 과학을 위한 줄리아 패키지 512
C.1 줄리아의 플로팅 생태계 513
C.2 줄리아에서 컴퓨팅 확장하기 514
C.3 데이터베이스 및 데이터 저장 형식 작업하기 514
C.4 데이터 과학 기법들 사용하기 515
요약 516

찾아보기 518
Author
보구밀 카민스키,류현지
줄리아 에코시스템 내 핵심 데이터 조작 패키지인 DataFrames.jl의 리드 개발자. 20년 이상 기업 고객을 위한 데이터 과학 프로젝트를 제공해왔다. 학부 및 대학원에서도 20년 이상 데이터 과학 수업을 담당했다.
줄리아 에코시스템 내 핵심 데이터 조작 패키지인 DataFrames.jl의 리드 개발자. 20년 이상 기업 고객을 위한 데이터 과학 프로젝트를 제공해왔다. 학부 및 대학원에서도 20년 이상 데이터 과학 수업을 담당했다.