더북(TheBook)

다음 코드를 실행하면 유클리드(euclidean) 거리 측정 방식을 사용한 사이킷런의 KNN 모델을 만듭니다.

>>> from sklearn.neighbors import KNeighborsClassifier
>>> knn = KNeighborsClassifier(n_neighbors=5, p=2,
...                            metric='minkowski')
>>> knn.fit(X_train_std, y_train)
>>> plot_decision_regions(X_combined_std, y_combined,
...                       classifier=knn, test_idx=range(105,150))
>>> plt.xlabel('Petal length [standardized]')
>>> plt.ylabel('Petal width [standardized]')
>>> plt.legend(loc='upper left')
>>> plt.tight_layout()
>>> plt.show()

KNN 모델에 다섯 개의 이웃을 지정했으므로 이 데이터셋에서 그림 3-26과 같이 비교적 부드러운 결정 경계를 얻었습니다.

▲ 그림 3-26 k-최근접 이웃 모델이 학습한 붓꽃 데이터셋의 결정 경계

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.