이 책은 파이썬의 라이브러리 중에 SciPy와 NumPy를 다루는 책인데, O"Reilly의 "SciPy and NumPy" 번역서 이다.
http://book.daum.net/detail/book.do?bookid=BOK00017086127KA
빅데이터 시대에 필요한 데이터와 수치 연산을 기존까진 Matlab을 이용해서 했다면,
정말 Matlab의 기본 기능은 모두 제공하면서, 더구나 파이썬은 무료다!
책 앞부분에 리눅스 베이스 에서 쉘로 개발하는 것이 쉽지 않고 익숙하지 않은 독자들을 위해서,
IPython을 소개하고 설치법도 간단하게 있다.
책 내용은 정말 찾아보기 편하게
라이브러리에서 필요한 함수(최적화, 보간법, 적분, 클러스터링, 통계) 별로 간단한 예제와 그래프를 통해 설명이 되어있다.
또한 한빛미디어에서 필요한 예제를 받을 수 있으니 편하게 사용할 수 있다.
SciPy와 NumPy 말고도 더 강력한 라이브러리인
SciKit 도 간략하고 소개하고 있으니 좀더 공부해볼 만 하다.
파이썬 (Python)은 google.com에서 사용하는 3대 언어 중 하나로 간결한 문법으로 인하여 다양한 분야에서 널리 사용되고 있습니다. 저도 2001년에 파이썬을 통해서 프로그래밍을 입문했기 때문에 다른 어떤 언어보다도 애착을 가지고 있습니다. 국내에서도 알게 모르게 다양한 분야에서 파이썬을 사용하고 있는데, 이 도서는 그 중에서 SciPy와 NumPy라는 파이썬 라이브러리에 대해서 다루고 있습니다.
일단 NumPy는 파이썬 버전의 Matlab이라고 이해를 하시면 되고, SciPY는 역시 파이썬을 사용해서 여러 수치해석적인 문제를 쉽게 다루도록 지원하는 라이브러리라고 생각하시면 됩니다. 최근 빅데이터 분석에 대한 요구가 많아 지고 있으며, 전통적으로 이공계 분야에서는 다양한 연구 부분에서 수치해석 문제를 푸는데 Matlab 등을 이용해 왔습니다. 저도 컴퓨터공학을 전공하고 있지만, 전자공학이나 기타 다른 학과에서도 프로그래밍을 통해서 모델을 만들고 이를 해석하고 이런 일들은 아주 자연스러운 일상입니다. 하지만, 프로그래밍을 전문적으로 배우지 않는 사람들이 C/C++/JAVA와 같은 언어를 습득하여 사용하기에는 분명이 무리가 있어 보입니다. 물론, 간혹 컴퓨터공학과 학생들보다 프로그래밍을 더 잘하는 분들이 많기는 합니다. (smile)
그렇다면 결론은 Matlab 뿐인가요 ? 물론, Matlab으로 요즘은 하드웨어 설계를 할만큼 다양한 분야에서 이미 그 편리함과 효용성이 이미 검증이 된 개발 환경입니다. 하지만 파이썬으로도 이러한 것을 대체할 수 있고 뿐만 아니라 데이터입출력이나 문법이 더 간단하며, 무엇보다 무료로 사용할 수 있는 환경이기 때문에 파이썬과 SciPY 그리고 NumPy는 충분히 사용할만한 가치가 있습니다. 개인적으로도 Matlab 문법보다는 파이썬 문법 구조를 더 선호합니다.
이 책은 앞 부분에 간단히 NumPy를 다루고 있는데, 실습 위주로 구성되어 있어서 파이썬을 1~2일 정도 공부한 분들도 쉽게 따라서 실습해볼 수 있을만큼 쉬운 내용으로 구성되어 있습니다. 그리고 책의 뒷 부분은 SciPY를 사용해서 다양한 애플리케이션 (최적화 문제, 데이터 피팅, etc)에서 SciPY를 사용하는 활용 예에 대해서 잘 설명되어 있습니다. 특히, 예제로 사용되고 있는 것들이 대학원에서 논문 쓸 때 꼭 필요한 부분들이 많아서 대학원 생들에게 매우 도움이 될 것으로 생각이 듭니다. 저도 물론 이런 목적으로 이 책을 읽어보게 되었습니다.
따라서, 이 책은 파이썬을 사용해서 데이터를 분석하거나 수치해석적인 문제를 해결하려고 하는 분들에게 매우 적합한 책이 되겠습니다. 그리고 Matlab을 사용해본 분들이라면 개인적으로 이 책을 꼭 읽어보라고 추천하고 싶습니다.
개인적으로는 이 책의 분량이 매우 짧아서 간단히 SciPY를 어떻게 적용할 수 있을지에 대해서만 나와있는데, 이를 조금 더 확장한 버전의 책이 나왔으면 좋겠습니다. 예를 들어, 최적화 문제에 대해서 아주 일반적인 경우의 예를 사용했는데 컴퓨터 비젼이나 영상처리 책을 SciPY나 NumPY를 사용하여 이론과 구현을 동시에 다루는 책이 있었으면 합니다.