Skip to main content

A k-nearest neighbors classifier in Python 3.11.7

Project description

KNN Classifier

A k-Nearest Neighbors supervised classifier in Python 3.11.7


Importing the package

pip install knnclassifier
from knnclassifier import KNNClassifier

This statement imports the KNNClassifier class, which will be used to create your classifier objects.

Using the package

Fitting the classifier

Set up your training and test data and fit the classifier.

  1. Populate two text files with your training and test data.

1.4, 4.0, 15.0, 1.1, 1.6, 5.0
1.2, 4.0, 22.2, 2.2, 3.0, 6.0
...

Each line serves as a record and contains a list of its data points (fields), with the record's label as the final item in the list. In the above examples, the labels are 5.0 and 6.0, respectively. Ensure that fields are separated by a consistent delimiter (e.g., a comma and a space).

  1. Split the data and label arrays from the files.
train_data, train_label = KNNClassifier.split_data_label_from_file("train.txt", delimiter=", ")
test_data, actual_label = KNNClassifier.split_data_label_from_file("test.txt", delimiter=", ")

The static method split_data_label_from_file returns two numpy arrays. The first contains all columns except the last (the data columns), and the second contains the last column (the label column).

You may also specify the delimiter. By default, it is ", ", but you may specify any string.

  1. Initialize a KNNClassifier object and fit it to the training arrays.
classifier = KNNClassifier()
classifier.fit(train_data, train_label)

Making and checking predictions with the classifier

  1. Compute and store label predictions for the test data.
test_label_predictions = classifier.predict(test_data, k=5)

The predict method returns the predicted labels of each record of the test data. Specify the k value to be used during prediction.

[!NOTE] Ensure that the test data has the same number of fields (columns) as the training data. This is required for the algorithm to function correctly.

  1. Check the accuracy of the label predictions.
accuracy: float = KNNClassifier.check_accuracy(test_label_predictions, actual_label, print_info=False)

The static method check_accuracy returns the proportion of the predicted labels that match the actual labels.

You may also specify print_info (default: False). If set to True, each label will be printed individually.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

knnclassifier-1.0.0.tar.gz (77.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

knnclassifier-1.0.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file knnclassifier-1.0.0.tar.gz.

File metadata

  • Download URL: knnclassifier-1.0.0.tar.gz
  • Upload date:
  • Size: 77.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.7

File hashes

Hashes for knnclassifier-1.0.0.tar.gz
Algorithm Hash digest
SHA256 517fd4009360b21558bcbc67ec41facc782c91cdcbf5c547f2e02e5fcda7b75e
MD5 2b2985b21276e0196e1c8075bd2448f0
BLAKE2b-256 43efc587e891f825e3a844e730070ca6438d734a5d42802914cc647be40e92f5

See more details on using hashes here.

File details

Details for the file knnclassifier-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: knnclassifier-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.7

File hashes

Hashes for knnclassifier-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4315850ab8acc53d0f6aa25d287bfe94822a4e4b243a9ce7b484f7205c4d2821
MD5 7b420b09f58f68a9ac2dc5ba64a295e8
BLAKE2b-256 c5f898412d59b68b5e39bc0770aee24a9f0ce4f7231cf1aaad2959de2c11895a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page