핸즈온 머신러닝 1장, 2장

핸즈온 머신러닝 2판이 출간되었습니다. 2판은 더욱 더 알차고 폭넓은 주제를 다루고 있습니다. 1판에서 아쉬웠던 비지도 학습과 텐서플로 2로 바뀌면서 변경된 내용, 새로운 신경망 구조를 가득 담고 있습니다. 952페이지 풀 컬러입니다. 딥러닝을 다루는 2부의 내용이 크게 늘었습니다. 케라스 뿐만 아니라 RNN의 최근 발전을 많이 포함하고 있고 GAN을 새롭게 추가했습니다.

b9267655530_l이 글은 한빛미디어에서 출간한 “핸즈온 머신러닝” 도서의 1장과 2장의 내용입니다. 1장, 2장은 머신러닝에 대한 개괄적인 소개와 머신러닝 프로젝트를 진행하는 자세한 단계를 포함하고 있어서 많은 사람들에게 유익한 자료가 되길 기대합니다. 이 책은 온라인(YES24교보문고)/오프라인 서점에서 구입하실 수 있습니다. 구입하시면 저에게 큰 도움이 됩니다. 🙂

★★★★★ 제가 본 한국어로 된 ML책중에서 최고의 기량을 갖추었습니다.(bk**ys 님)
♥♥♥♥ 좋은 책입니다. 꼭 읽어봅시다.(we**lifema 님)
★★★★ 현존하는 머신러닝 책중 최고.(wnghdcjfe 님)
★★★★★ 머신러닝/딥러닝계의 바이블이라고 생각합니다!(Kebee 님)
★★★★★ 책장에 꽂아두고 마르고 닳도록 꺼내 보는 그러한 책인 것이다.(dragmove 님)

도서의 내용을 공개할 수 있도록 허락해 주신 한빛미디어 출판사에 깊이 감사드립니다. 이 책의 저작권은 한빛미디어(주)에 있으므로 무단 복제 및 무단 전제를 금합니다.

추천의 글

옮긴이의 말

이 책에 대하여

감사의 글

1. 한눈에 보는 머신러닝

  1. 머신러닝이란?
  2. 왜 머신러닝을 사용하는가?
  3. 머신러닝 시스템의 종류
    1. 지도 학습과 비지도 학습
    2. 배치 학습과 온라인 학습
    3. 사례 기반 학습과 모델 기반 학습
  4. 머신러닝의 주요 도전 과제
    1. 충분하지 않은 양의 훈련 데이터
    2. 대표성 없는 훈련 데이터
    3. 낮은 품질의 데이터
    4. 관련 없는 특성
    5. 훈련 데이터 과대적합
    6. 훈련 데이터 과소적합
    7. 한걸음 물러서서
  5. 테스트와 검증
  6. 연습문제

2. 머신러닝 프로젝트 처음부터 끝까지

  1. 실제 데이터로 작업하기
  2. 큰 그림 보기
    1. 문제 정의
    2. 성능 측정 지표 선택
    3. 가정 검사
  3. 데이터 가져오기
    1. 작업환경 만들기
    2. 데이터 다운로드
    3. 데이터 구조 훑어보기
    4. 테스트 세트 만들기
  4. 데이터 이해를 위한 탐색과 시각화
    1. 지리적 데이터 시각화
    2. 상관관계 조사
    3. 특성 조합으로 실험
  5. 머신러닝 알고리즘을 위한 데이터 준비
    1. 데이터 정제
    2. 텍스트와 범주형 특성 다루기
    3. 나만의 변환기
    4. 특성 스케일링
    5. 변환 파이프라인
  6. 모델 선택과 훈련
    1. 훈련 세트에서 훈련하고 평가하기
    2. 교차 검증을 사용한 평가
  7. 모델 세부 튜닝
    1. 그리드 탐색
    2. 랜덤 탐색
    3. 앙상블 방법
    4. 최상의 모델과 오차 분석
    5. 테스트 세트로 시스템 평가하기
  8. 론칭, 모니터링, 그리고 시스템 유지 보수
  9. 직접 해보세요!
  10. 연습문제

넘파이 튜토리얼

핸즈온 머신러닝 1장, 2장”에 대한 33개의 생각

  1. gyogyo

    from sklearn.datasets import fetch_mldata
    mnist = fetch_mldata(‘MNIST original’)

    이 두 줄을 실행하면 아래의 에러가 뜹니다. 왜 그럴까요?
    IndexError: index out of range

    좋아요

    응답
    1. 박해선 글의 글쓴이

      사이킷런은 mldata.org 사이트에서 예제 데이터를 다운로드하는데요. 이 사이트 지금 접속이 안되네요. ㅠ.ㅠ 아마도 데이터를 제대로 다운받지 못해서 발생하는 문제인 것 같습니다. 제 컴퓨터의 ~/scikit_learn_data/mldata/mnist-original.mat 파일 사이즈가 53메가 정도되는데 비교해서 확인해 보시면 좋을 것 같네요.

      좋아요

      응답
      1. 전창민

        mldata.org에 계속 접근이 안되는데 혹시 다른 방법이 있을까요…?
        코드 실행하면 TimeoutError가 뜨고 mldata.org자체도 로딩이 안되네요

        좋아요

      2. gyogyo

        Copy 해도 index out of range 에러가 계속 뜹니다. 파일이 없다는 것이 아니고, 뭔가 다른 에러가 아닐까요?

        좋아요

      3. 박해선 글의 글쓴이

        mnist-original.mat 파일을 확실히 덮어 썼는지 확인해 보시겠어요? 이 파일의 사이즈는 55,440,440 바이트입니다. 사이즈가 맞다면 인터넷 연결이 없어도 fetch_mldata(‘MNIST original’) 함수 호출에서 에러가 발생하지 않을 것 같습니다.

        좋아요

      4. gyogyo

        왜 그런지 모르겠지만, fetch_mldata(‘MNIST original’)를 몇번 재실행 하니 됩니다.
        고맙습니다~

        Liked by 1명

  2. gyogyo

    p228 Gini impurity 계산하는 본문에 오류가 있습니다. 식 6-1의 윗줄에 ” 예를 들어, 깊이 2의 왼쪽 노드의 gini 점수는 1- (0/54)^2 – (49/54)^2 ∽ 0.168입니다. ” 라는 문구가 있는데요. 계산수식에 -(5/54)^2 항을 추가해야 할 듯 합니다.

    번역이 너무너무 깔끔해서 공부하기 좋네요. 정말 감사드립니다.

    좋아요

    응답
  3. 박인혁

    책124p
    from sklearn.datasets import fetch_mldata
    mnist = fetch_mldata(‘MNIST original’)
    mnist

    실행하면
    TimeoutError: [WinError 10060] 연결된 구성원으로부터 응답이 없어 연결하지 못했거나, 호스트로부터 응답이 없어 연결이 끊어졌습니다

    라고 뜨는데 제가 사용하고 있는 인터넷에는 아무 문제가 없습니다.
    어떻게해야되죠..?

    좋아요

    응답
      1. 박인혁

        죄송한데요.. 사이킷런 0.20.2로 업데이트 했고 알려주신대로 fetch_mldata를 fetch_openml로 수정했음에도 불구하고 같은 에러가 뜹니다.. 다른 문제가 있는건가요 ㅠㅠㅠㅠ

        좋아요

      2. 박해선 글의 글쓴이

        안녕하세요. 0.20.2 버전에서 정상 다운로드 확인됩니다. ~/scikit_learn_data/openml 폴더를 삭제하시고 다시 시도해 보시겠어요.

        좋아요

      1. 박해선 글의 글쓴이

        fetch_openml 함수에서 데이터를 올바르게 다운로드하지 못해서 생기는 문제 같습니다. 사용자 홈 폴더 아래 scikit_learn_data/openml/openml.org/ 폴더를 지우고 다시 시도해 보세요.

        좋아요

  4. 김동현

    안녕하세요, 이 책을 사서 공부하고 있는 학생입니다. 다름 아니라 블로그에 공부한 내용을 정리 및 요약을 해서 글을 쓰는 중인데 혹시 계속 이렇게 해도 괜찮은가 해서 여쭤봅니다. 안되면 글 내리려고 합니다. https://blog.naver.com/zoown13

    좋아요

    응답
    1. 박해선 글의 글쓴이

      안녕하세요. 사실 책의 내용에 대한 저작권은 출판사에 있답니다. 명확한 기준이 없다는 것도 특징입니다. 🙂
      일반적으로 책의 내용을 요약하는 것이 문제되지는 않습니다. 여러 문단을 통채로 옮기거나 이미지를 복사하시면 출판사에서 수정을 요청하실 수도 있습니다. 자주 있는 일은 아닙니다. 깃허브에 공개된 텍스트나 그래프, 이미지, 코드는 모두 재 사용 가능합니다.
      책을 구매해 주셔서 감사합니다. 도움이 되시길 바랄께요!

      좋아요

      응답
  5. 김은호

    같은 저자의 “Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow (2nd Edition)”를 번역할 계획이 있는지 궁금합니다.

    Liked by 1명

    응답
  6. 광영

    2판 109페이지 하단, 임계값에 따라 희소행렬 혹은 밀집행렬을 반환한다 라는 부분이 잘 이해가 가지 않습니다.

    좋아요

    응답
    1. 박해선 글의 글쓴이

      안녕하세요. 그 앞의 문단을 함께 참고하세요. ColumnTransformer는 0이 아닌 원소가 임곗값보다 많으면 밀집 행렬을 반환합니다. 그 반대의 경우는 희소행렬을 반환합니다.

      좋아요

      응답
  7. 광영

    4장 식 4-5 편도함수 식에서 왜 위첨자 i는 다 괄호가 붙어있는 건가요? 괄호의 의미가 뭔지 모르겠습니다. 파라미터 j에 대한 배치 m개 안의 개별 요소 i 들이라는 의미라면 괄호가 없어도 무방할거 같은데요;;

    좋아요

    응답
    1. 박해선 글의 글쓴이

      안녕하세요. 무슨 의미가 있는 것은 아닙니다. 2장 초반에 저자가 책에 사용할 표기법을 그렇게 정의했기 때문입니다. 🙂

      좋아요

      응답
  8. 광영

    선생님 4장의 180쪽 그림 4-14와 같은 모양을 그려내는데는 성공하였습니다.
    다만 이 과정에서 의아했던것이 파이프라인으로 폴리피쳐와 스케일러를 핏&도란스포즈 시켜주고 마지막에 리니어를 핏 시켜주는데, 선생님 코드에서 파이프라인이기 때문에 모든 과정에서 X와 y를 모두 사용합니다. 이때 폴리피쳐를 핏 시키는 것은 사실 X만 사용해야 하는 것이 아닌가요?
    폴리피쳐를 핏&트랜스 시켜주면서 y도 같이 사용하는 것이 이해가 가지 않습니다.
    스케일러에 y가 섞인 폴리피쳐가 들어가게 되는데요;;;;;

    좋아요

    응답
    1. 광영

      자답입니다. PolynomialFeatures, StandardScaler 는 y가 들어가도 무시합니다. 핏엔 도란스폼 형식을 파이프라인으로 받을 때도 문제 없게 하기 위해서 그런거 같습니다. 안 쓰면, 넣어줘도 무시하는 식으로

      Liked by 1명

      응답
  9. 광영

    5.4.2 목적함수로 시작 부분에서

    “결정함수의 기울기를 생각해보면 이는 가중치 벡터의 노름 ||w||와 같습니다” 라는 문장이 도저히 이해가 안갑니다.

    “이는” 이 지칭하는 것이 무엇인가요? 결정함수의 기울기가 바로 가중치 벡터의 놈 이라는 것입니까?

    느낌상으로는 “결정함수의 기울기를 생각해보면 마진은 가중치 벡터의 노름 ||w||에 비례합니다” 가 맞는 문장 아닌가 싶습니다.

    좋아요

    응답
      1. 광영

        기울기는 양음 으로 방향이 갈리는데, 놈은 방향이 없는 벡터의 절대값이지 않습니까? 결정함수의 기울기가 벡터의 크기 이다 라는 말씀은, 양음은 관계 없이 큰 놈은 큰 절대값 기울기를 보인다는 말씀이신가요?

        좋아요

  10. 광영

    선생님 그리드서치cv에서 어떻게 프로그레스를 출력하셨습니까? 선생님 깃헙 handson-ml2/blob/master/09_unsupervised_learning.ipynb 에서 성공적으로 89번 셀에서 그리드서치 과정을 출력하셨는데, 저는 버보스를 바꿔봐도 출력되지 않습니다. https://stackoverflow.com/questions/24121018/sklearn-gridsearch-how-to-print-out-progress-during-the-execution
    “if you are using IPython Notebook, the output is in the IPython terminal window, not in the interactive session.”
    라고 해서 안보이는게 정상이라고 하긴 하는데…… 방법을 알려주시면 감사하겠습니다.

    좋아요

    응답

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.