fit()
메서드가 하는 역할)k-최근접 이웃 알고리즘
: 가장 간단한 머신러닝 알고리즘 중 하나. 어떤 규칙을 찾기보다는 전체 데이터를 메모리에 가지고 있는 것이 전부.정확도 = (정확히 맞힌 개수) / (전체 데이터 개수)
matplotlib
scatter()
: 산점도를 그리는 맷플롯립 함수.c
매개변수로 색깔 지정.marker
매개변수로 마커 스타일 지정sckit-learn
KNeighborsClassifier()
: k-최근접 이웃 분류 모델을 만드는 사이킷런 클래스.
n_neighbors
매개변수로 이웃의 개수 지정. 기본값은 5.
p
매개변수로 거리를 재는 방법 지정. 1일 경우 맨해튼 거리, 2일 경우 유클리디안 거리. 기본값은 2.
n_jobs
매개변수로 사용할 CPU 코어 지정. -1로 설정하면 모든 CPU 코어를 사용. 이웃 간의 거리 계산 속도를 높일 수 있지만 fit()
메서드에는 영향 없다. 기본값은 1
fit()
: 사이킷런 모델을 훈련할 때 사용하는 메서드.
처음 2개의 매개변수로 훈련에 사용할 특성과 정답 데이터를 전달
predict()
: 사이킷런 모델을 훈련하고 예측할 때 사용하는 메서드.
특성데이터 하나만 매개변수로 받는다.
score()
: 훈련된 사이킷런 모델의 성능을 측정.
처음 2개의 매개변수로 특성과 정답 데이터를 전달.
먼저 predict()
메서드로 예측을 수행한 다음 분류 모델일 경우 정답과 비교하여 올바르게 예측한 개수의 비율을 반환
특성
KNeighborsClassifier
fit()
### 확인문제 4번 (책 코드)
kn = KNeighborsClassifier()
kn.fit(fish_data, fish_target)
for n in range(5, 50):
# k-최근접 이웃 개수 설정
kn.n_neighbors = n
# 점수 계산
score = kn.score(fish_data, fish_target)
# 100% 정확도에 미치지 못하는 이웃 개수 출력
if score < 1:
print(n, score)
break
numpy
seed()
: 넘파이에서 난수를 생성하기 위한 정수 초깃값을 지정. 초깃값이 같으면 동일한 난수를 뽑을 수 있다.arange()
: 일정한 간격의 정수 또는 실수 배열을 만든다.shuffle()
: 주어진 배열을 랜덤하게 섞는다.지도 학습
샘플링 편향
행: 샘플, 열: 특성