Skip to main content

Ranking Python Library

Project description

Rankability Toolbox

This repo contains various implementations that provide insights into the rankability of data and the linear ordering problem.

Install instructions

Prerequisites

graphviz headers must be installed:

apt-get install -y libgraphviz-dev

Recommended package installation

pip install pyrankability

Post package installation: Gurobi License

This library relies on Gurobi optimizer. Gurobi provides free academic licenses and more information on obtaining and installing your license can be found here: https://support.gurobi.com/hc/en-us/articles/360040541251.

Verify installation

import pyrankability
n=8
D=np.zeros((n,n))
D[np.triu_indices(n,1)]=1
D[[5,3,7]] = 1-D[[5,3,7]]
D=pd.DataFrame(D)
k_hillside,details_hillside = pyrankability.rank.solve(D,method='hillside')
k_lop,details_lop = pyrankability.rank.solve(D,method='lop')

assert k_hillside == 54 and k_lop == 12.0

Development notes

Running tests

cd ranking_toolbox
python3 -m venv ../env
source ../env/bin/activate
cd tests
pytest tests.py

Authors

Paul Anderson, Ph.D.
Department of Computer Science
Director, Data Science Program
College of Charleston

Amy Langville, Ph.D.
Department of Mathematics
College of Charleston

Tim Chartier, Ph.D.
Department of Mathematics
Davidson College

Acknowledgements

We would like to thank the entire IGARDS team for their invaluable insight and encouragement.

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

pyrankability-0.1.4.tar.gz (21.9 kB view hashes)

Uploaded Source

Built Distribution

pyrankability-0.1.4-py3-none-any.whl (23.6 kB view hashes)

Uploaded Python 3

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