PHOTON

A Python-based Hyperparameter Optimization Toolbox for Neural Networks designed to accelerate and simplify the construction, training, and evaluation of machine learning models.

Get to work now!

Dive into hyperparameter space now!

The best way to start optimizing your machine learning models is to download PHOTON, explore the examples and follow the GettingStarted section

Features

PHOTON Modules

PHOTON Modules are add-ons to the PHOTON package which allow users to include modality-specific operations directly into their machine learning pipeline. Thus, users can harness PHOTON's full power while directly working with their favorite modality-specific software or algorithms. In this way, all preprocessing steps can also be used with hyperparameter search.

PHOTON Genetics

PHOTON-Genetics enables loading and preprocessing of genetic data based on the PLINK package.

Prof. Dr. B. Müller-Myhsok

Statistical Genetics

Max Planck Institute of Psychiatry Munich

PHOTON Neuro

PHOTON-Neuro enables loading and proprecessing neuroimaging data such as structural and functional Magnetic Resonance Imaging (MRI) data. In addition, it supports a range of advanced feature extraction and feature engineering as well as atlas-based analyses.

Prof. Dr. Dr. U. Dannlowski

Translational Psychiatry Group

University of Muenster

PHOTON Graph

PHOTON-Graph enables large-scale graph theoretical analysis across modalities with a focus on neuroimaging modalities.

Prof. Dr. Dr. H. Walter

Mind and Brain Research Center

Charité Berlin

PHOTON Now

PHOTON-Now enables loading and proprecessing temporal (i.e. time-series) data with a focus on neuroimaging modalities (such as EEG, MEG and resting-state functional MRI) and smartphone sensor data. In addition, it supports a range of advanced time-series analysis tools based on Deep Learning (e.g. LSTMs) and Complex Systems Analysis (e.g. stochastic differential equation modeling).

PD Dr. T. Hahn & Dr. O. Kamps

AI and Machine Learning in Psychiatry Group, Center for Nonlinear Science

University of Muenster

PHOTON Repository

PHOTON-Repository is a platform enabling direct sharing of pre-trained machine learning models - PHOTON-based or otherwise - with the community. It thus allows researchers to disseminate their accomplishments while simultaneously providing a hub for all reseachers seeking state-of-the-art models. Thereby, PHOTON-Repository fosters and supports current efforts towards replicability and real-life validation.

PHOTON Team

AI and Machine Learning in Psychiatry Group

University of Muenster

PHOTON eDoc

PHOTON-eDoc is a growing set of tools and algorithms enabling the analysis of real-life clinical data including for example psychometric data and text from eletronic patient records. It is designed specifically for unstructured data which would otherwise be difficult to handle in machine learning analyses.

Dr. med. Nils Opel, PD Dr. T. Hahn

Translational Psychiatry Group & AI and Machine Learning in Psychiatry Group

University of Muenster

Predictive Analytics
Competition 2018

Boost Machine Learning in Psychiatry towards clinical decision support systems.

This year, we invite you to develop a model classifying patients suffering from Major Depression and healthy individuals based on structural (so-called Cat12) Magnetic Resonance Imaging (sMRI) data. The goal is to provide models which correctly label previously unknown datasets as stemming from either depressive or healthy individuals.


Ready, Steady, Go!

Model Repository

Science needs exchange and cooperation.

We re-invented the wheel so many times in our work, that we feel the need to create a place where we can all share our best ideas - not as a paper, but in a form usable right away for everyone. Let others benefit from your work - benefit from others' work.


Explore the model repository

THE TEAM

Tim Hahn

Tim Hahn

PD Dr. rer. nat.


Daniel Emden

Daniel Emden

Dipl. Inf.


Dominik Grotegerd

Dominik Grotegerd

Dr. rer. nat. Dipl. Inf.


Claas Kähler

Claas Kaehler

Dipl. Inf.


Ramona Leenings

Ramona Leenings

B. Sc. Wirtschaftsinformatik,
M. Sc. Cognitive Science


Nils Winter

Nils Winter

M. Sc. Psychology


Special Thanks goes to the Department of Computer Science, University of Muenster

Xiaoyi Jiang

Prof. Dr. Xiaoyi Jiang

Head of Pattern Recognition and Image Analysis Department
PHOTON Advisory Board


Xiaoyi Jiang Students

PHOTON Developers

Computer Science Students


Explore PHOTON

Documentation

PHOTON is an object-oriented python framework for optimizing machine learning pipelines. It is designed to leave you deciding the important things and automatizing the rest.

PHOTON gives you an easy way of setting up a full stack machine learning pipeline including nested cross-validation and hyperparameter search.

After PHOTON has found the best configuration for your model, it offers a convenient possibility to explore the analyzed hyperparameter space. It also enables you to persist and load your optimal model, including all preprocessing steps, with only one line of code.

PHOTON Architecture

Installation

You only need two things: Python 3 and your favourite Python IDE to get started. Then simply install PHOTON via pip.


        pip install photonai
        

Getting Started


        my_pipe = Hyperpipe('basic_svm_pipe_no_performance',
                    optimizer='grid_search',
                    metrics=['accuracy', 'precision', 'recall'],
                    best_config_metric='accuracy',
                    outer_cv=KFold(n_splits=3),
                    inner_cv=KFold(n_splits=10))

        my_pipe += PipelineElement('StandardScaler')

        my_pipe += PipelineElement('PCA', hyperparameters={'n_components': [5, 10, None]}, test_disabled=True)

        my_pipe += PipelineElement('SVC', hyperparameters={'kernel': Categorical(['rbf', 'linear']),
                                                           'C': FloatRange(0.5, 2, "linspace", num=5)})

        my_pipe.fit(X, y)
            

Setup and optimize your machine learning pipeline in 5 lines of code.

We are using a very basic pipeline here:

We repeat the hyperparameter search three times using a KFold split for the outer cross-validation loop, and we test each configuration ten times with a KFold split on the inner cross-validation loop.

Hyperparameter search is done with our good old friend grid search. For each configuration, we are interested in the accuracy, recall and precision of the learning model. After all configurations have been tested, we pick the optimum configuration by maximizing the metric accuracy.

Our pipeline has two preprocessing steps: We add a standard scaler for normalization and a PCA for feature space reduction. For both of them we specify some hyperparameters we want to test. Finally, we add a support vector machine for classification, again specifying some options for the hyperparameters.

With pipeline.fit(data, targets) you start the hyperparameter search including the nested cross validation, so that you end up having PHOTON delivering you the best configured model for your data as well as its generalized performance.

Easy Customizing

PHOTON is based on simple interfaces, so you can add any custom code in just to no time.

  • add custom preprocessing elements
  • add custom models
  • any element is automatically enabled and integrated in the hyperparameter search

Seamless Integration

Choose elements from a big pool of diverse toolboxes

  • add any scikit-learn algorithms
  • add keras or tensorflow models

Sounds good?!

Get your hands on PHOTON and read more about some amazingly cool features in our documentation.

Say Hi!

Google Map of Albert-Schweitzer-Campus 1/A9, Münster, Germany
Albert-Schweitzer-Campus 1/A9
48149 Münster
HahnT@wwu.de
0251 8351855