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
반응형
'IT > 혼자 공부하는 머신러닝+딥러닝' 카테고리의 다른 글
[Day-3] 혼자 공부하는 머신러닝+딥러닝 - 5 (4) | 2022.08.14 |
---|---|
[Day-3] 혼자 공부하는 머신러닝+딥러닝 - 4 (0) | 2022.08.13 |
[Day-2] 혼자 공부하는 머신러닝+딥러닝 - 3 (0) | 2022.08.13 |
[Day-1] 혼자 공부하는 머신러닝+딥러닝 - 2 (0) | 2022.08.08 |
[Day-1] 혼자 공부하는 머신러닝+딥러닝 - 1 (0) | 2022.08.07 |