
파이썬과 수치 해석 2/e [파이썬 수치 해석 레시피]
- 원서명Numerical Python, 2nd Edition: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib (ISBN 9781484242452)
- 지은이로버트 요한슨(Robert Johansson)
- 옮긴이(주)크라스랩
- ISBN : 9791161753324
- 50,000원
- 2019년 08월 30일 펴냄
- 페이퍼백 | 772쪽 | 188*235mm
- 시리즈 : 데이터 과학
책 소개
요약
Python을 사용해 과학과 공학 분야에 빈번히 등장하는 연산 문제를 해결하는 방법을 설명한다. Python 과학 연산 모듈인 Scipy, 배열처리 기본 모듈인 NumPy, 데이터 처리를 위한 기본 모듈인 Pandas, 머신 러닝을 위한 Scikit-learn을 중심으로 과학 연산을 처리할 수 있는 두 가지 중요한 기법인 기호적, 수치적 처리 기법을 사용하는 데 Python을 어떻게 활용할 수 있는지 자세히 설명한다.
행렬 및 희소 행렬, 벡터, 상미분과 편미분, 적분, 인수분해, 시계열, 선형 대수, 통계 모델링, 머신 러닝, 신호처리 등 이공계의 대표적 문제들을 해결하는 데 Python을 어떻게 활용할 수 있는지 풍부한 예제를 통해 상세히 설명한다.
책 후반부는 HDF5를 포함해 데이터 처리를 위한 다양한 파일 입출력 형식을 알아보고, 코드의 실행 성능 향상을 위한 코드 최적화와 함께 모듈 설치법도 상세히 설명한다.
이 책에서 다루는 내용
■ Numpy를 사용한 벡터와 행렬 작업
■ Matplotlib를 사용한 도식화와 시각화
■ Pandas and SciPy를 사용한 데이터 분석 과제
■ statsmodels과 scikit-learn를 사용한 통계 모델링과 머신 러닝 리뷰
■ Numba와 Cython을 사용한 파이썬 코드 최적화
이 책의 구성
1장, ‘Python을 이용한 컴퓨팅 소개’에서는 과학 컴퓨팅에 대한 일반적인 원칙과 Python 계산 작업에 사용할 수 있는 주요 개발 환경을 소개한다. 즉 IPython과 대화형 Python 프롬프트, 뛰어난 Jupyter Notebook 응용과 Spyder 통합 개발 환경(Spyder IDE, Spyder Integrated Development Environment)에 초점을 맞추고 있다.
2장, ‘벡터, 행렬, 다차원 배열’에서는 NumPy 라이브러리를 소개하고 좀 더 일반적인 배열 기반 연산과 장점을 알아본다.
3장, ‘기호 연산’에서는 SymPy 라이브러리를 사용한 기호 연산에 대해 알아본다. 이 방법은 배열 기반 연산을 보완해준다.
4장, ‘도식화와 시각화’에서는 Matplotlib 라이브러리를 이용한 도식화와 시각화를 다룬다. 2장에서 4장까지는 전반적으로 책 나머지 부분의 영역별 문제에 사용될 기본 계산 도구인 수치 연산, 기호 연산, 시각화에 대해 알아본다.
5장, ‘방정식 풀이’에서는 방정식 해결로 Scipy와 SymPy 라이브러리를 사용해 수치적•기호적 방법을 모두 살펴본다.
6장, ‘최적화’에서는 방정식 해결 과제의 자연스러운 연장인 최적화를 탐구한다. 주로 Scipy 라이브러리와 cvxopt 라이브러리를 사용해 작업한다.
7장, ‘보간법’에서는 그 자체로 많은 응용을 가진 또 다른 기본적인 수학적 방법인 보간법, 고급 알고리즘과 기법에서의 주요 역할을 다룬다.
8장, ‘적분’에서는 수치적, 기호적 적분을 살펴본다. 5장부터 8장까지는 모든 종류의 컴퓨터 작업에 만연한 핵심 컴퓨터 기술을 다룬다. 8장에서 다루는 방법은 대부분 Scipy 라이브러리에서 제공된다.
9장, ‘ODE’에서는 상미분 방정식을 다룬다.
10장, ‘희소 행렬과 그래프’에서는 11장을 설명하기 위해 희소 행렬과 그래프 기법을 살펴본다.
11장, ‘PDE’에서는 개념적으로 상미분 방정식과 밀접한 관계가 있지만 10장의 주제인 희소 행렬의 도입이 필요한 PDE를 살펴본다.
12장, ‘데이터 처리 및 분석’에서는 데이터 분석과 통계 조사를 살펴본다. Pandas 라이브러리와 데이터 분석 프레임워크를 소개한다.
13장, ‘통계학’에서는 SciPy stats 패키지의 기본적인 통계 분석과 기법을 다룬다.
14장, ‘통계 모델링’에서는 statsmodels 라이브러리를 사용해 통계 모델링을 알아본다.
15장, ‘머신 러닝’에서는 scikit-learn 라이브러리를 이용한 머신 러닝을 알아보고 통계와 데이터 분석의 주제를 살펴본다.
16장, ‘베이즈 통계’는 베이즈 통계와 PyMC 라이브러리를 알아보면서 이와 관련된 장을 정리한다. 12장부터 16장까지는 통계와 데이터 분석의 광범위한 분야를 소개한다. 이는 최근 몇 년 동안 과학 Python 커뮤니티 안팎에서 급속히 발전해온 분야이기도 하다.
17장, ‘신호 처리’에서는 잠시 과학 컴퓨팅의 핵심 주제인 신호 처리로 돌아간다.
18장, ‘데이터 입출력’에서는 데이터 입출력 그리고 파일에 수치 데이터를 읽고 쓰는 몇 가지 방법을 살펴본다. 이는 대부분의 컴퓨터 작업에 필요한 기본적인 주제다.
19장, ‘코드 최적화’는 Numba와 Cython 라이브러리를 이용해 Python 코드의 속도를 높이는 두 가지 방법을 소개한다.
부록에는 이 책에서 사용한 소프트웨어 설치 방법이 수록돼 있다. 필요한 소프트웨어(대부분의 Python 라이브러리)를 설치하기 위해 Conda 패키지 매니저를 이용한다. Conda는 안정적이고 재현 가능한 컴퓨터 환경을 만들기 위한 중요한 주제로, 가상적이며 격리된 Python 환경을 만드는 데도 사용될 수 있다. 또한 Conda 패키지 매니저를 사용해 이런 환경을 설정하는 방법도 살펴본다.
상세 이미지
