Skip to main content

Framework to evaluate Trajectory Classification Algorithms

Project description

pactus

Standing from Path Classification Tools for Unifying Strategies, pactus is a Python library that allows testing different classification methods on several trajectory datasets.

It comes with some built-in models and datasets according to the state-of-the-art in trajectory classification. However, it is implemented in an extensible way, so the users can build their own models and datasets.

NOTE: Built-in datasets don't contain the raw trajectoy data. When a dataset is loaded for the first time it downloads the necessary data automatically.

Installation

Make sure you have a Python interpreter newer than version 3.8:

 python --version
Python 3.8.0

Then, you can simply install pactus from pypi using pip:

pip install pactus

Getting started

This is quick example of how to test a Random Forest classifier on the Animals dataset:

from pactus import Dataset, featurizers
from pactus.models import RandomForestModel

SEED = 0

# Load dataset
dataset = Dataset.animals()

# Split data into train and test subsets
train, test = dataset.split(0.9, random_state=SEED)

# Convert trajectories into feature vectors
ft = featurizers.UniversalFeaturizer()

# Build and train the model
model = RandomForestModel(featurizer=ft, random_state=SEED)
model.train(train, cross_validation=5)

# Evaluate the results on the test subset
evaluation = model.evaluate(test)
evaluation.show()

It should output evaluation results similar to:

General statistics:

Accuracy: 0.885
F1-score: 0.849
Mean precision: 0.865
Mean recall: 0.850

Confusion matrix:

Cattle  Deer    Elk     precision
================================
75.0    0.0     0.0     100.0
25.0    80.0    0.0     66.67
0.0     20.0    100.0   92.86
--------------------------------
75.0    80.0    100.0

ℹ️ Notice that by setting the random state to a fixed seed, we ensure the reproducibility of the results. By changing the seed value, results may be slightly different due to the stochastic processes used when splitting the dataset and training the model.

Available datasets

See the whole list of datasets compatible with pactus

Contributing

Follow the guidlines from pactus documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pactus-0.4.1.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

pactus-0.4.1-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file pactus-0.4.1.tar.gz.

File metadata

  • Download URL: pactus-0.4.1.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.6

File hashes

Hashes for pactus-0.4.1.tar.gz
Algorithm Hash digest
SHA256 c0cc518ba0b231e3cba6291abd93adfdef1677d5eefe9449f4841f6ab79f054c
MD5 9ddaf1d5e023e281c1d885a5505ee2db
BLAKE2b-256 ff1a63924792dcf0960e8b3a68ea43b1914f7890fe477197ddf71ae0738da45a

See more details on using hashes here.

File details

Details for the file pactus-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: pactus-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.6

File hashes

Hashes for pactus-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 67de6e1609a9bc95b28d12e6b874395b8f4a1dfc5ce1de86366045dd6f66d155
MD5 0e67adda2098d28c0cfd10288735a57f
BLAKE2b-256 b300258b960b63228009499ee12f7e5cb69b80a69edcc84393441fa21916e6c2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page