orthrus

A python package for scaling and automating pre-processing, visualization, classification, and features selection of generic data sets.

https://github.com/mathmusicoverlord/orthrus

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 6 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

A python package for scaling and automating pre-processing, visualization, classification, and features selection of generic data sets.

Basic Info
  • Host: GitHub
  • Owner: mathmusicoverlord
  • License: gpl-3.0
  • Language: HTML
  • Default Branch: main
  • Homepage:
  • Size: 34.5 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 14
Created over 5 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

orthrus

A python package for scaling and automating pre-processing, visualization, classification, and features selection of generic data sets. Read the docs!

Installing the conda environment

In order to ensure proper behavior of python classes and functions between platforms we recommend installing an isolated conda environment with the depedencies listed in environment.yml. To create a new enviroment with these dependencies, from the shell run: bash conda env create -f environment.yml This will generate the conda environment orthrus and install any dependencies required by the orthrus module. If the user does not have a CUDA >=11 compatible graphics card, then the user can replace environment.yml with environment_nocuda.yml. The user can also use their own environment and install the packages listed in either environment.yml or environment_nocuda.yml.

Installing the orthrus package

orthrus is now available through the PyPi just run bash pip install orthrus to install the orthrus package. To install the orthrus package from this repo, first activate the orthrus environment and then navigate to your local orthrus directory: bash conda activate orthrus cd /path/to/orthrus/ Install the package with pip bash pip install -e . Finally add ORTHRUS_PATH=/path/to/orthrus/ to your environment variables (different for each OS).

Basic Usage

The fundamental object in the orthrus package is the DataSet class. Here is an example of loading the iris dataset into the DataSet class to create an instance from within the orthrus directory:

```python

imports

from orthrus.core.dataset import DataSet as DS import pandas as pd

load data and metadata

data = pd.readcsv("testdata/Iris/Data/irisdata.csv", indexcol=0) metadata = pd.readcsv("testdata/Iris/Data/irismetadata.csv", indexcol=0)

create DataSet instance

ds = DS(name='iris', path='./test_data', data=data, metadata=metadata)

save dataset

ds.save()

herepathindicates whereds``` will save figures and results output by the class methods.

Creating a Project Environment

To increase organization and reproducibility of results the orthrus package includes helper functions for generating a project directory and experiment subdirectories. Here is an example where we create a project directory called Iris and then generate an experiment directory called setosaversicolorclassifyspeciessvm where we intend to classify setosa and versicolor species with an SVM classifier.

```python

imports

from orthrus.core.helper import generateproject from orthrus.core.helper import generateexperiment from orthrus.core.dataset import load_dataset import shutil

Create a project directory structure in the test path

filepath = './testdata/' generateproject('Iris', filepath)

move data into Data directory of Iris project directory

shutil.move('./testdata/iris.ds', './testdata/Iris/Data/iris.ds')

create experiment directory in the Experiments directory of the Iris directory

projdir = './testdata/Iris/' generateexperiment('setosaversicolorclassifyspeciessvm', projdir) ``` Once the setosaversicolorclassifyspeciessvm directory is created there will be a file setosaversicolorclassifyspeciessvm_params.py containing a template for experimental parameters that the user can change or add on to. The Scripts directory in the Iris directory should contain general purpose scripts that can take in specific experimental parameters from your different experimentsallowing you to easily change your experiment on the fly with minimal code change. Take a look at the Iris directory for an example of this workflow.

Owner

  • Name: Eric Kehoe
  • Login: mathmusicoverlord
  • Kind: user

Mathematician. Musician. Developer.

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 1,965
  • Total Committers: 6
  • Avg Commits per committer: 327.5
  • Development Distribution Score (DDS): 0.077
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Eric Kehoe e****2@g****m 1,814
Kartikay Sharma s****k@g****m 84
Eric Kehoe 5****2 38
Eric Kehoe k****e@r****u 22
Eric Kehoe e****e@c****u 6
Eric Kehoe 5****d 1
Committer Domains (Top 20 + Academic)

Dependencies

requirements.txt pypi
  • Flask >=1.1.2
  • dash >=1.18.1
  • dash_core_components >=1.14.1
  • dash_html_components >=1.1.1
  • dill >=0.3.4
  • harmonypy >=0.0.5
  • matplotlib >=3.3.3
  • numpy >=1.21.2
  • orthrus *
  • pandas >=1.1.3
  • plotly >=4.11.0
  • ray >=1.4.1
  • scikit_learn >=0.24.2
  • seaborn >=0.11.1
  • torch >=1.7.1
  • tqdm >=4.56.0
environment.yml pypi
  • Flask >=1.1.2
  • dash >=1.18.1
  • dash_core_components >=1.14.1
  • dash_html_components >=1.1.1
  • dill >=0.3.4
  • harmonypy >=0.0.5
  • matplotlib >=3.3.3
  • numpy >=1.21.2
  • pandas >=1.1.3
  • plotly >=4.11.0
  • ray >=1.4.1
  • scikit_learn >=0.24.2
  • seaborn >=0.11.1
  • torch >=1.7.1
  • tqdm >=4.56.0
  • venn >=0.1.3
setup.py pypi