AI & MACHINE LEARNING PROGRAM • LEVEL 08 — KNN & NAIVE BAYES

Classify with K-nearest Neighbours with Python

Learn classify with k-nearest neighbours with python with a short, executable Python example.

IntermediateKNNNearest neighbours

PROBLEM UNDERSTANDING

Input and expected output

Sample input
No input required
Sample output
A

COMPLETE PYTHON PROGRAM

Complete Python implementation

ai-ml-08-knn-classification.py
Open in compiler
from math import dist
points = [([1,1],'A'),([2,1],'A'),([5,5],'B')]
query = [2,2]
nearest = sorted(points, key=lambda item: dist(item[0], query))[:2]
print(max(set(label for _,label in nearest), key=lambda label: sum(x[1]==label for x in nearest)))

GUIDED CODE TOUR • NOT LIVE EXECUTION

Study the program line by line

Use the real compiler button above to run and debug with different inputs.

CURRENT STEP

Select Start to walk through the important lines.

SELECTED LINE

No line selected

EXPECTED OUTPUT FOR THE SAMPLE

A
0%Step 0 of 0

PROGRAM EXPLANATION

Algorithm and explanation

  1. Import the required standard-library tools and prepare the sample data for classify with k-nearest neighbours.
  2. Process the data step by step using KNN and Nearest neighbours.
  3. Display the result for classify with k-nearest neighbours and compare it with the documented sample output.

This example of classify with k-nearest neighbours processes the sample values in a controlled iteration. It demonstrates KNN and Nearest neighbours and prints a deterministic result that can be checked against the sample output.

EFFICIENCY

Time and space complexity

Time complexity

O(n · d + n log n)

Auxiliary space

O(n)

DEBUGGING CHECKLIST

Common mistakes

Check this

For classify with k-nearest neighbours, keep the data shape and value types consistent with KNN.

Check this

Keep every dependent statement inside the correct indented Python block.

Check this

Verify the final KNN and Nearest neighbours result against the sample before trying new data.

Try it yourself

Practice: Run the program with the sample input, predict its output, and then test one boundary case of your own.