Unified and efficient Machine Learning

Shogun implements a wide range of unified and efficient machine learning algorithms. The library allows easy and seamless combination of multiple data representations, algorithm classes, and general purpose tools. This enables both rapid prototyping of data pipelines and quick implementations of new algorithms. Shogun combines modern software architecture in C++ with efficient low-level computing backends and cutting edge algorithm implementations to solve large-scale machine learning problems. The automatically generated interfaces allow to use Shogun from many modern high level languages under a unified API. We value and focus on our community of developers and users, encouraging and catalysing learning experiences in machine learning, scientific computing, software-engineering, and project organisation.

Starting in 1999, the project has come a long way in terms of code-base, developer team, and use-cases. The current project focus is not on adding new ML algorithms but rather on improvement of the existing, in particular

  1. modernization of the framework
  2. algorithm efficiency & benchmarks
  3. applications & user experiences
lightbulb_outline View ideas list


  • c++11
  • c++17
  • python
  • swig
  • cmake


  • Science and Medicine
  • machine learning
  • scientific computing
  • software engineering
  • user experience
  • data science
comment IRC Channel
email Mailing list
mail_outline Contact email

shogun.ml 2019 Projects

  • Ahmed Essam
    The aim of the project is to dive into the internals of Shogun, refactor and clean old code, and apply modern C++ principles. This includes: ...