Metadata-Version: 2.1
Name: orion-ml
Version: 0.1.5.dev0
Summary: Orion is a machine learning library built for data generated by satellites.
Home-page: https://github.com/D3-AI/Orion
Author: MIT Data To AI Lab
Author-email: dailabmit@gmail.com
License: MIT license
Description: <p align="left">
        <img width=15% src="https://dai.lids.mit.edu/wp-content/uploads/2018/06/Logo_DAI_highres.png" alt=“DAI-Lab” />
        <i>An open source project from Data to AI Lab at MIT.</i>
        </p>
        
        <p align="left">
        <img width=20% src="https://dai.lids.mit.edu/wp-content/uploads/2018/08/orion.png" alt=“Orion” />
        </p>
        
        [![Development Status](https://img.shields.io/badge/Development%20Status-2%20--%20Pre--Alpha-yellow)](https://pypi.org/search/?c=Development+Status+%3A%3A+2+-+Pre-Alpha)
        [![PyPi Shield](https://img.shields.io/pypi/v/orion-ml.svg)](https://pypi.python.org/pypi/orion-ml)
        [![CircleCI](https://circleci.com/gh/signals-dev/Orion.svg?style=shield)](https://circleci.com/gh/signals-dev/Orion)
        [![Travis CI Shield](https://travis-ci.org/signals-dev/Orion.svg?branch=master)](https://travis-ci.org/signals-dev/Orion)
        [![Downloads](https://pepy.tech/badge/orion-ml)](https://pepy.tech/project/orion-ml)
        [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/signals-dev/Orion/master?filepath=notebooks)
        
        # Orion
        
        * License: [MIT](https://github.com/signals-dev/Orion/blob/master/LICENSE)
        * Development Status: [Pre-Alpha](https://pypi.org/search/?c=Development+Status+%3A%3A+2+-+Pre-Alpha)
        * Homepage: https://github.com/signals-dev/Orion
        * Documentation: https://signals-dev.github.io/Orion
        
        # Overview
        
        Orion is a machine learning library built for *unsupervised time series anomaly detection*. With a given time series data, we provide a number of “verified” ML pipelines (a.k.a Orion pipelines) that identify rare patterns and flag them for expert review.
        
        The library makes use of a number of **automated machine learning** tools developed under [Data to AI Lab at MIT](https://dai.lids.mit.edu/).
        
        **Recent news:** Read about using an Orion pipeline on NYC taxi dataset in a blog series:
        
        [Part 1: Learn about unsupervised time series anomaly detection](https://t.co/yIFVM1oRwQ?amp=1) | [Part 2: Learn how we use GANs to solving the problem? ](https://link.medium.com/cGsBD0Fevbb) | [Part 3: How does one evaluate anomaly detection pipelines?](https://link.medium.com/FqCrFXMevbb)
        :--------------------------------------:|:---------------------------------------------:|:--------------------------------------------:
        ![](docs/images/tulog-part-1.png)       |  ![](docs/images/tulog-part-2.png)            | ![](docs/images/tulog-part-3.png)
        
        **Notebooks:** Discover *Orion* through colab by launching our [notebooks](https://drive.google.com/drive/folders/1FAcCEiE1JDsqaMjGcmiw5a5XuGh13c9Q?usp=sharing)!
        
        # Quickstart
        
        ## Install with pip
        
        The easiest and recommended way to install **Orion** is using [pip](https://pip.pypa.io/en/stable/):
        
        ```bash
        pip install orion-ml
        ```
        
        This will pull and install the latest stable release from [PyPi](https://pypi.org/).
        
        
        In the following example we show how to use one of the **Orion Pipelines**.
        
        ## Fit an Orion pipeline
        
        We will load a demo data for this example: 
        
        ```python3
        from orion.data import load_signal
        
        train_data = load_signal('S-1-train')
        train_data.head()
        ```
        
        which should show a signal with `timestamp` and `value`.
        ```
            timestamp     value
        0  1222819200 -0.366359
        1  1222840800 -0.394108
        2  1222862400  0.403625
        3  1222884000 -0.362759
        4  1222905600 -0.370746
        ```
        
        In this example we use `lstm_dynamic_threshold` pipeline and set some hyperparameters (in this case training epochs as 5).
        
        ```python3
        from orion import Orion
        
        hyperparameters = {
            'keras.Sequential.LSTMTimeSeriesRegressor#1': {
                'epochs': 5,
                'verbose': True
            }
        }
        
        orion = Orion(
            pipeline='lstm_dynamic_threshold',
            hyperparameters=hyperparameters
        )
        
        orion.fit(train_data)
        ```
        
        ## Detect anomalies using the fitted pipeline 
        Once it is fitted, we are ready to use it to detect anomalies in our incoming time series:
        
        ```python3
        new_data = load_signal('S-1-new')
        anomalies = orion.detect(new_data)
        ```
        > :warning: Depending on your system and the exact versions that you might have installed some *WARNINGS* may be printed. These can be safely ignored as they do not interfere with the proper behavior of the pipeline.
        
        The output of the previous command will be a ``pandas.DataFrame`` containing a table of detected anomalies:
        
        ```
                start         end     score
        0  1394323200  1399701600  0.673494
        ```
        
        # Resources
        
        Additional resources that might be of interest:
        * Learn about [benchmarking pipelines](BENCHMARK.md). 
        * Read about [pipeline evaluation](orion/evaluation/README.md).
        * More about [database design](DATABASE.md).
        
        
        History
        =======
        
        ## 0.1.4 - 2020-10-16
        
        Minor enhancements to benchmark
        
        * Load ground truth before try-catch - [Issue #124](https://github.com/signals-dev/Orion/issues/124) by @sarahmish
        * Converting timestamp to datetime in Azure primitive - [Issue #123](https://github.com/signals-dev/Orion/issues/123) by @sarahmish
        * Benchmark exceptions - [Issue #120](https://github.com/signals-dev/Orion/issues/120) by @sarahmish
        
        
        ## 0.1.3 - 2020-09-29
        
        New benchmark and Azure primitive.
        
        * Implement a benchmarking function new feature - [Issue #94](https://github.com/signals-dev/Orion/issues/94) by @sarahmish
        * Add azure anomaly detection as primitive new feature - [Issue #97](https://github.com/signals-dev/Orion/issues/97) by @sarahmish
        * Critic and reconstruction error combination - [Issue #99](https://github.com/signals-dev/Orion/issues/99) by @sarahmish
        * Fixed threshold for `find_anomalies` - [Issue #101](https://github.com/signals-dev/Orion/issues/101) by @sarahmish
        * Add an option to have window size and window step size as percentages of error size - [Issue #102](https://github.com/signals-dev/Orion/issues/102) by @sarahmish
        * Organize pipelines into verified and sandbox - [Issue #105](https://github.com/signals-dev/Orion/issues/105) by @sarahmish
        * Ground truth parameter name enhancement - [Issue #114](https://github.com/signals-dev/Orion/issues/114) by @sarahmish
        * Add benchmark dataset list and parameters to s3 bucket enhancement - [Issue #118](https://github.com/signals-dev/Orion/issues/118) by @sarahmish
        
        ## 0.1.2 - 2020-07-03
        
        New Evaluation sub-package and refactor TadGAN.
        
        * Two bugs when saving signalrun if there is no event detected - [Issue #92](https://github.com/signals-dev/Orion/issues/92) by @dyuliu 
        * File encoding/decoding issues about `README.md` and `HISTORY.md` - [Issue #88](https://github.com/signals-dev/Orion/issues/88) by @dyuliu
        * Fix bottle neck of `score_anomaly` in Cyclegan primitive - [Issue #86](https://github.com/signals-dev/Orion/issues/86) by @dyuliu
        * Adjust `epoch` meaning in Cyclegan primitive - [Issue #85](https://github.com/signals-dev/Orion/issues/85) by @sarahmish
        * Rename evaluation to benchmark and metrics to evaluation - [Issue #83](https://github.com/signals-dev/Orion/issues/83) by @sarahmish
        * Scoring function for intervals of size one - [Issue #76](https://github.com/signals-dev/Orion/issues/76) by @sarahmish
        
        ## 0.1.1 - 2020-05-11
        
        New class and function based interfaces.
        
        * Implement the Orion Class - [Issue #79](https://github.com/D3-AI/Orion/issues/79) by @csala
        * Implement new functional interface - [Issue #80](https://github.com/D3-AI/Orion/issues/80) by @csala
        
        ## 0.1.0 - 2020-04-23
        
        First Orion release to PyPI: https://pypi.org/project/orion-ml/
        
Keywords: orion
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.6,<3.8
Description-Content-Type: text/markdown
Provides-Extra: test
Provides-Extra: dev
