-
ML Intro | Iris Analysis - K-Nearest Neighbors(KNN) ModelMachine Learning/ML with Python Library 2024. 1. 27. 19:09
이제 실제 머신러닝 모델을 만들어보자. scikit-learn은 다양한 분류 알고리즘을 제공하는데, 비교적 이해가 쉬운 KNN, 최근접 이웃 분류기를 사용했다. 훈련 데이터를 저장해서 만들어지면, 새로운 데이터 포인트가 주어졌을 때, 가장 가까운 훈련 데이터 포인터를 찾아서 지정한다. k-최근접 이기 때문에, 가장 가까운 이웃 하나가 아니라, k개의 이웃을 찾는다는 뜻이다.
제일 가까운 피카츄를 찾아라,,, scikit-learn의 모든 ML 모델은 Estimator라는 파이썬 클래스로 각각 구현되어 있는데, KNN은 neighbors 모듈 아래 KNeighborsClassifier 클래스에 구현되어 있다. 여기서 가장 중요한 파라미터는 이웃의 개수, n_neighbors 인데, 우리는 1로 지정했다.
from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier(n_neighbors=1)
KNN 객체는 훈련 데이터를 이용해서 모델을 만들고, 새로운 데이터 포인트를 예측하는 알고리즘을 캡슐화 했다. KNeighborsClassifier는 훈련 데이터 자체를 저장한다. 훈련 데이터셋을 이용해서 모델을 만들려면 KNN 객체의 fit 함수를 이용해야 한다. 이 함수는 훈련 데이터인 NumPy 배열, x_train과 훈련 데이터의 레이블을 담고 있는 NumPy 배열 y_train을 파라미터로 받는다.
knn.fit(x_train, y_train)
KNeighborsClassifier
KNeighborsClassifier(n_neighbors=1)아웃풋에서 보이듯, fit 함수는 KNN 객체 자체를 변경시켜서 반환한다. 그래서 KNN 객체가 문자열 형태로 콘솔에 출력 된다. 여기서, 이 모델을 생성할 때 사용했던 neighbor의 갯수를 확인할 수 있는데, 콘솔에서 보여지듯, 1개로 지정했던 값을 확인할 수 있다.
Reference
https://www.yes24.com/Product/Goods/42806875
파이썬 라이브러리를 활용한 머신러닝 - 예스24
사이킷런 핵심 개발자에게 배우는 머신러닝 이론과 구현 현업에서 머신러닝을 연구하고 인공지능 서비스를 개발하기 위해 꼭 학위를 받을 필요는 없다. 사이킷런(scikit-learn)과 같은 훌륭한 머신
www.yes24.com
https://colab.research.google.com/drive/1ISPKQ-D2bGmJvDlqhqTieOUz-1ujrXbu#scrollTo=OgtCrXR1U_61
_01_iris_ml_model.ipynb
Colaboratory notebook
colab.research.google.com
'Machine Learning > ML with Python Library' 카테고리의 다른 글
ML Intro | Iris Analysis - Evaluating the Model (0) 2024.01.27 ML Intro | Iris Analysis - Prediction (0) 2024.01.27 ML Intro | Iris Analysis - Look at your Data (2) 2024.01.27 ML Intro | Iris Analysis - Training Data & Testing Data (1) 2024.01.24 ML Intro | Iris Analysis - Import Data and Check (1) 2024.01.23