GeeksforGeeks (한국어)

K-Nearest Neighbors는 머신 러닝에서 가장 기본적이면서도 필수적인 분류 알고리즘 중 하나입니다. 지도 학습 영역에 속하며 패턴 인식, 데이터 마이닝 및 침입 감지에 집중적으로 적용됩니다.

비 매개 변수이므로 실제 시나리오에서 광범위하게 일회용입니다. 데이터 분포에 대한 기본 가정 (주어진 데이터의 가우스 분포를 가정하는 GMM과 같은 다른 알고리즘과 반대)

우리는 몇 가지 사전 데이터 (학습 데이터라고도 함)를 제공합니다. 좌표를 속성으로 식별 된 그룹으로 분류합니다.

예를 들어, 두 가지 기능이 포함 된 다음 데이터 포인트 테이블을 고려하십시오.

이제 다른 데이터 포인트 세트 ( 테스트 데이터라고도 함) 훈련 세트를 분석하여 이러한 포인트를 그룹에 할당합니다. 분류되지 않은 점은 흰색으로 표시됩니다.

직관
이 점을 그래프에 표시하면 일부 군집이나 그룹을 찾을 수 있습니다. 이제 분류되지 않은 포인트가 주어지면 가장 가까운 이웃이 속한 그룹을 관찰하여 그룹에 할당 할 수 있습니다. 즉, 적색으로 분류 된 포인트 군집에 가까운 포인트는 적색으로 분류 될 확률이 더 높습니다.

직관적으로 첫 번째 포인트 (2.5, 7)는 다음과 같아야 함을 알 수 있습니다. 녹색으로 분류되고 두 번째 점 (5.5, 4.5)은 빨간색으로 분류되어야합니다.

알고리즘
m을 학습 데이터 샘플 수라고하겠습니다. p를 알 수없는 점이라고합시다.

  1. 훈련 샘플을 arr의 데이터 점 배열에 저장합니다. 이는이 배열의 각 요소가 튜플 (x, y)을 나타냄을 의미합니다.
  2. for i=0 to m: Calculate Euclidean distance d(arr, p).
  3. 얻은 최소 거리 K 개의 집합을 만듭니다. . 이러한 각 거리는 이미 분류 된 데이터 포인트에 해당합니다.
  4. S 중에서 다수의 레이블을 반환합니다.

K는 계산할 수 있도록 홀수로 유지할 수 있습니다. 두 그룹 만 가능한 경우 (예 : 빨강 / 파랑) 분명한 다수. K가 증가함에 따라 우리는 다른 분류에서 더 부드럽고 더 정의 된 경계를 얻습니다. 또한 학습 세트의 데이터 포인트 수가 증가함에 따라 위 분류기의 정확도가 증가합니다.

예제 프로그램
0과 1을 두 분류기 (그룹)로 가정합니다.

출력 :

The value classified to unknown point is 0.

이 기사는 Anannya Uberoi가 기고했습니다. GeeksforGeeks를 좋아하고 기여하고 싶다면, Contribute.geeksforgeeks.org를 사용하여 기사를 작성하거나 [email protected]로 기사를 메일로 보낼 수도 있습니다. GeeksforGeeks 메인 페이지에 나타나는 기사를보고 다른 Geeks를 도와주세요.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다