Skip to main content

Torch - Higher Order Interactions

Project description

THOI: Torch - Higher Order Interactions

THOI Logo

Description

THOI is a Python package designed to compute O information in Higher Order Interactions using batch processing. This package leverages PyTorch for efficient tensor operations.

Installation

Prerequisites

Ensure you have Python 3.6 or higher installed.

Installing THOI with your prefered Versions of PyTorch

Because PyTorch installation can depend on the user environment and requirements (GPU or CPU support or a specific version of PyTorch), you need to install PyTorch separately before installing THOI. Follow these steps:

  1. Visit the official PyTorch installation guide:

    • Go to the PyTorch website and navigate to the "Get Started" page.
    • Select your preferences for the following options:
      • PyTorch Build: Stable or LTS (long-term support)
      • Your Operating System: Linux, Mac, or Windows
      • Package: Pip (recommended)
      • Language: Python
      • Compute Platform: CPU, CUDA 10.2, CUDA 11.1, etc.
  2. Get the Installation Command:

    • Based on your selections, the PyTorch website will provide the appropriate installation command.

    • For example, for the CPU-only version, the command will look like this:

      pip install torch==1.8.1+cpu -f https://download.pytorch.org/whl/torch_stable.html
      
    • For the GPU version with CUDA 11.1, the command will look like this:

      pip install torch==1.8.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
      
  3. Install PyTorch:

    • Copy and run the command provided by the PyTorch website in your terminal.
  4. Install THOI:

    • Once PyTorch is installed, install THOI using:

      pip install thoi
      

Usage

After installation, you can start using THOI in your projects. Here is a simple example:

from thoi.measures.gaussian_copula import multi_order_measures, nplets_measures
from thoi.heuristics import simulated_annealing, greedy
import numpy as np

X = np.random.normal(0,1, (1000, 10))

# Computation of O information for the entire system
measures = nplets_measures(X)

# Computation of O info for the sub-system composed by 0, 1 and 3
measures = nplets_measures(X, [0,1,3])

# Computation of O info for the sub-system composed by 0, 1 and 3
measures = nplets_measures(X, [[0,1,3],[3,7,4],[2,6,3]])

# Extensive computation of O information measures over all combinations of X
measures = multi_order_measures(X)

# compute the best 10 combinations using greedy, starting by exaustive search in 
# lower order and building from there. Result shows best O information for 
# each built optimal orders
best_partitions, best_scores = greedy(X, 3, 5, repeat=10)

# compute the best 10 combinations using simulated annealing: There are two initialization options
# 1. Starting by exaustive search in lower order, then building with gready.
# 2. Selection random sample of initial solutions.
# Result shows best O information for each built optimal orders
best_partitions, best_scores = simulated_annealing(X, 5, repeat=10)

For detailed usage and examples, please refer to the documentation.

Contributing

We welcome contributions from the community. If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request on GitHub.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Citation

If you use the thoi library in a scientific project, please cite it using one of the following formats:

BibTeX

@misc{thoi,
  author       = {Laouen Belloli and Rubén Herzog},
  title        = {THOI: An efficient library for higher order interactions analysis based on Gaussian copulas enhanced by batch-processing},
  year         = {2024},
  url          = {https://pypi.org/project/thoi/}
}

APA Belloli, L., & Herzog, R. (2023). THOI: An efficient library for higher order interactions analysis based on Gaussian copulas enhanced by batch-processing. Retrieved from https://pypi.org/project/thoi/

MLA Belloli, Laouen, and Rubén Herzog. THOI: An efficient library for higher order interactions analysis based on Gaussian copulas enhanced by batch-processing. 2023. Web. https://pypi.org/project/thoi/.

Authors

For more details, visit the GitHub repository.

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

thoi-0.1.17.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

thoi-0.1.17-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file thoi-0.1.17.tar.gz.

File metadata

  • Download URL: thoi-0.1.17.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for thoi-0.1.17.tar.gz
Algorithm Hash digest
SHA256 f77aca074d530f1107ea3905e7f1dfe866221462a9d34ee76cad8ddc712e4fdf
MD5 1ef43f6509a077956e11a6e714b571b3
BLAKE2b-256 dc986d45ca067634c9c9b08288637b188a5e9ef585c327b55ccbd9be1d036154

See more details on using hashes here.

File details

Details for the file thoi-0.1.17-py3-none-any.whl.

File metadata

  • Download URL: thoi-0.1.17-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for thoi-0.1.17-py3-none-any.whl
Algorithm Hash digest
SHA256 eb5acf55d36410d4f5985320ee86814d751dace9fca1cd515c75c02d9938c50d
MD5 2cd0d7b397f63f0212487ef41337b6a6
BLAKE2b-256 3b8ea535d9f49d3a27396e6f71d0932aa0d8aba9ff5901767b3ffc2b6d6a2116

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