에너지경제연구원 전자도서관

로그인

에너지경제연구원 전자도서관

자료검색

  1. 메인
  2. 자료검색
  3. 통합검색

통합검색

단행본Julia for Data Analysis2024년 6월 TOP 10

데이터 분석을 위한 줄리아: 시계열 데이터, 예측 모델, 랭킹 등 핸즈온 프로젝트로 마스터하는 줄리아 데이터 분석

발행사항
파주 : 제이펍, 2024
형태사항
xxvii, 535 p. : 삽화 ; 25 cm
소장정보
위치등록번호청구기호 / 출력상태반납예정일
지금 이용 불가 (1)
자료실E208345대출중2025.06.16
지금 이용 불가 (1)
  • 등록번호
    E208345
    상태/반납예정일
    대출중
    2025.06.16
    위치/청구기호(출력)
    자료실
책 소개
데이터 분석의 넥스트 레벨, 줄리아 A to Z
언어 입문부터 데이터프레임, 시각화, 예측 모델, 파이프라인까지


줄리아는 파이썬 등에 비해 빠른 속도를 자랑하며 데이터 과학에서 점점 더 인기를 얻고 있다. 경쟁 우위를 점하기 위해 이력서에 줄리아 스킬을 추가하고 싶다면 바로 지금이 기회다.

이 책은 다른 언어에서는 (거의) 불가능한 멀티스레딩 등을 포함해 프로덕션 수준의 고성능 줄리아 코드를 작성해 데이터 과학 작업을 처리하는 방법을 다룬다. 언어의 기초부터 시작해서 데이터 변환, 시각화 등을 익히고, 이어서 환율, 시계열 데이터, 체스 퍼즐 등 실세계 데이터셋을 통해 필수 데이터 분석 스킬을 마스터하며 기존 파이프라인을 자연스럽게 줄리아로 전환하는 방법 또한 배우게 된다. 30여 개의 연습 문제 및 풀이도 제공된다.

주요 챕터를 더 자세히 살펴보면, 3장에서는 프로젝트 확장에 필수적인 모듈, 패키지, 매크로, 그리고 줄리아의 타입 시스템과 계층구조를 다루고, 4장에서는 데이터 과학 분야에서 자주 사용되는 배열, 딕셔너리, 튜플 등의 사용법을 익힌다. 7장에서는 시계열 데이터를 분석하면서 실무에서 흔히 발생하는 결측값 문제를 어떻게 줄리아로 우아하게 처리할 수 있는지 배운다.

12장에서는 데이터 분석 실무에서 빠질 수 없는 데이터프레임을 가공하는 법을 살펴본다. 저자 본인이 DataFrames.jl의 리드 개발자인 만큼 아주 자세하게 데이터프레임을 다루는 법을 익힐 수 있다. 파이썬(팬더스)이나 R(dplyr)과 비교해서 설명하는 부분도 있어 실무자에게 더욱 도움이 된다. 14장에서는 연산 집약적인 몬테카를로 시뮬레이션으로 복잡한 금융 옵션 가격의 근사치를 구하고, 이를 웹 서비스로 구축하며 줄리아의 멀티스레딩 능력도 확인해본다.

데이터 분석의 전체 프로세스를 세분화해서 살펴보는 동시에, 현존하는 어떤 줄리아 자료보다 데이터 처리를 더 깊이 있게 다루는 책이다. 데이터 분석을 위해 마련된 줄리아의 뛰어난 기능들을 익힐 수 있을 뿐만 아니라, 줄리아의 핵심 데이터 조작 패키지인 DataFrames.jl을 활용하는 법을 자세히 다룬다는 점에서 독보적인 가치가 있다.

주요 내용
⦁ 다양한 형식의 데이터 읽기 및 쓰기
⦁ 부분집합, 그룹화, 변환 등 표 형식 데이터로 작업하기
⦁ 데이터 시각화
⦁ 예측 모델 구축
⦁ 데이터 처리 파이프라인 만들기
⦁ 데이터 분석 결과를 공유하는 웹 서비스 만들기
⦁ 읽기 쉽고 효율적인 줄리아 프로그램 작성
목차
옮긴이 머리말 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