새소식

반응형
IT/혼자 공부하는 머신러닝+딥러닝

[Day-4] 혼자 공부하는 머신러닝+딥러닝 - 6

  • -
728x90
반응형

# page 79 ~ 86

혼자공부하는 머신러닝+딥러닝 - 박해선 지음

 

두 번째 머신러닝 프로그램:

이전에 만든 훈련 세트와 테스트 세트로 k-최근접 이웃 모델을 훈련시켜 봅시다.

fit() 메서드를 실행할 때마다 KNeighborsClassifier 클래스의 객체는 이전에 학습한 모든 것을 잃어버립니다.

이전 모델을 그대로 두고 싶다면 KNeighborsClassifier 클래스 객체를 새로 만들어야 합니다.

 

kn = kn.fit(train_input, train_target)

kn.score(test_input, test_target)

# 출력 결과물
1.0

 

100%의 정혹도로 테스트 세트에 있는 생성 확인 가능!

 

 

predict() 메서드로 테스트 세트의 예측 결과와 실제 타깃 비교:

kn.predict(test_input)

# 출력 결과물
array([0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0])

test_target

# 출력 결과물
array([0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0])

 

 

전체 소스 코드 링크:

 

 

마무리 정리:

키워드로 끝내는 핵심 포인트:

  • 지도학습은 입력과 타깃을 전달하여 모델을 훈련한 다음 새로운 데이터를 예측하는 데 활용합니다. 1장에서부터 사용한 k-최근접 이웃이 지도 학습 알고리즘입니다.
  • 비지도 학습은 타깃 데이터가 없습니다. 따라서 무엇을 예측하는 것이 아니라 입력 데이터에서 어떤 특징을 찾는 데 주로 활용합니다.
  • 훈련 세트는 모델을 훈련할 때 사용하는 데이터입니다. 보통 훈련 세트가 클수록 좋습니다. 따라서 테스트 세트를 제외한 모든 데이터를 사용합니다.
  • 테스트 세트는 전체 데이터에서 20~30%를 테스트 세트로 사용하는 경우가 많습니다. 전체 데이터가 아주 크다면 1%만 덜어내도 충분할 수 있습니다.

 

핵심 패키지와 함수:

numpy

  • seed()는 넘파이에서 난수를 생성하기 위한 정수 초깃값을 지정합니다. 초깃값이 같으면 동일한 난수를 뽑을 수 있습니다. 따라서 랜덤 함수의 결과를 동일하게 재현하고 싶을 때 사용합니다.
  • arrange()는 일정한 간격의 정수 또는 실수 배열을 만듭니다. 기본 간격은 1입니다. 매개변수가 하나이면 종료 숫자를 의미합니다. 0에서 종료 숫자까지 배열을 만듭니다. 종료 숫자는 배열에 포함되지 않습니다.
    • 매개변수가 2개면 시작 숫자, 종료 숫자를 의미합니다.
    • 매개변수가 3개면 마지막 매개변수가 간격을 나타냅니다.
  • shuffle()은 주어진 배열을 랜덤하게 섞습니다. 다차원 배열의 경우 첫 번째 축(행)에 대해서만 섞습니다.

 

 

 

 

감사합니다 :) 

 

 

 

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.