https://github.com/emso-c/knn-classifier
A KNN classifier written from scratch
https://github.com/emso-c/knn-classifier
benchmark knn-classification machine-learning statistics
Last synced: 12 months ago
JSON representation
A KNN classifier written from scratch
- Host: GitHub
- URL: https://github.com/emso-c/knn-classifier
- Owner: emso-c
- License: mit
- Created: 2022-05-08T18:46:44.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-09T16:26:02.000Z (about 4 years ago)
- Last Synced: 2025-03-14T22:31:16.950Z (over 1 year ago)
- Topics: benchmark, knn-classification, machine-learning, statistics
- Language: Python
- Homepage:
- Size: 500 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# KNN-classifier
### A KNN classifier written from scratch with no dependencies except matplotlib for plotting benchmark results.
#### Benchmarks and examples with various popular datasets can be found inside.
## Benchmark results
| Dataset | Data
amount | Observation
amount | Test
ratio | k range | best
k | Best
accuracy | Average
accuracy | Worst
accuracy | Distance
metric
| :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Iris | 150 | 10 | .2 | `range(3, 20, 2)` | 5 | 100% | 98.3% | 93.3% | Euclidean |
| Diabetes | 768 | 10 | .2 | `range(3, 20, 2)` | 15 | 81% | 74% | 60% | Euclidean |
| Shutter
(Scaled down to 1%) | 434 | 6 | .3 | `range(3, 30, 2)` | 5 | 97.7% | 91.5% | 81% | Euclidean |
| SPECTF heart | 267 | 10 | .2 | `range(3, 20, 2)` | 11 | 87% | 76.4% | 59.3% | Euclidean |
| Abalone
(Scaled down to 40%) | 1670 | 19 | .2 | `range(3, 20, 2)` | 19 | 28.1% | 22.3% | 16.5% | Euclidean |