Skip to content

Commit

Permalink
Merge pull request #28 from neurodata/moon_halo
Browse files Browse the repository at this point in the history
Add documentation website
  • Loading branch information
PSSF23 authored Oct 25, 2021
2 parents 1d5e982 + d2e9fb7 commit 95c245c
Show file tree
Hide file tree
Showing 22 changed files with 587 additions and 97 deletions.
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ identifiers:
value: "https://arxiv.org/pdf/2110.08483.pdf"
- type: doi
value: 10.5281/zenodo.5557864
date-released: 2021-10-18
date-released: 2021-10-25
keywords:
- "Streaming Trees"
- "Decision Trees"
Expand All @@ -37,5 +37,5 @@ doi: 10.5281/zenodo.5557864
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/neurodata/SDTF"
title: "Streaming Decision Trees & Forests"
version: "0.0.8"
version: "0.0.9"
...
66 changes: 0 additions & 66 deletions README.md

This file was deleted.

120 changes: 120 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@

Streaming Decision Trees & Forests
==================================


.. image:: https://img.shields.io/badge/arXiv-2110.08483-red.svg?style=flat
:target: https://arxiv.org/abs/2110.08483
:alt: arXiv


.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.5557864.svg
:target: https://doi.org/10.5281/zenodo.5557864
:alt: DOI


.. image:: https://img.shields.io/pypi/v/sdtf.svg
:target: https://pypi.org/project/sdtf/
:alt: PyPI version


.. image:: https://circleci.com/gh/neurodata/SDTF/tree/main.svg?style=shield
:target: https://circleci.com/gh/neurodata/SDTF/tree/main
:alt: CircleCI


.. image:: https://img.shields.io/netlify/b47deb03-9e70-4684-a0a1-bbafdbcf6d49
:target: https://app.netlify.com/sites/sdtf/deploys
:alt: Netlify


.. image:: https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-blue.svg
:target:
:alt: Python


.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Code style: black


.. image:: https://img.shields.io/badge/License-MIT-blue
:target: https://opensource.org/licenses/MIT
:alt: License


.. image:: https://img.shields.io/pypi/dm/sdtf.svg
:target: https://pypi.org/project/sdtf/#files
:alt: Downloads


.. doc-start
Exploring streaming options for decision trees and random forests.

The package includes two ensemble implementations (Stream Decision Forest and Cascade Stream Forest).

Based on ``scikit-learn`` `fork <https://github.com/neurodata/scikit-learn/tree/stream>`_.

Install
-------

You can manually download the latest version of ``SDTF`` by cloning the repository:

.. code-block::
git clone https://github.com/neurodata/SDTF
cd SDTF
python setup.py install
Or install the stable version through ``pip``\ :

.. code-block::
pip install sdtf
Package Requirements
--------------------

The ``SDTF`` package requires a ``scikit-learn`` fork for the ``partial_fit`` functionality,
which you can install manually:

.. code-block::
git clone https://github.com/neurodata/scikit-learn -b stream --single-branch
cd scikit-learn
python setup.py install
The above local setup requires the following packages:


* ``cython``
* ``numpy``
* ``scipy``


.. doc-end
Relevant Repos
--------------


* `huawei-noah/streamDM <https://github.com/huawei-noah/streamDM>`_
* `soundcloud/spdt <https://github.com/soundcloud/spdt>`_
* `online-ml/river <https://github.com/online-ml/river>`_
* `scikit-garden/scikit-garden <https://github.com/scikit-garden/scikit-garden>`_

Relevant Papers
---------------


* `Very Fast Decision Tree <https://dl.acm.org/doi/10.1145/347090.347107>`_
* `Online Bagging and Boosting <https://ieeexplore.ieee.org/document/1571498>`_
* `Leveraging Bagging for Evolving Data Streams <https://link.springer.com/chapter/10.1007/978-3-642-15880-3_15>`_
* `Ensemble Learning for Data Stream Classification <https://dl.acm.org/doi/10.1145/3054925>`_
* `Adaptive Random Forests <https://link.springer.com/article/10.1007/s10994-017-5642-8>`_
* `Streaming Random Forests <https://ieeexplore.ieee.org/document/4318108>`_
* `Streaming Parallel Decision Tree <https://www.jmlr.org/papers/v11/ben-haim10a.html>`_
* `Mondrian Forests <https://papers.nips.cc/paper/5234-mondrian-forests-efficient-online-random-forests.pdf>`_
7 changes: 3 additions & 4 deletions dev-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
numpy
scipy
wheel
-r requirements.txt
cython
joblib
black
black[jupyter]
twine
1 change: 1 addition & 0 deletions docs/CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sdtf.neurodata.io
26 changes: 26 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build/html

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

clean:
rm -rf $(BUILDDIR)/*

html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)"
110 changes: 110 additions & 0 deletions docs/_static/custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
/* To stick the footer to the bottom of the page */
html {
}

body {
font-family: 'Open Sans', sans-serif;
}

h1, h2, h3, h4 {
font-weight: 300;
font-family: "Open Sans",sans-serif;
}

h1 {
font-size: 200%;
}

.sidebar-title {
margin-top: 10px;
margin-bottom: 0px;
}

.banner {
padding-bottom: 60px;
text-align: center;
}

.banner img {
margin-bottom: 40px;
}

.api-module {
margin-bottom: 80px;
}

.youtube-embed {
max-width: 600px;
margin-bottom: 24px;
}

.video-container {
position:relative;
padding-bottom:56.25%;
padding-top:30px;
height:0;
overflow:hidden;
}

.video-container iframe, .video-container object, .video-container embed {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}

.wy-nav-content {
max-width: 1000px;
}

.wy-nav-top {
}

.wy-side-nav-search {
}

.wy-side-nav-search > a img.logo {
width: 50%;
}

.wy-side-nav-search input[type="text"] {
}

/* Remove the padding from the Parameters table */
.rst-content table.field-list .field-name {
padding-left: 0px;
}

/* Lign up the Parameters section with the descriptions */
.rst-content table.field-list td {
padding-top: 8px;
}

.rst-content .highlight > pre {
font-size: 14px;
}

.rst-content img {
max-width: 100%;
}

.source-link {
float: right;
}

/* Don't let the edit and notebook download links disappear on mobile. */
@media screen and (max-width: 480px) {
.wy-breadcrumbs li.source-link {
float:none;
display: block;
margin-top: 20px;
}
}

/* Sphinx-Gallery */
/****************************************************************************/
/* Don't let captions be italic */
.rst-content div.figure p.caption {
font-style: normal;
}
Loading

0 comments on commit 95c245c

Please sign in to comment.