Metadata-Version: 2.1
Name: gokinjo
Version: 0.1.0
Summary: k-NN feature extraction utility
Home-page: https://github.com/momijiame/gokinjo
Author: momijiame
License: Apache License, Version 2.0
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Dist: numpy
Requires-Dist: scikit-learn
Provides-Extra: annoy
Requires-Dist: annoy ; extra == 'annoy'
Provides-Extra: develop
Requires-Dist: pytest ; extra == 'develop'
Requires-Dist: pytest-flake8 ; extra == 'develop'
Requires-Dist: pytest-cov ; extra == 'develop'
Requires-Dist: annoy ; extra == 'develop'
Requires-Dist: matplotlib ; extra == 'develop'
Provides-Extra: testing
Requires-Dist: pytest ; extra == 'testing'
Requires-Dist: pytest-flake8 ; extra == 'testing'
Requires-Dist: pytest-cov ; extra == 'testing'
Requires-Dist: annoy ; extra == 'testing'

# gokinjo

- A feature extraction library based on k-nearest neighbor algorithm in Python
  - k-NN based feature has experience of being used in 1st place solution of Kaggle competition
- Switchable backend of k-NN algorithm
  - [scikit-learn](https://github.com/scikit-learn/scikit-learn) (default)
  - [annoy](https://github.com/spotify/annoy)
- FYI: 'gokinjo' is meant neighborhood in japanese.

### Prerequisite

- Python 3.6 or later
- setuptools >= 30.0.3.0

### How to install

#### From PyPI

```bash
$ pip install gokinjo
```

##### With annoy backend

```bash
$ pip install "gokinjo[annoy]"
```

#### From source code

```bash
$ pip install git+https://github.com/momijiame/gokinjo.git
```

### Usage example

- Please see [examples](https://github.com/momijiame/gokinjo/tree/master/examples) in GitHub repository.

### How to setup of development environment

```bash
$ pip install -e ".[develop]"
$ pytest
```

### References

- The competition which k-NN feature was used on 1st place solution 
  - https://www.kaggle.com/c/otto-group-product-classification-challenge/discussion/14335
- R implementation
  - https://github.com/davpinto/fastknn/blob/master/R/extract.R
- Another Python implementation
  - https://github.com/upura/knnFeat


