Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SIMON
machine learning feature discovery platform

Follow us on twitter chat on freenode netlify status

Intro

SIMON is a powerful, flexible, open-source and easy to use Data Science Knowledge Discovery software. Check out live demo or maybe better, view screenshots. Currently SIMON implements Machine Learning and many other statistical data discovery features (Hierarchical clustering, Correlation, PCA Analysis, UMAP, t-SNE and others) that will help you to illustrate dynamic relationships and provide you with a structural sense of your data.

Goal of this project is to make user interface that will empower scientists, makers and other domain experts to extract meaningful information from their data and enable them to rapidly use and quickly prototype with different machine learning algorithms genular is an entirely open source community behind SIMON, if you wish to learn more visit us here

Why is this so cool?

  • 📁 feature discovery you can discover relevant trends and patterns inside your data with ease, that would usually take years of manual handcrafting
  • 💹 machine learning Build Machine Learning models with ease, and quickly compare them via our innovative interface
  • 📦 exploratory data analysis visual analysis of multiple different machine learning results will give you instant insights with help of many different visualization algorithms
  • 🔄 sharing is caring you can share your results with others, deploy your models instantly* *(in progress)_ or download your data for external use
  • 🔐 privacy and security hosting SIMON on your own dedicated servers or laptop you don't have to worry about someone else is looking after your data and your models

Current version features

SIMON UI screenshot

  • 200+ machine learning algorithms to choose from
  • nicely designed drag&drop user interface to easily apply data modeling techniques
  • supports high sparsity data via data imputation or mulset
  • supports local and cloud backend data storage
  • compare all model performance measures in one place
  • visual data analysis that supports clustering and correlation graphs
  • visual feature analysis with dot-plots that supports 280 visual styles
  • visual model performance comparison and model insights
  • in-build data preprocessing (correlation filtering, normalization, imputation...)
  • public dataset repository import to easily import and analyze already published data* (in progress)
  • integrated SAM (Significance Analysis of Microarrays) technique for finding significant genes in a set of microarray experiments
  • multi-language localization support
  • model & data export take your ML models and other performed analysis, reproducibility code and associated data with you on the go* (in progress)

Installation Quickstart

Easy

This section describes the process of pulling a pre-built version of SIMON from DockerHub. If you are beginner or you wish to quickly check it out this is recommended way to start SIMON. This can also be very handy for developers for development without polluting the host machine. The SIMON source code includes a Dockerfile.

Requirements

Software:
Minimum hardware recommendation:
  • 64GB RAM
  • 8 CPU Cores / 16 threads with 3.60 GHz base frequency

Running SIMON Docker Container

In order to run a test instance of SIMON we first need to prepare the local environment.

  1. Download and install Docker. When you finished installing Docker please continue to steps below.

  2. Lets download and run the genular/simon image from DockerHub.

  • Then we will run SIMON with appropriately mounted volumes and port mapping. By default SIMON will run with a Docker Volume file-system inside of it.
  • Please open your favorite Terminal and run the command below. If on Windows - open Windows Power Shell => Click Start, type PowerShell, and then click Windows PowerShel

If you wish to get correct time inside SIMON, replace TZ= variable with your timezone. You can find list of supported timezones here

docker run --rm --detach --name genular --tty --interactive --env IS_DOCKER='true' --env TZ=Europe/London --oom-kill-disable --volume genular_data_latest:/mnt/usrdata --publish 3010:3010 --publish 3011:3011 --publish 3012:3012 --publish 3013:3013 genular/simon:latest
  1. Once command is executed and the SIMON is downloaded and started you can access it on http://localhost:3010 via your web favorite browser (we recommend Firefox) and create your administrator account.
  • If you get asked, please allow connections through your Windows Firewall.

Reinstalling SIMON

In order to re-install SIMON you need to delete previously installed SIMON Docker container and associate data/volumes. More info about that on ,official Docker documentation. Be sure to stop currently running container (if any). To delete all Docker Images, Containers, Volumes, and Networks execute following:

docker stop genular
docker system prune -a --volumes

Please be sure to delete SIMON data volume and image before reinstalling otherwise you will maybe still use old SIMON instance when you run it!

Other information

To run latest Released version (0.2.1), please use following Docker image genular/simon:0.2.1

docker run --rm --detach --name genular --tty --interactive --env IS_DOCKER='true' --env TZ=Europe/London --oom-kill-disable --volume genular_data:/mnt/usrdata --publish 3010:3010 --publish 3011:3011 --publish 3012:3012 --publish 3013:3013 genular/simon:0.2.1

SIMON will now run until you shutdown/restart your machine or stop docker container manually. To manually stop SIMON container please type following command:

docker stop genular

When you wish to start and use SIMON again please type-in Docker run command from above, again!

To delete all data and reset SIMON to factory defaults you need to clear data inside volume you configured. If you used default run configuration please execute following command:

# For latest unstable branch
docker volume rm genular_data_latest
# For latest release
docker volume rm genular_data

Advanced

To install and configure SIMON from source you will need knowledge of Linux, how to set up databases (MySQL) and web server (Apache, nginx) together with R and PHP setup and configuration.

Installation instructions are located in this file. You can find semi-automated bash installation script here, that can also help you to get started and guide you through installation process.

If you believe you don't have necessarily skills to install SIMON, you could always ask a friend to help you or check out our demo

Community

Getting Help

Please do not post usage questions to GitHub Issues pages. For these types of questions use our forum

Submitting Bugs and Enhancements

GitHub Issues is for suggesting enhancements and reporting bugs. We appreciate all enhancements ideas and bug reports. Additionally if you think you can help us with suggesting new useful features we will gladly accept it. Here you can find bug report template and feature request template.

Contributing, writing code

Contributions are very much welcome!

If you need any help, please use community forums.

  1. Check out our public issues board. If your issue isn't on the board, open a new one.
  2. Pick an issue that nobody has claimed and start working on it.
  3. Fork the project (Need help forking a project?). You'll do all of your work on your forked copy.
  4. Create a branch specific to the issue or feature you are working on. Push your work on that branch (Need help with branching?).
  5. Name the branch something like fixes-xxx-issue or add-xxx-feature where xxx is a short description of the changes or feature you are adding.
  6. Once your code is ready, submit a pull request from your branch to SIMON master branch. We'll do a quick review and give you feedback.

Places to Help

We're looking for contributors! In addition to contributing, optimizing and reviewing code, writing bug and feature requests you can help with following:

Project How To Help Next Step
Localization Help us translate SIMON into your language. If some translation is missing or incorrect you can easily help us by correcting it. Join our Translation Community
Tutorials Help others use and understand SIMON Write a tutorial or record it, with usage examples
Organizing Ask clarifying questions on recently opened GitHub issues to move the discussion forward Here
Write article Help others understand what is Machine Learning & how can they apply it, by publishing blog post e-mail us

Browser Support

Tested on Firefox Version 86. As much as we like other browsers we are focusing here to primary provide support for open source ones.

Reaching Out

If you'd like to start a conversation feel free to e-mail us. I would also like to hear from you if you find this project useful and helpful!

Security Vulnerabilities

If you discover a security vulnerability within SIMON, please e-mail us. All security vulnerabilities will be promptly addressed. You are also welcome to open PR request.

Additional Links

Resource Link
File an issue https://github.com/genular/simon-frontend/issues
Blog https://genular.org/blog/
Twitter https://twitter.com/genular

License

SIMON is open-source software for more information please check LICENCE file.

Citation

This software can be used for research purposes, you should cite the aforementioned papers in any resulting publication.

    Adriana Tomic, Ivan Tomic, Yael Rosenberg-Hasson, Cornelia L. Dekker, Holden T. Maecker, Mark M. Davis.
    SIMON, an Automated Machine Learning System, Reveals Immune Signatures of Influenza Vaccine Responses
    http://www.jimmunol.org/content/early/2019/06/13/jimmunol.1900033.abstract
    doi: 10.4049/jimmunol.1900033
    Adriana Tomic, Ivan Tomic, Levi Waldron, Ludwig Geistlinger, Max Kuhn, Rachel L. Spreng, Lindsay C. Dahora, Kelly E. Seaton, Georgia Tomaras, Jennifer Hill, Niharika A. Duggal, Ross D. Pollock, Norman R. Lazarus, Stephen D.R. Harridge, Janet M. Lord, Purvesh Khatri, Andrew J. Pollard, Mark M. Davis.
    SIMON: Open-Source Knowledge Discovery Platform
    https://www.cell.com/patterns/fulltext/S2666-3899(20)30242-7
    doi:10.1016/j.patter.2020.100178