Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kelvintechnical/k-nearest-neighbors-knn-classifier
https://github.com/kelvintechnical/k-nearest-neighbors-knn-classifier
Last synced: 27 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/kelvintechnical/k-nearest-neighbors-knn-classifier
- Owner: kelvintechnical
- Created: 2024-11-15T00:16:51.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-15T00:30:03.000Z (2 months ago)
- Last Synced: 2024-11-15T01:20:44.964Z (2 months ago)
- Language: Python
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#
K-Nearest Neighbors (KNN) Classifier
Welcome to the K-Nearest Neighbors (KNN) Classifier project! This repository contains code to implement a basic machine learning classifier using the K-Nearest Neighbors algorithm. This algorithm classifies data points based on the majority class of the closest data points, or "neighbors."
##
Project Overview
The K-Nearest Neighbors (KNN) Classifier is a simple and effective classification algorithm that works well with smaller datasets and is easy to understand. In this project, we use Python libraries like
numpy
,matplotlib
, andscikit-learn
to build and test our KNN model on the popular Iris dataset, classifying different species of iris flowers based on physical features.##
Importance of the K-Nearest Neighbors (KNN) Algorithm
The KNN algorithm is commonly used because:
- It’s a straightforward introduction to machine learning classification.
- It’s useful for pattern recognition, especially in image and recommendation systems.
- It provides practical experience with supervised learning.
##
Code Explanation
Here is an overview of the key components of the code in this project:
```python
# Importing Libraries
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
# Load dataset
data = load_iris()
X = data.data
y = data.target
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Initialize and train the KNN model
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
# Test the model
accuracy = knn.score(X_test, y_test)
print("Model accuracy:", accuracy)
```
Explanation:
-
data = load_iris()
: Loads the Iris dataset, which contains data for classifying iris flowers. -
train_test_split
: Splits data into training and testing sets. -
KNeighborsClassifier
: Initializes the KNN classifier withn_neighbors=3
.
##
Project Applications
This project serves as a foundational example of a KNN classifier and can be expanded upon in various ways:
-
Pattern Recognition: Use KNN to recognize patterns and classify data in different fields, such as image classification. -
Portfolio Building: Showcase this project in your machine learning portfolio as an example of classification.
##
How to Use This Repository
If you want to use or modify this code, you can "fork" it to make your own copy:
- Fork this repository by clicking the "Fork" button at the top-right of this page.
- Clone the forked repository to your local machine:
```bash
git clone https://github.com/your-username/K-Nearest-Neighbors-KNN-Classifier.git
```
- Navigate to the project directory:
```bash
cd K-Nearest-Neighbors-KNN-Classifier
```
- Install the necessary libraries:
```bash
pip install numpy scikit-learn matplotlib
```
- Run the code:
```bash
python knn_classifier.py
```
##
Contributing
Contributions are welcome! Feel free to make pull requests to improve the code or add new features.
##
License
This project is open-source and free to use. Please credit this repository if you use it in your own projects.
Follow Me
Stay connected with my latest projects and insights:
-
Bluesky: kelvintechnical.bsky.social -
X (formerly Twitter): kelvintechnical -
LinkedIn: Kelvin R. Tobias