처음 처음 | 이전 이전 | 1 | 2 | 3 | 4 | 5 | 6 |다음 다음 | 마지막 마지막
Head First Python - 스스로 질문하며 답을 찾는 파이썬 학습서(Python 3), 개정판 Head First 시리즈
폴 베리 지음, 우정은 옮김 / 한빛미디어 / 2017년 12월
평점 :
절판


  리뷰에 앞서 본 리뷰는 한빛 출판 네트워크에서 진행한 ‘나는 리뷰어다’ 이벤트에서 제공받은 책으로 진행한 것을 밝힙니다.


  컴퓨터 언어를 배울 때 늘 신경쓰이는 것은 이 책이 나에게 맞느냐 인 것인데, Head First 시리즈의 책들은 그런 측면에서 늘 호불호가 갈릴 수 있다는 생각이 든다. 금번에 개정판이 번역된 Head First Python 역시 그런 측면이 있다고 생각한다.


  기억하기로 97년즈음 부터 Oreilly에서 출판된 책들을 많이 접해왔다. Linux에 대해서 많은 정보를 얻기에는 어쩌면 어쩔 수 없는 선택이었을 수도 있다. 또 그 외 출판사의 책들도 컴퓨터 언어관련 책들이 다루는 포맷은 늘 유사했다.


* 주제

  - 개념? 사용법은?

    간단한 예제

  - 주의점?

* 프로젝트 또는 좀 더 상세한 주제

...


  이러한 접근법이 잘못된 것이 아니지만, 늘 command line 출력 결과를 가지고 설명이 되는 예제는 아쉬운 부분이었고, 그와 관련해 약간의 그림이 추가된 책에 대해서는 별것 아닌 것에 대해서도 '조금은 신경을 썼네' 라는 생각이 들었었다.


  Head First 시리즈는 위와는 좀 다른 접근법... 마치 빨간펜 선생님이 그림을 곁들여가며 설명하는 듯한 느낌을 받는다. 입문자에게는 아주 좋은 선생님일 수 있으며, 깊이 언어를 알지 못하는 프로그래머에게 있어서도 좀 더 개념을 명확히 해 줄 수 있다는 생각이 든다. 


  하지만 계속해서 글과 그림이 주어진 포맷에 따라 빽빽히 책장을 채우고 있어서 책을 1/3 정도 읽어나가다 보면, 핵심은 잘 알겠고 그러면 어떤 부분을 좀 더 봐야하지? 라고 생각하는 순간 눈에 잘 들어오지 않는 부분도 있을 수 있다는 생각이 든다.


Head First 시리즈에 대한 개인적인 느낌은 그렇고... 이제 이 Python 책에 대해서 간단히 이야기를 해 보겠다.


  이 책은 컴퓨터 언어를 처음 배우는 초보자에게는 맞지 않는다. 이 책을 끝까지 꼼꼼히 읽으면서 들었던 생각은,

    초반부에는 이거 너무 친절해서 컴퓨터를 전혀 모르는 사람도 읽을 수 있겠는데? 그림까지 이렇게 친절하게 설명하고 있으니 정말 그렇겠네...

    중반부에 들어가면서 데이터를 어디에 저장하고, 어떻게 함수를 수정하는 것이 더 효율적일까, 코드를 어떻게 소위말하는 행사코드를 줄이고 간결하게 맞게 짤 수 있을까 하고 올바른 코딩 방법에 대해 고민하는 내용들도 곁들여진다. 물론 이런 부분들 역시 처음 배울 때 알고 있어야 하는 부분이지만 과연 왜? 라는 부분에서 제대로 이해할 수 있을까?

    후반부에 들어가면서 예외처리, thread 이런 부분은 소위 말하는 노가다 경험이 없이는 피부에 와 닿지 않겠다

  라는 생각이 들었다. 


  먼저부터 단점부터 이야기한 것 같지만, 프로그래밍 경험이 있는 하지만 Python에 대해 잘 모르는 초보자에게 괜찮은 책이라고 이야기할 수 있을 것 같다. 약 230 페이지에 걸쳐 설명하는 기본 자료구조 설명을 보면, 무작정 접근할 때 실수하기 쉬운 내용들에 대해서도 여러가지 그림들과 눈에 띄는 텍스트로 친절하게 설명이 잘 되어 있다. 그리고 문자열에 기술된 모음을 찾아주는 예제를 command line -> flask web framework 사용 간단 예제 -> DB API 연동을 통한 좀 더 체계적인 프로젝트로 완성해나가는 방식을 단계적으로 설명하고 이 때 필요한 추가적인 문법 및 모듈(함수)들을 소개하고 있어, 꼼꼼하게 따라하면서 이해해 나간다면, 이 책을 다 읽고 나면 Python을 이런식으로 이렇게 이용하면 되겠구나 하는 간단한 감을 잡을 수 있다. 물론 이러한 접근법을 싫어하는 분들도 있을 수 있지만, 초보자 입장에서는 이러한 방식이 충분히 괜찮은 접근법이라는 생각이 든다. 


  그리고 늘 회자되는 Python2와 Python3 무엇으로 공부해야하나요? 라는 질문에 대해, 고민할 필요없이 바로 Python3로 배울 수 있도록, Python 3를 기준으로 책이 기술되어 있다. 이 책을 읽고나서 본인에게 더 필요한 것들에 대해서는, 이미 시중에 나온 많은 서적들, 온라인 문서들 또 실제 open source로 구현하고 있는 많은 project들을 참고하면 될 것이라 생각된다.


참고로 이 책을 리뷰하는 시점에

  Windows 버전 최신 Python 버전인 3.6.4 설치 후 pip 로 flask 설치 시 MarkupSafe 설치 중 에러가 발생하는 것을 확인하였다. 이 부분은 시간이 지나면 자연스레 해결될 것이라 생각된다.

  위 문제로 이 책의 예제를 시험해보기 위해, Linux 를 Virtualbox VM으로 설치해 다시 시도해 보았고 이 경우는 문제가 없이 설치되었다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬 라이브러리를 활용한 머신러닝 : 사이킷런 핵심 개발자가 쓴 머신러닝과 데이터 과학 실무서
안드레아스 뮐러.세라 가이도 지음, 박해선 옮김 / 한빛미디어 / 2017년 7월
평점 :
구판절판


리뷰에 앞서 본 리뷰는 한빛 출판 네트워크에서 진행한 나는 리뷰어다이벤트에서 제공받은 책으로 진행한 것을 밝힙니다.

머신러닝에 대해 화제가 된 것은 오늘 어제의 이야기는 아닙니다. 구글의 알파고가 사실 가장 쉽게 와 닿았던 머신러닝의 한 예이며, 이 외에도 다양한 기사들이 계속해서 들려오고 있고 또 계속 될 것이라 생각됩니다. 이러다보니 서점에 가서 보면 인공지능, 머신러닝, 딥러닝 등에 대한 책은 참으로 많이 쏟아져 나오고 있고, 이 책 또한 그 중 하나입니다.

먼저 책 내용을 떠나서 역자 분께서 꼼꼼하게 많은 부분을 챙겨주신 좋은 책이라 생각됩니다. 머신 러닝이나 AI 분야의 책을 많이 읽어보지는 못했지만, 역자 분의 주석이 이렇게 많은 책을 본 적은 없었습니다. 번역할 때 정말 꼼꼼히 읽고, 저와 같은 초보자들이 이해하지 못할 수도 있다는 우려 아닌 우려를 가지고 정성 들여 이곳 저곳 찾아보며 역자주를 달아놓으셨다는 생각이 여러 번 들었습니다.

머신 러닝을 공부하면서 확률, 통계와 같은 개념을 빼 놓을 수 없기 때문에, 관련분야 비전공자에게 밑바닥부터 접근하기에는 진입장벽이 너무 높을 수 밖에 없다는 생각이 늘 들었습니다. 근래에는 이 책에서 소개하는 scikit-learn과 같은 라이브러리의 도움으로 그나마 장벽이 좀 낮아지기는 했지만 그래도 어쩔 수 없는 부분이라는 생각이 듭니다. 이 책에서는 그런 부분에 대한 상세한 설명보다는, 어떤 경우에 어떤 모델을 어떻게 사용해야 하는 가를 각 모델 별로 장단점을 들어가며 예제와 함께 설명을 하고 있어 책의 내용을 이해하기가 그리 어렵지 많은 않다고 생각합니다. 또 그렇기 때문에 입문서이지만 필요에 따라서는 레퍼런스로 사용하는 것도 가능하리라고 생각됩니다. 5장을 넘어가면서 모델을 평가하고 파라메터 조정을 통한 개선에 대한 부분에 대한 할당, 그리고 수치뿐만이 아니라 텍스트에 대해서 어떻게 머신러닝을 적용할 수 있을 지에 대해 할당해 설명한 점은 어떤 식으로 머신 러닝을 적용할 수 있는지 초보자에게 좀 더 친절하게 설명하려고 노력한 것으로 생각되었습니다. 또 한국어판에 들어간 별도의 부록(7.8.1)도 있어 더욱 그런 생각이… ^^.

또 인터넷의 자료나 일부 다른 책들의 예제에서도 살펴볼 수 있듯이, 이 책도 jupyter notebook으로 예제를 모두 기술해 놓고, 예제에 사용한 data들을 github로 공개해 두어 인터넷으로 ipython 저장 파일(ipynb 파일)을 열어 직접 script typing 하지 않아도 script와 그 결과를 볼 수 있습니다.

 

그럼에도 불구하고, 이 책은 원저의 제목보다 번역서의 제목에 더 걸맞는 내용으로 기술되었다는 생각이 책을 읽으면서 많이 들었습니다. 즉 이 책은 제목 그대로 python 라이브러리를 통해 머신 러닝을 쉽게 접근하는 데 초점을 맞추었습니다(서문에도 그리 되어있습니다). Python에 대한 약간의 지식은 필요합니다. 책에서 구체적으로 설명하는 부분이 있지만, script 사용을 하나하나 다 설명하지 않습니다. numpy, pandas, matplotlib 사용 시 파라메터 설명이 상세하게 되어있지 않아, 해당 라이브러리에 익숙하지 않을 경우 reference manual을 보면서 하나 하나 찾아보면서 읽어나갈 필요가 있습니다.

또 책이 입문서다 보니, 모든 부분을 다룰 수 없어, 특정 토픽에 대해 깊이 다루지 못하는 분야가 있을 수 밖에 없습니다. 그래서 딥러닝과 같은 부분에 관심이 많은 분들이라면, 앤드루 응 교수님의 공개 강의, 또 한빛 미디어에서 나온 밑바닥부터 시작하는 딥러닝’, ‘텐서플로 첫걸음과 같은 다른 책들도 도움이 많이 될 것으로 생각됩니다.

 

 내용도 자세히 모르는 머신 러닝이라는 어려운 분야에 대해 리뷰를 하게 되어, 혹시 잘못 쓴 글이 있을 수 있으니 이 점은 너그러이 봐 주시길 바랍니다


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
처음 처음 | 이전 이전 | 1 | 2 | 3 | 4 | 5 | 6 |다음 다음 | 마지막 마지막