#8. 최근접 이웃 알고리즘 실습, 이웃의 개수가 지도학습에 미치는 영향

#8. 최근접 이웃 알고리즘 실습, 이웃의 개수가 지도학습에 미치는 영향

#유방암 데이터로 분류하기 from sklearn.datasets import load_breast_cancer cancer = load_breast_cancer() X_train, X_test, y_train, y_test = train_test_split( cancer.data, cancer.target, stratify = cancer.target, random_state = 66) #훈련, 시험 데이터로 분류하기 training_accuracy = [] test_accuracy = [] neighbors_settings = range(1, 11 ) #이웃의 수를 1부터 10명까지 살펴볼 것임 for n_neighbors in neighbors_settings: #이전 문장에서 볼 수 있듯이 neighbors_settings는 범위를 표현하는 객체. #for문에 의해서 순차적으로 반복해서 n_neighbors에 숫자가 지정되고, #그것이 KNeighborsClassifier에서 매개변수 역할을 한다. 1부터 10까지 반복. clf = KNeighborsClassifier(n_neighbors = n_neighbors) #분류 알고리즘을 객체clf으로 표현 clf.fit(X_train, y_train) #객체clf의 메서드fit으로 훈련 데이터로 모델 학습하기 training_accuracy.append(clf.score(X_train, y_train)) #score메서드로 훈련 데이터의 정확도를 계산해 생성해둔 변수에 저장 test_accuracy.append(clf.score(X_test, y_test)) #위와 같이 시험 데이터의 정확도를 계산해 변수에 저장 #그래프 표현하기 plt.plot(neighbors_settings, training_accuracy, label = "Training Accuracy") plt.plot(neighbors_settings, test_accuracy, label = "Test Accuracy") plt.xlabel("n_neighbors") plt.ylabel("Accuracy") plt.legend()

from http://peaceful-dotori.tistory.com/12 by ccl(A) rewrite - 2021-12-27 11:27:08