An open API service indexing awesome lists of open source software.

https://github.com/benmaier/similarity-indices

Compute diverse incidence based or abundance based similarity indices between two numpy arrays.
https://github.com/benmaier/similarity-indices

Last synced: about 2 months ago
JSON representation

Compute diverse incidence based or abundance based similarity indices between two numpy arrays.

Awesome Lists containing this project

README

        

# SimInd

Provides two classes for the computation of either incidence based or abundance based similarity measures for data in numpy arrays.

## Install

```bash
$ pip install ../simind # or
$ python setup.py install
```

## Example

```python
from __future__ import print_function
import simind
import numpy as np

a = np.array([ 0, 1, 2, 3, 4 ],dtype=int)
b = np.array([ 3, 4, 5], dtype=int)

# initialize
similarities = simind.incidence_based_similarity(a,b,assume_unique=True)

print(similarities.jaccard())
print(similarities.sorensen())
print(similarities.ochiai())
print(similarities.lennon())
print(similarities.kulczynski_cody())
print(similarities.kulczynski())
print(similarities.anderberg())

# for the abundance based similarities, one needs dictionaries with weights
# (traditionally, the weight would be the number of times, species "key" was
# found, but the weights don't have to be integers)
wa = { 0: 0.5, 1: 2, 2: 0.75, 3: 1, 4: 1 }
wb = { 3: 2, 4: 1, 5: 2 }

# initialize
similarities = simind.abundance_based_similarity(a,b,wa,wb,assume_unique=True)

print("===========")
print(similarities.jaccard())
print(similarities.sorensen())
print(similarities.ochiai())
print(similarities.lennon())
print(similarities.kulczynski_cody())
print(similarities.kulczynski())
print(similarities.anderberg())

number_of_species_A = 50
number_of_species_B = 100
overlap_AB = 20
similarities = simind.similarity(number_of_species_A,number_of_species_B,overlap_AB)

print("===========")
print(similarities.jaccard())
print(similarities.sorensen())
print(similarities.ochiai())
print(similarities.lennon())
print(similarities.kulczynski_cody())
print(similarities.kulczynski())
print(similarities.anderberg())
```