Native Python package for high-dimensional undirected graph estimation
Project description
pyhuge Python Package
pyhuge is the native Python package for high-dimensional undirected graph
estimation and inference, sharing the same C++ core as the R huge package.
Table of contents
- Background
- Directory structure
- What this package provides
- Requirements
- Installation
- Usage
- Documentation
- Developer workflow
- Citation
Background
pyhuge runs natively in Python with a shared C++ backend and does not
require an R runtime.
Directory structure
pyhuge/: package source codepyhuge/data/: packaged datasets (stockdata.npz)cpp/: optional pybind11 acceleration kernelstests/: unit/e2e/parity testsexamples/: runnable scriptsdocs/: MkDocs documentation pagesscripts/: release and docs helper scripts
What this package provides
- Core estimators:
huge,huge_mb,huge_glasso,huge_ct,huge_tiger - Model selection:
huge_select(ric,stars,ebic) - Data transforms and utilities:
huge_npn,huge_generator,huge_roc,huge_inference - Plotting helpers:
huge_plot_sparsity,huge_plot_roc,huge_plot_graph_matrix,huge_plot_network,huge_plot - Dataset helper:
huge_stockdata - Diagnostics:
pyhuge.test(),pyhuge-doctor
Requirements
- Python
>=3.9 - Runtime packages:
numpy,scipy - Native extension:
pyhuge._native_coreis required formb,tiger,glasso
Optional:
- plotting:
matplotlib,networkx - docs:
mkdocs,mkdocs-material
Installation
From source:
cd python-package
pip install -e ".[runtime]"
Optional extras:
pip install -e ".[viz]"
pip install -e ".[test]"
pip install -e ".[docs]"
pip install -e ".[dev]"
Runtime check:
python -c "import pyhuge; print(pyhuge.test())"
pyhuge-doctor
Usage
import numpy as np
from pyhuge import huge, huge_select
rng = np.random.default_rng(1)
x = rng.normal(size=(120, 30))
fit = huge(x, method="mb", nlambda=8, verbose=False)
sel = huge_select(fit, criterion="ric", verbose=False)
print(fit.method, len(fit.path), sel.opt_lambda, sel.opt_sparsity)
Network visualization:
import matplotlib.pyplot as plt
from pyhuge import huge_plot_network
fig, ax = plt.subplots(figsize=(5, 5))
huge_plot_network(fit, index=-1, ax=ax, layout="spring")
plt.show()
Documentation
- Docs source:
python-package/docs - Function manual pages:
python-package/docs/man
Build locally:
cd python-package
mkdocs build --strict
Developer workflow
cd python-package
pytest
bash scripts/build_dist.sh
python scripts/bump_version.py 0.8.1
bash scripts/release.sh 0.8.1
Citation
If you use huge/pyhuge in research, cite:
@article{zhao2012huge,
title = {The huge Package for High-dimensional Undirected Graph Estimation in R},
author = {Zhao, Tuo and Liu, Han and Roeder, Kathryn and Lafferty, John and Wasserman, Larry},
journal = {Journal of Machine Learning Research},
volume = {13},
pages = {1059--1062},
year = {2012}
}
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyhuge-0.8.1.tar.gz.
File metadata
- Download URL: pyhuge-0.8.1.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df9f7e157dd15a98324cf7a7b42460dd06269cff4bb885bcc43435973243cfa2
|
|
| MD5 |
60676e1f29b67c6265009d7120129cdb
|
|
| BLAKE2b-256 |
e3c6d1f56f52e403e53e2efe80028592793ad1ce2d83f0b88a0e78ac21a1acb0
|
File details
Details for the file pyhuge-0.8.1-cp314-cp314-macosx_26_0_arm64.whl.
File metadata
- Download URL: pyhuge-0.8.1-cp314-cp314-macosx_26_0_arm64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.14, macOS 26.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e622ac71d880d4474eacb607ab6abbd847bd3c389119d9b509a0d299d27e3761
|
|
| MD5 |
bb80a6d6b7086aeeacede1bc92f20f58
|
|
| BLAKE2b-256 |
dea7ca7a886fd90dbc1228ccda66ff8a28567c6e8fab759bc2bab20c509ffbb1
|