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 knn_classifier 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-0.0.3.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-0.0.3-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: knnclassifier-0.0.3.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-0.0.3.tar.gz
Algorithm Hash digest
SHA256 ae9f77803be1d5ca94bf0b5badfede118aedb593394768d5cba8b246659f1ae6
MD5 c6dbac60ad95eb70bcaccda107e2dc51
BLAKE2b-256 bedbae9ce9808591ba712e8c5c8fbccc9bf0237423d0e7b63780863cd8c484b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: knnclassifier-0.0.3-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-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9e07c9d4e16466c39b600df196086d1778cc101c1c39e1d3bff5b63dfd7e66a1
MD5 a635d9de5d75e0e6bc8d5807a0258a16
BLAKE2b-256 dafbce4dc03b93e976fd396598c0079e2e88fb0c1b68973cb6bf1a39ab4079bb

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