NOTE: This repository is deprecated/outdated, and only kept for compatibility of older versions of Shogun. All readmes were moved to the main repository. Main repository
The Shogun Machine learning toolbox offers a wide range of efficient and unified Machine Learning methods.
- Supports many languages (Python, Octave, R, Java/Scala, Lua, C#, Ruby, etc) and platforms (Linux/Unix, MacOS and Windows) and integrates with their scientific computing environments.
- Try Shogun in the cloud, powered by AWS.
- Efficient implementation (from standard to cutting edge algorithms), modern software architecture in C++.
- Easy combination of multiple data representations, algorithm classes and general purpose tools for rapid prototyping of data pipelines.
- Free software, community-based development and machine learning education (see Using Shogun to Learn).
- GPLv3 license and working towards BSD compatibility.
Keep reading to find out more about Shogun's mission, features and history.
Machine learning is powerful. Within the last two decades, machine learning (ML) has emerged from an eccentric academic field to transforming the way we live our everyday life. Its methods influence society and its tools have a billion-dollar impact on global economy. The Shogun developers want to make sure that the underlying algorithms are transparent and accessible. Anyone - scientists, data enthusiasts, non-profit organisations, companies, hackers, citizens, journalists, students - should be able to use ML tools for free.
The Shogun ML toolbox promotes this mission through its features (accessible, open source and good) and a focus on ML education and developing its contributors.
Shogun is one of the oldest and largest open source ML platforms. Statistics on Shogun's development activity can be found at ohloh.
- Shogun is not limited to a single language:
you can use the toolbox through a unified interface (SWIG) from C++, Python, Octave, R, Java, Lua, C#, Ruby, etc. see the examples.
Thus Shogun is independent of trends in computing languages and importantly, this allows you to use Shogun as a vehicle to expose your algorithm to multiple communities. - Shogun runs natively under Linux/Unix, MacOS, and Windows.
- Anyone can try Shogun with minimal effort, for free: simply by connecting to a jupyter notebook, users can run Shogun in the cloud. Shogun offers this service for free through external donations.
- Shogun comes with binary installation packages for a growing number of systems. You can also download our Docker image and run the Shogun cloud locally.
- Shogun does not re-invent the wheel, but offers bindings to other sophisticated libraries including, LibSVM/LibLinear, SVMLight, LibOCAS, libqp, VowpalWabbit, Tapkee, SLEP, GPML and more. Future plans include interfacing TensorFlow and Stan.
- Shogun is community-based and non-commercial.
- Shogun is currently released under the GPLv3 licencse. Shogun is moving towards BSD compatibility with optional GPL parts. This means companies can use the code without having to turn their code-base to GPL.
- Shogun provides efficient implementation of all standard ML algorithms, see the API.
- Shogun's implementations are competitive as for example measured by the MLPack benchmarking framework.
- Shogun offers exclusive state-of-the art algorithms (among others: efficient SVM implementations, Multiple Kernel Learning, kernel hypothesis testing and Krylov methods). All of these are supported by a collection of general purpose methods for evaluation, parameter tuning, preprocessing, serialisation and I/O.
- Shogun has an extensive testing infrastructure, making it reliable on dozens of OS setups.
Shogun is a community learning platform in every sense: anyone can use the toolbox to learn about ML and apply it to solve problems.
- Many scientists use Shogun as a tool for their research and it is cited many hundred times on Google scholar.
- Shogun offers its cloud for educational purposes at universities and workshops (e.g. University College London Introduction to Machine Learning).
- See the mini tutorials in Shogun's showroom.
Even more important, everyone can gain skills by helping to build Shogun. Shogun highly values its contributors and aims to foster and develop them.
- Shogun has mentored 33 Google Summer of Code student projects since 2011 (and counting). Especially female students and students from diverse backgrounds are encouraged to apply.
- Many of Shogun's alumni students took their acquired skills to industry and the Shogun community is proud to be part of their education.
Shogun was initiated in 1999 by Soeren Sonnenburg and Gunnar Raetsch (that's where the name ShoGun originates from). The original focus was on large-scale kernel methods and bioinformatics. Since then, Shogun has continuously been used for scientific research (a list of papers citing Shogun can be found here) and massively expanded.
Currently, Shogun is developed by a diverse team of students, scientists and professionals, see the website and Shogun's AUTHORS. None of their work would have been possible without the patches and bug reports by various contributors.