Skip to content

Commit

Permalink
TEMP FIX deploy pages from docs dir. WIP to deploy using git actions
Browse files Browse the repository at this point in the history
  • Loading branch information
sgathrid committed Nov 11, 2024
1 parent 72eb2a9 commit 09be6d3
Show file tree
Hide file tree
Showing 54 changed files with 4,595 additions and 0 deletions.
4 changes: 4 additions & 0 deletions docs/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 7a4548f14d61aec1e24edebfd89cb04f
tags: 645f666f9bcd5a90fca523b33c5a78b7
Empty file added docs/.nojekyll
Empty file.
20 changes: 20 additions & 0 deletions docs/_sources/configuration.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
.. _configurationHelp:

THEMA: Core
=======

The ``Core`` class is a data container class used for modeling in THEMA, working in the background so users don't have to. It provides access to three versions of the user's data: raw data, cleaned data, and projected data. This class is inherited by almost everything in THEMA, providing a central data handling mechanism to manage data in the background.

.. raw:: html

<hr style="border: none; border-top: 2px solid #007bff; margin: 20px 0;">

.. _core:

Core Class
-----------------

.. automodule:: thema.core
:members:
:undoc-members:
:show-inheritance:
67 changes: 67 additions & 0 deletions docs/_sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
.. Thema documentation master file, created by
sphinx-quickstart on Thu May 12 20:30:12 2024.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. Thema documentation master file, created by
.. _index:

*******************
Thema Documentation
*******************

**Date**: |today| **Version**: |version|

Welcome to the documentation for the Thema package. This documentation provides a comprehensive guide on how to use the various modules and functionalities of Thema.

.. grid:: 1 2 2 2
:gutter: 4
:padding: 2 2 0 0

.. grid-item-card:: API Reference
:class-card: intro-card
:shadow: md

Learn about the Thema API, including detailed information on all available functions, classes, and modules.

+++
.. button-ref:: thema
:ref-type: ref
:click-parent:
:color: secondary
:expand:

.. grid-item-card:: Guides
:class-card: intro-card
:shadow: md

Access comprehensive guides that explain how to use Thema effectively for various tasks and projects.

+++

.. button-ref:: user_guide
:ref-type: ref
:click-parent:
:color: secondary
:expand:

.. toctree::
:maxdepth: 2
:caption: API Reference
:hidden:

thema

.. toctree::
:maxdepth: 2
:caption: Guides
:hidden:

user_guide

References
----------
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
51 changes: 51 additions & 0 deletions docs/_sources/multiverse/innerSystem.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
.. _innerSystem:

Inner System
==========================

.. _innerOverview:

Thema's ``multiverse.system.inner`` submodule offers two key classes: **Moon** and **Planet**. These classes facilitate preprocessing of tabular data, easing the transition from raw datasets to cleaned, imputed, and ready-for-analysis dataframes.

:ref:`Moon Class: <moon>`
This class sits close to the original dataset, focusing on preprocessing steps crucial for downstream analysis. It streamlines data cleaning and aids in the creation of an *imputeData* dataframe, which is a formatted version of the data suitable for in-depth exploration. The Moon class supports standard sklearn.preprocessing operations such as scaling and encoding, with an emphasis on imputation methods for handling missing values.


:ref:`Planet Class: <planet>`
Operating within the inner system, the Planet class manages the transformation of raw tabular data into processed, scaled, encoded, and complete datasets. Its key function is handling datasets with missing values, utilizing a ``Moon`` *imputeData* dataframe using random sampling to fill in these gaps while exploring the distribution of possible missing values.

Both classes are integral to Thema's data preprocessing capabilities, providing efficient solutions for common data cleaning and imputation tasks.

.. _moon:

Moon Class
-----------------

.. note::
``thema.multiverse.system.inner.Moon`` handles data **preprocessing**, moving from raw, tabular datasets to cleaned, scaled, and encoded python-friendly formats.

.. automodule:: thema.multiverse.system.inner.moon
:members:
:undoc-members:
:show-inheritance:

.. _planet:

Planet Class
-----------------
.. note::
``thema.multiverse.system.inner.Planet`` handles data **transformation**, managing and exploring the distribution of possible missing values.

.. automodule:: thema.multiverse.system.inner.planet
:members:
:undoc-members:
:show-inheritance:

.. _inner_utils:

Inner System Utils
--------------------
.. automodule:: thema.multiverse.system.inner.inner_utils
:members:
:undoc-members:
:show-inheritance:
29 changes: 29 additions & 0 deletions docs/_sources/multiverse/multiverse.galaxy.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.. _galaxy:

Galaxy
==========================

The ``Galaxy`` class is a core component of the THEMA package, designed to manage and explore a vast space of data representations. It serves as a container for star objects, each representing a unique unsupervised projection of data. By organizing these projections into a galaxy, users are able to democratize model selection and quantify agreement between models. THEMA helps ensure that the most reliable representations of your data are chosen.

A galaxy is generated from distributions of inner and outer systems, which define the parameters for the creation of star objects. This structure allows for a flexible and scalable approach to managing complex data representations.

**Key Features**

- **Star Management**: The ``Galaxy`` class maintains a collection of star objects, enabling easy access and manipulation of various data projections.
- **Search Functionality**: Users can search for specific stars within the galaxy based on defined criteria, facilitating targeted exploration of data.
- **Distribution-Based Generation**: Stars are generated from specified inner and outer system distributions, providing a customizable and systematic approach to data representation.

**Use Cases**

- **Data Exploration**: Providing a structured way to explore different unsupervised projections of data.
- **Visualization**: Enabling visualization of complex data relationships through star objects.
- **Algorithm Implementation**: Serving as a foundation for implementing and managing various graph generation algorithms, such as the Kepler Mapper algorithm used in the ``jmapStar Class``.

By leveraging the ``Galaxy`` class, users can create a comprehensive and organized space of data representations, facilitating deeper insights and more effective analysis of complex datasets.

Galaxy Class
--------------
.. automodule:: thema.multiverse.universe.galaxy
:members:
:undoc-members:
:show-inheritance:
14 changes: 14 additions & 0 deletions docs/_sources/multiverse/multiverse.geodesics.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. _geodesics:

Geodesics
==========================

Functionality to compute a pairwise distance matricies between multiple graph representations of your data. Used by the ``Galaxy`` class to construct a galaxy space of stars, specifically to derive metrics of agreement between models and democratize model selection.

Geodesics Functionality
-----------------------
.. automodule:: thema.multiverse.universe.geodesics
:members:
:undoc-members:
:show-inheritance:
:private-members:
38 changes: 38 additions & 0 deletions docs/_sources/multiverse/multiverse.stars.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
.. _stars:

Stars
==========================

THEMA is a Python package designed to provide a structured approach to creating and managing a universe of different unsupervised projections of data. At the core of THEMA lies the concept of ``Stars`` which are base class templates for atlas (graph) construction algorithms.

**Simple Targeted Atlas Representation (STAR)**
The starGraph class serves as a base template for constructing atlas representations of data. By enforcing structure on data management and graph generation, starGraph enables a universal procedure for generating these objects. This base class provides a foundation for implementing various graph generation algorithms.

**JMAP Star Class**
The :ref:`JMAP Star Class<jmapStar>` is a custom implementation of a Kepler Mapper (K-Mapper) algorithm into a Star object. This implementation allows users to explore the topological structure of their data using the Mapper algorithm, which is a powerful tool for visualizing high-dimensional data. The JMAP Star Class generates a graph representation of projections using Kepler Mapper, offering insights into the complex relationships within the data.

Star Functionality
-----------------

Star Class
^^^^^^^^^^^^^
.. automodule:: thema.multiverse.universe.star
:members:
:undoc-members:
:show-inheritance:

StarGraph Class
^^^^^^^^^^^^^^^^
.. automodule:: thema.multiverse.universe.starGraph
:members:
:undoc-members:
:show-inheritance:

.. _jmapStar:

jmapStar Class
^^^^^^^^^^^^^
.. automodule:: thema.multiverse.universe.stars.jmapStar
:members:
:undoc-members:
:show-inheritance:
89 changes: 89 additions & 0 deletions docs/_sources/multiverse/outerSystem.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
.. _outerSystem:

Outer System
==========================

The ``thema.multiverse.system.outer`` module provides essential functionality for managing and exploring high-dimensional data through projection algorithms. At the core of this module is the ``COMET`` class, which serves as a base template for projection algorithms, enforcing a structured approach to data management and projection. This enables a universal procedure for generating projection objects.

The ``Oort`` class, a key component of the ``system.outer`` module, generates a space of projected representations of an original, high-dimensional dataset. While navigating this space of projections can be challenging, our tools facilitate easy exploration and interpretation of the data.


:ref:`Comet Class: <comet-class>`
A base class template for projection algorithms, enforcing structure on data management and projection.

:ref:`Projectiles: <projectiles>`
Support for creating ``Comet`` subclasses. Thema currently supports three projection methods:
- Uniform Manifold Approximation and Projection for Dimension Reduction (:ref:`UniformMAP`)
- T-distributed Stochastic Neighbor Embedding (:ref:`TSNE`)
- Principle Component Analysis (:ref:`principCA`)

:ref:`Oort Class: <oort-class>`
Generates a space of projected representations of high-dimensional datasets, aiding in data exploration.

Usage
^^^^^^^^^^^^^^^^^^

- **Creating and Managing Projections:** Use ``Projectiles`` class to create and manage a universe of different unsupervised projections of your data.
- **Unlocking the Multiverse of Representations** Use ``Oort`` to handle the space of multiple data projections

.. _comet-class:

Comet Base Class
-----------------

.. automodule:: thema.multiverse.system.outer.comet
:members:
:undoc-members:
:show-inheritance:


.. _projectiles:

Projectiles
-----------------
Create and manage the universe of different unsupervised projections of your data. We have decided to support three standard dimensionality reduction methods:

- Uniform Manifold Approximation and Projection for Dimension Reduction: `UMAP <https://umap-learn.readthedocs.io/en/latest/>`_
- T-distributed Stochastic Neighbor Embedding: `t-SNE <https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html#:~:text=t%2DSNE%20%5B1%5D%20is,and%20the%20high%2Ddimensional%20data.>`_
- Principle Component Analysis: `PCA <https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html>`_

.. hint::
- An interactive overview of the key differences between UMAP and t-SNE projections: `UMAP vs. t-SNE <https://pair-code.github.io/understanding-umap/#:~:text=UMAP%20vs%20t%2DSNE%2C%20revisited,structure%20in%20the%20final%20projection.>`_

.. _UniformMAP:
UMAP
^^^^^^^^^^^^^^^^^^
.. automodule:: thema.multiverse.system.outer.projectiles.umapProj
:members:
:undoc-members:
:show-inheritance:

.. _TSNE:
t-SNE
^^^^^^^^^^^^^^^^^^
.. automodule:: thema.multiverse.system.outer.projectiles.tsneProj
:members:
:undoc-members:
:show-inheritance:

.. _principCA:
PCA
^^^^^^^^^^^^^^^^^^
.. automodule:: thema.multiverse.system.outer.projectiles.pcaProj
:members:
:undoc-members:
:show-inheritance:


.. _oort-class:

Oort Class
-----------------

.. automodule:: thema.multiverse.system.outer.oort
:members:
:undoc-members:
:show-inheritance:



42 changes: 42 additions & 0 deletions docs/_sources/multiverse/thema.multiverse.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
.. _thema-multiverse:

THEMA: Multiverse
==========================

The ``thema.multiverse`` package provides an advanced framework for analyzing the multiverse of unsupervised representations of your data. It leverages topology and machine learning to distill metrics of agreement and trustworthiness across the space of models. This helps you understand how different representations align and vary, offering insights into the reliability and consistency of your models.

By evaluating hyperparameters and their impact on model performance and alignment, ``thema.multiverse`` provides a robust, data-driven approach to selecting and validating the best representations for your specific needs. With THEMA, you can confidently navigate the complex landscape of unsupervised learning, ensuring that your models are both reliable and insightful.

The *multiverse* contains the ``system`` and ``universe`` subpackages.

.. raw:: html

<hr style="border: none; border-top: 2px solid #007bff; margin: 20px 0;">

Architecture
----------------

.. code-block:: bash
multiverse
├── system
│ ├── inner
│ └── outer
└── universe
├── galaxy.py
├── geodesics.py
├── star.py
├── starGraph.py
├── starSelectors.py
└── stars
Subpackages
------------------------------


.. toctree::
:maxdepth: 2

thema.multiverse.system
thema.multiverse.universe
Loading

0 comments on commit 09be6d3

Please sign in to comment.