안녕하세요.

예지우랑입니다. 

오늘 리뷰할 도서는 "파이썬 라이브러리를 활용한 머신러닝" 입니다. 

전통의 명가 한빛미디어에서 또다른 전통의 명가 오라일리에서 나온 Introduction to Machine Learning with Python( 파이썬 라이브러리를 활용한 머신러닝)의 번역개정판을 출판하였습니다. 이번 버전은 사이킷런 최신버전을 반영한 풀컬러번역 개정판입니다. 

또 운좋게도 리뷰 이벤트에 당첨되어 책을 읽고 리뷰를 할 수 있는 기회를 얻었습니다.

항상 좋은 책을 출판해주시는 전통의 명가, 개발자들의 친구 한빛 미디어에 감사의 말씀 드립니다.

파이썬 라이브러리를 활용한 머신러닝[번역개정판]


책옆의 테드폴 올챙이의 다크가 제 눈의 다크랑 비슷하네요. 너도힘들구나 나도 힘들다.

저는 작은 회사에서일하는 보잘것없는 웹개발자지만 이것저것 관심은 많습니다. 그 많은 관심중 하나가 바로 머신러닝이었죠 회사에서 커머스 도메인과 물류 도메인을 개발하고있기때문에 '머신러닝을 이용하면 출고량을 예측할수 있지 않을까? 판매량을 예측할 수 있지않을까?" 뭐 이런생각을 해보면서 성킴님의 머신러닝책을 보고 앞쪽을 잠시 보고 수학공식만 보다가 마음을 접었죠. 많은 개발자분들 저랑 비슷할거같습니다. 

그러다가 텐서플로우르 쓰면 머신러닝이 편하다더라! 하는 카더라를 듣고 파이썬을 공부하기 시작했는데 여느 개발자들과 마찬가지로 실제 업무에서 파이썬을 쓰지 않다보니 공부 속도는 너무나도 더뎠죠. 결국 텐서플로우는 만져보지도못하구요 그러던 와중에 전통의 명가 한빛미디어에서 이런 좋은 리뷰 기회를 주셔서 감사합니다. 

먼저 목차부터 살펴보기로하지요 


목차

  1. 소개
    1. 왜 머신러닝인가?
    2. 왜 파이썬인가?
    3. scikit-learn
    4. 필ㅅ 라이브러리와 도구들
    5. 파이썬2 vs 파이썬3
    6. 이책에서 사용하는 소프트웨어 버전
    7. 첫번째 매플리케이션: 붓꽃의 품종 분류
    8. 요약 및 정리
  2. 지도학습
    1. 분류와 회귀
    2. 일반화, 과대적합, 과소적합
    3. 지도학습알고리즘
    4. 분류 예측의 불확실성 추정
    5. 요약 및 정리
  3. 비지도 학습과 데이터 전처리
    1. 비지도학습의 종류
    2. 비지도 학습의 도전과제
    3. 데이터 전처리와 스케일 조정
    4. 차원 축소, 틍성 추출, 매니폴드 학습
    5. 군집
    6. 요약 및 정리
  4. 데이터의 표현과 특성 공학
    1. 번주형 변수
    2. oneHotEncoder와 Columntransformer: scikit-learn으로 범주형 변수 다루기
    3. make_column_transformer로 간편하게 ColumnTransformer만들기
    4. 구간 분할, 이산화 그리고 선형모델, 트리모델
    5. 상호작용과 다항식
    6. 일변량 비선형 변환
    7. 특성 자동 선택
    8. 전문가 지식 활용
    9. 요약 및 정리
  5. 모델 평가와 성능 향상
    1. 교차검증
    2. 그리드 서치
    3. 평가 지표와 측정
    4. 요약 및 정리
  6. 알고리즘 체인과 파이프라인
    1. 데이터 전처리와 매개변수 선택
    2. 파이프라인 구축하기
    3. 그리드 서치에 파이프라인 적용하기
    4. 파이프라인 인터페이스
    5. 전처리와 모델의 매개변수를 위한 그리드 서치
    6. 모델선택을 위한 그리드 서치
    7. 요약 및 정리
  7. 텍스트 데이터 다루기
    1. 문자열 데이터 타입
    2. 예제 애플리케이션: 영화 리뷴 감성 분석
    3. 텍스트 데이터를 BOW로 펴현하기
    4. 불용어
    5. tf-idf로 데이터 스케일 변경하기
    6. 모델 계수 조사
    7. 여러 단아로 만든 BOW(n-그램)
    8. 고급 토큰화, 어간 추출, 표제어 추출
    9. 토픽 모델링과 문서 군집화
    10. 요약 및 정리
  8. 마무리
    1. 머신러닝 문제 접근 방법
    2. 프로토타입에서 제품까지
    3. 제품 시스템 테스트
    4. 나만의 추정기 만들기
    5. 더 배울것들
    6. 마치며

목차는 위와 같았습니다. 

서두에 말씀드렸던것처럼 머신러닝을 공부해야지 하고 생각했지만 시간이없고 막연하고 해서 못하시던 분들이 보시기 좋을거같습니다. 목차를 보시면서 그동안 컨퍼런스, 세미나, 유투브, 마이크로스프트웨어같은 잡지 에서 보던 많은 용어들이 보이시죠? 

각가에 대한 설명과 예제 까지 있어서 보기 좋았습니다. 

결론부터 말씀드리자면 책에서 말하길 '복잡한 이론을 알 필요없이 파이썬의 강력한 기능을 활용만하여 머신러닝을 배우고 써먹을 수 있다' 라고하지만 사실 이말은 반만 맞습니다. 책은 그래프와 소스코드를 동원하여 쉽게 설명을해주지만 쉽지는 않습니다. 정확히 알고 사용하려면 이론도 잘 알아야 겠지요. 하지만 책에서 말한거처럼 책을 읽으면서 이해하고 소스코드를 따라해보면 정말 머신러닝이 됩니다! 머신러닝이란 막연한 터널에서 갑자기 끝을 알리는 빛이 보이기 시작한거같은 느낌이 들죠 

약 2주간의 기간동안 리뷰를 해야했기에 책의 모든부분을 보지는 못하였고, 빠르게 속독 후 예제들을 따라해가며 책을 읽었습니다. 속독할때는 당연히 이게 무슨소리인가 하면서 읽었고, 2회독 할때부터는 소스코드를 직접 구현해보면서 아~ 하는 감탄사를 내뱉게 되었죠. 

지금 리뷰를 작성한 이후부터 또 다음 부분들을 실습할 것이고, 책을 마무리하면 앞서 말씀드렸던것처럼 주문량 / 출고량 예측을 시도해볼 수 있을거같네요 

아주 유익한 시간이었습니다. 

이상으로 예지우랑읜 파이썬 라이브러리를 활용한 머신러닝 리뷰를 마치겠습니다. 

 

 

반응형

안녕하세요

예지우랑입니다. 

오늘 리뷰할 도서는 이것이Fedora리눅스다 - 실무현장 그대로 배우는 서버 & 네트워크 입니다. 

전통의 명가 한빛미디어에서 전통의 명저를 많이 작성하신 우재남님의 이것이 Fedora 리눅스다가 나왔습니다. 

또 운좋게도 리뷰 이벤트에 당첨되어 책을 읽고 리뷰를 할 수 있는 기회를 얻었습니다.

항상 좋은 책을 출판해주시는 전통의 명가, 개발자들의 친구 한빛 미디어에 감사의 말씀 드립니다.

우재남님의 책은 전통적으로 남심을 자극하는 로봇 밑 기계들 그림으로 됭어있지요. 나름 의미를 더해보자면 일러스트의 기계들이 책의 내용을 일부 표현하고있습니다. 이번 표지도 여기저기 엔진이나 모듈, 도구들이 덛붙여진 로봇이 페도라의 특징과 잘 부합되는거같네요 

표지를 보고 흐믓해하며 목차부터 살펴보도록하겠습니다. 

PART 01 성공적인 학습을 위한 준비 작업 및 Fedora 리눅스 설치 

CHAPTER 01 실습 환경 구축 

...더보기

1.1 가상머신의 소개와 설치

1.2 가상머신 생성 

1.3 VMware의 특징 

1.4 원활한 실습 진행을 위한 사전 준비 

CHAPTER 02 Fedora 리눅스 소개 

...더보기

2.1 리눅스의 개요 

2.2 Fedora 리눅스 배포판 

CHAPTER 3 Fedora 리눅스 설치 

...더보기

3.1 3대의 Fedora 리눅스 설치 

3.2 WinClient 설치 

PART 02 Fedora 리눅스의 기본 개념과 리눅스 관리자의 기본 역할 

CHAPTER 04 서버를 구축할 때 알아야 할 필수 개념과 명령어 

...더보기

4.1 리눅스 운영 전에 알아야 할 개념 

4.2 리눅스 기본 명령어 

4.3 사용자 관리와 파일 속성 

4.4 리눅스 관리자를 위한 명령어 

4.5 네트워크 관련 설정과 명령어 

4.6 파이프, 필터, 리디렉션 

4.7 프로세스, 데몬, 서비스 

4.8 서비스와 소켓 

4.9 응급 복구 

4.10 GRUB 부트로더 

4.11 간단한 커널 컴파일 

 

CHAPTER 05 X 윈도를 사용해보자 

...더보기

5.1 그놈 데스크톱 환경 설정 

5.2 X 윈도 응용프로그램 

5.3 Fedora 소프트웨어 센터 

5.4 리눅스에서 Windows 응용프로그램 실행

5.5 KDE 데스크톱의 사용

CHAPTER 06 하드디스크 관리와 사용자별 공간 할당 

...더보기

6.1 하드디스크 한 개 추가하기 

6.2 여러 개의 하드디스크를 하나처럼 사용하기 

6.3 LVM 

6.4 RAID에 Fedora 설치하기 

6.5 사용자별로 공간을 할당해주자 

 

CHAPTER 07 셸 스크립트 프로그래밍 

...더보기

7.1 셸의 기본  

7.2 셸 스크립트 프로그래밍 실습 

 

PART 03 네트워크 서버 구축 실무 I 

CHAPTER 08 원격지 시스템 관리하기 

...더보기

8.1 텔넷 서버  

8.2 OpenSSH 서버  

8.3 VNC 서버  

CHAPTER 09 네임 서버 설치와 운영 

...더보기

9.1 네임 서버의 개념  

9.2 네임 서버의 구축  

 

CHAPTER 10 메일 서버 설치와 운영 

...더보기

10.1 메일 서버의 개념 

10.2 센드메일 서버의 구현  

10.3 웹 메일의 설치 및 사용  

CHAPTER 11 데이터베이스 서버 구축과 운영 

...더보기

11.1 DBMS의 개념과 간단한 SQL문 

11.2 MariaDB 설치와 운영  

11.3 Windows용 응용프로그램과 리눅스 DBMS의 연동 

11.4 Oracle Database Express의 설치와 운영 

 

CHAPTER 12 웹 서버 설치와 운영

...더보기

12.1 APM 설치와 웹 사이트 구축  

12.2 웹 서버의 응용 서비스

12.3 웹 서버 설정 파일과 X 윈도용 설정 도구 

 

Part04 네트워크 서버 구축 실무 II

CHAPTER 13 FTP 서버 설치와 운영 

...더보기

13.1 vsftpd의 설치와 운영 

13.2 proFTPD의 설치와 운영

13.3 pure-FTPD의 설치와 운영 

CHAPTER 14 NFS 서버 설치와 운영 

...더보기

14.1 NFS 서버 구현 

14.2 proFTPD의 설치와 운영 

CHAPTER 15 Samba 서버 설치와 운영 

...더보기

15.1 리눅스에서 Windows의 폴더와 프린터 사용 

15.2 Windows에서 리눅스 폴더와 프린터의 사용 

 

CHAPTER 16 DHCP 서버 설치와 운영 

...더보기

16.1 DHCP 개념 

16.2 DHCP 구현 

CHAPTER 17 프록시 서버 설치와 운영 

...더보기

17.1 프록시 서버의 개념 

17.2 프록시 서버의 구현 

CHAPTER 18 방화벽 컴퓨터를 만들자 

...더보기

18.1 보안을 위한 네트워크 설계 

18.2 리눅스 방화벽 컴퓨터의 구축 

CHAPTER 19 PXE 설치 서버 

...더보기

19.1 PXE 설치 서버의 개념과 구현  

19.2 킥스타트  

 

부록 외부 컴퓨터에서 VMware 가상머신으로 접속하기

 

먼저 리뷰어인 저는 어떤사람인지 말씀드려야할거같습니다. 

저는 약 5년의 경력이 있는 웹개발자입니다. 흔히 말하는 풀스택 개발자이지만 주로 백엔드에 좀더 주력하고있습니다. 

한줄평을 하자면 "처음 개발을 배우는 개발자 지망생들에게 적절한 책이다!" 입니다. 

개발자는 네트워크 엔지니어도 아니고 DBA도 아니지만 조금씩은 해야할 필요가있습니다. 혼자서 개발할것들을 테스트한다던가, 시스템을 설계한다던가 할때 말이죠.

물론 저는 네트워크엔지니어의 고충을 완벽히 알지는 못하지만, 책의 내용보다는 더 심화된 내용이 필요하단건 알고 있습니다. 

책은 먼저, [리눅스를 왜 사용하는가?]에 대한 답을 가지고있습니다. 처음 개발공부를 하다보면 막연하게 '리눅스를 해야하는데...'라는 생각을 하는데 정작 왜 해야하는가는 잘 모릅니다. 하지만 책을 읽어보면 그 답이 있습니다. 리눅스를 왜 해야하는지 모르는 사람들에게 추천드립니다. 

책의 장점중 하나는 학습로드맵에 있습니다. 리눅스로 구현하고자하는것을 하기위해 필요한 사전지식을 잘 보여주기때문에 일종의 쿡북처럼 사용하여 내가 구현하고자하는 기능을 빠르게 구현할수있죠.

책은 전반적으로 리눅스의 사용법을 알려주며, 적절한 오픈소스들도 소개해주고있고 서버로서의 리눅스에서 많이 사용되는 개념도 설명해주고있습니다. 

물론 저는 경력이있고 리눅스도사용해본적이 있는 개발자이기때문에 필요한 기능과 사용법등은 그때그때 검색해서 확인해가며 사용할 수 있지만 처음 리눅스를 공부할때 이런 책이 있었으면 참 좋았을거같다는 생각이 드네요.

책의 구성이 책을 따라가다보면 하나의 서버가 구축되는 형식이기때문에 학생들이 방학때 한권사서 따라해본다면 좋을거같습니다. 

총평해보자면 "리눅스를 처음 접하는 사람에게 좋다!" 입니다. 이미 실무에서 사용해서 어느정도 익숙한 개발자보다는 초보자에게 적합합니다. 대상이 초보자인 책이기때문에 초보자입장에선 적절하고 친절한 설명이지만 중급자 이상이 보기엔 이미 알고있는것을 한번 더 보게되는 경향이 있습니다. 하지만 중급자라도 세세한 설명이 필요하다면 사서 보시는것도 좋을거같습니다. 

 

이상 예지우랑의 이것이 Fedora 리눅스다 리뷰였습니다. 

 

 

 

반응형

안녕하세요

예지우랑입니다. 


오늘 리뷰할 도서는 처음배우는 스프링부트2(한빛미디어) 입니다.

전통의 명가 한빛미디어에서 스프링부트2 초보자를 위한 책이 나왔습니다. 

또 운이 좋게도 리뷰 이벤트에 당첨되어서 책을 읽고 리뷰를 할 수 있는 기회를 얻었습니다. 

항상 좋은책을 출반해주시는 전통의 명가, 개발자들의 친구 한빛미디어에 감사의 말씀 드립니다. 


책이 약간 돌아가고 포커스가 잘 안맞는거같지만 저는 개발자이지 사진작가가 아니기때문에 너그러이 이해해주시면 감사하겠습니다. 

리뷰할 책의 표지는 이책입니다. 

10월에 출간된 책 치고는 벗꽃 비슷한것이 표지에 보이네요 약간 이해가 안갈수도 있지만 로드존슨 아저씨가 스프링 이름을 춥고 길었던 EJB에 봄이 왔으면 좋겠다는 생각에 지었다는 말을 어디서 봤던거같은데 아마 저자 김영재(young891221@gmail.com)님과 한빛미디어는 봄은 이미 왔고, 스프링 부투로 꽃이 피리란 생각에 이런 표지를 정했는지도 모르겠습니다. 


기술서적 리뷰는 처음이라 약간 설레이면서 걱정도 되는데요. 이제 본격적으로 리뷰를 시작해봅시다. 


이 책은 크게 이런 목차를 가지고 있습니다. 

CHAPTER 1 스프링 부트 입문하기

 

CHAPTER 2 스프링 부트 환경 설정

 

CHAPTER 3 스프링 부트 테스트

 

CHAPTER 4 스프링 부트 웹

 

CHAPTER 5 스프링 부트 시큐리티 + OAuth2

 

CHAPTER 6 스프링 부트 데이터 레스트

 

CHAPTER 7 스프링 부트 배치

 

부록 A 코드 다이어트를 위한 롬복 프로젝트 

부록 B 자동으로 LiveReload하는 devtools 

부록 C 스프링 부트 빌드와 배포 

부록 D 커스텀 배너 설정하기 

부록 E 페이스북, 구글, 카카오 개발자센터 연동  


이렇게 크게 7가지 부분과 5가지의 부록으로 나뉘어져있습니다. 

먼저 앞의 2장은 스프링 부트의 소개, 개발환경 설정방법 이구요 

그다음 3장은 설정된 환경을 잘 테스트하여 앞으로 배울 스프링 부트의 여러 기능들에 대해서 살펴보는 준비단계입니다. 


이어지는 4, 5, 6, 7장은 각각 웹, 시큐리티, REST, 배치를 다루고 있습니다. 

이런 구성을 보면서 저는 정말 적절하다고 느꼇는데요, 

스프링을 강력하게 만들어주는 네가지 기능이바로 4,5,6,7장에서 다루어 지고 있는 부분들이라고 생각합니다.  이미 스프링을 사용하고 계신분들은 그 중요성과 필요성때문에 가장 필요한 부분일 것이고, 책의 제목처럼 '처음 배우는'분들에게는 실무에서 접할 가능성이 가장 큰 네가지 라고 생각됩니다. 

각각 쳄터는 배경지식 설명 -> 설계 -> 구현 순으로 진행되고있습니다. 해당 챕터들에 대해 처음 보는 분들이시더라도 적절한 설명이있기때문에 큰 문제는 없지만, 해당 키워드로 검색을해서 배경지식을 채우신 후에 책을 읽으시면 시너지 효과가 더 클거라고 생각됩니다. 


실습을 통하여 설명을 진행하기 때문에 특별히 어려운점없이 쉽게 이해해가며 스프링부트를 배울 수 있었습니다. 


책을 보면서 계속 든 생각중 하나는 '너무 복잡하고 어려운 설정' 때문에 어려워진 스프링을 위해서 '약간의 규약을 따른다며 모든것이 편해진다'라는 개념으로 볼 수 있는 스프링 부트가 나왔지만 결국 스프링부트도 적절하고 효율적으로 사용하려면 규약속에 어떤 의미가 있고, 규칙들이있는지를 알고있어야하며, 좋을 효율을 위해서는 커스터마이징도 필요하다 라는 생각이었습니다. 


책에서는 어노테이션들과 설정 등에 대한 설명도 잘 되어있어, 처음 접하는 사람들이 가질 수 있는 의문에 대한 해답도 잘 주고있다고생각합니다. 


책에 총평을해보자면 - 웹개발이 처음인사람 / 중급 개발자가 되는 과정에 있는사람 모두에게 적절한 책이라고 생각됩니다. 다만 이미 스프링 부트에 대해 전반적으로 알고계신다면 이책은 리마인드 의 의미 정돌르 가질거같습니다. 


이상 예지우랑의 처음해보는 스프링 부트2 리뷰였습니다.

감사합니다. 



반응형

+ Recent posts