Distances and divergences between distributions implemented in python.
Project description
Distances and divergences between dictionaries implemented in python 3.6.
In the complexity notations, n
is len(a)
and m
is len(b)
.
The samples are dictionaries generated by the test utilities here.
How do I get it?
Just type into your terminal:
pip install dictances
Basic example
For each metric, an example is present in the folder examples. Here’s a basic example for those too lazy to click links (like me).
import random
from dictances import cosine, euclidean, canberra
random.seed(42) # for reproducibility
# Simple function to generate the example dictionaries
def generate_example_dict(n=1000):
return {random.randint(0, 1000): random.uniform(0, 1000) for i in range(n)}
a, b = generate_example_dict(), generate_example_dict()
print(cosine(a, b))
# >>> 0.52336690346601
print(euclidean(a, b))
# >>> 15119.400349404095
print(canberra(a, b))
# >>> 624.9088876554047
Metrics table
Metric name |
Usage example |
Average time on sample |
Complexity |
---|---|---|---|
90.4 µs ± 2.5 µs |
|||
Squared variation |
90.8 µs ± 1.43 |
||
92.3 µs ± 1.28 µs |
|||
Nth variation |
91.1 µs ± 1.2 µs |
||
92.7 µs ± 1.43 µs |
|||
92.3 µs ± 1.28 µs |
|||
91.1 µs ± 1.2 µs |
|||
101 µs ± 2.14 µs |
|||
91.1 µs ± 2.05 µs |
|||
71.8 µs ± 1.95 µs |
|||
61.3 µs ± 835 ns |
|||
46.9 µs ± 1.23 µs |
|||
28.7 µs ± 784 ns |
|||
Normalized Total Variation |
34.6 µs ± 543 ns |
||
24 µs ± 587 ns |
|||
38.2 µs ± 1.18 µs |
|||
32.7 µs ± 655 ns |
|||
42 µs ± 467 ns |
Test computer specifications
The computer on which the metrics where timed had the following specifications:
Computer specifications |
|
---|---|
Model Name |
MacBook Pro |
Processor Name |
Intel Core i7 |
Processor Speed |
2.3 GHz |
Number of Processors |
1 |
Total Number of Cores |
4 |
L2 Cache (per Core) |
256 KB |
L3 Cache |
6 MB |
Memory |
16 GB |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file dictances-1.4.0.tar.gz
.
File metadata
- Download URL: dictances-1.4.0.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46fc2ed40648daaebca58d3f0e1e2ce7d97b51f7c5634fe3a380a2a83163b5e7 |
|
MD5 | 06a2d1b2ef0fd2316eac3177ebb899da |
|
BLAKE2b-256 | 1b57ce6e79fbee5f156e41104a60c4b6d51ccc3e1d146cc49ba64eefbb813432 |