우아한 사이파이 - 수학, 과학, 엔지니어링을 위한 파이썬 데이터 분석 라이브러리 SciPy
후안 누네즈-이글레시아스 외 지음, 최길우 옮김 / 한빛미디어 / 2018년 6월
평점 :
장바구니담기




사실 Scipy는 문서화가 매우 잘 되어있는 라이브러리에 속한다. 그 말은 Scipy 라이브러리를 찾아보면 그 구현체에 대한 설명과 수식, 튜토리얼까지 모두 갖추어져 있기 때문에, 이 라이브러리를 사용하기 위해 책을 찾아보는 것 보다 문서를 보는 것이 더 도움이 될 수 있다는 이야기이다. (아무래도 책은 2차 가공이 되어 있기 때문에 라이브러리를 개발한 사람의 의도가 왜곡될 여지가 존재한다.)


이 책에서 다루는 내용 중 일부인 Optimization에 대한 Scipy 문서를 보면 Rosenbrock Function에 대하여 최소값을 구하는 방법에 대한 구현과 Simplex Method에 대한 설명이 잘 기술되어 있다.(https://docs.scipy.org/doc/scipy/reference/tutorial/optimize.html) 그래서 지금까지 연구나 프로젝트를 하면서 문서만 보면서 FFT나 Optimization 등 Scipy의 API를 이용하는데 아무런 문제가 없었기에, 최소한 Scipy라는 라이브러리에 대해서는 책을 통해 사용하는 방법을 익히는 것은 의미가 없지 않을까 라는 생각을 했었다.

 

이 책을 읽기 전 까지는.

 

 사실 이 책을 통해서 Scipy를 더 잘 쓰게 되었다 보다는 엔지니어적인 관점에서 "Scipy를 이용하여" 문제를 해결할 수 있게 되었다라고 표현하는 것이 더 맞을 것 같다. 왜냐하면 이 책은 Scipy의 각 함수에 대한 자세한 설명을 해주지 않는다. 단지 주어진 문제에 대한 공학적 해결 방법을 제시하고, numpy와 scipy를 이용하여 해결해 버리기 때문이다. 예를 들어 달 착륙 사진의 노이즈 제거하는 문제를 보면, Fast Fourier Transform과 스펙트럼 분석, Inversed Fast Fourier Transform을 통해 간단히 노이즈를 제거한다. 이는 전공의 한계로 배우지 못했던 엔지니어적인 문제 해결 방법론들에 대한 갈증을 풀어주는 부분임과 동시에 Scipy가 공학자들에게 충분한 솔루션이 될 수 있음을 느끼게 해주는 부분이었다. 


나 또한 현재 Scipy를 활용하여 연구를 진행하고 있는데, 기능적 한계는 전혀 느낄 수 없었고 오히려 데이터 핸들링 및 머신 러닝/딥러닝 환경(Numpy, Pandas, Pytorch, Scikit-learn)과 쉽게 연동할 수 있기 때문에 데이터의 중요성이 강조되어 가는 시대에 전통적인 공학 솔루션들(매트랩 등)에 비해 Scipy 환경이 경쟁력을 가지지 않을까 하는 생각이 든다.


본 리뷰는 한빛미디어로부터 도서만 지원받고 작성된 주관적인 리뷰임을 알려드립니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo