Code/머신러닝 in Python

[Python] k-nearest neighbor 예제

초롱스쿨 2019. 8. 26. 17:02
반응형

 

사이킷런의 load_breast_cancer 데이터를 이용하여 n_neighbors를 1~11까지 변화시켜가며

train 정확도와 test 정확도 그래프를 확인하고 가장 적절한 k값을 판단해보세요.

 

 

import numpy as np
import pandas as pd
from sklearn.datasets import load_breast_cancer

# 사이킷런에서 제공하는 심장병 데이터 불러오기
breast_cancer = load_breast_cancer()

# 데이터 키 확인
breast_cancer.keys()

# 데이터 분류
Xd_train, Xd_test, yd_train, yd_test = train_test_split(breast_cancer['data'],breast_cancer['target'],test_size=0.3, random_state=40)

# 리스트 형태로 1~ 11까지의 train, test 정확도 그래프 
train_acc,test_acc = [],[]

for i in range(1,12):
    clf3 = KNeighborsClassifier(n_neighbors=i)
    clf3.fit(Xd_train, yd_train)
    predict_label = clf3.predict(Xd_test)
    train_acc.append(clf3.score(Xd_train, yd_train))
    test_acc.append(clf3.score(Xd_test, yd_test))

plt.plot(range(1,12),train_acc, label="train")
plt.plot(range(1,12),test_acc, label = "test")
plt.legend()

 

반응형