Follow Us

Share Post

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp

AutoML v.0.4.5: Docker Solutions & Advanced Classification

Written by:
Anna Weigel (CTO at Modulos)

Modulos AutoML version 0.4.5 is available! With this version, we are making it even easier to deploy and utilize our Machine Learning (ML) Solutions. For the first time, this release also allows you to predict probabilities for classification tasks. Among many other enhancements and refinements, we have also added new ML models and objectives.

Solutions: New Dockerfiles and REST APIs

The Modulos AutoML platform finds the best feature extractor, model, and hyperparameter combinations for your use cases. These stand-alone Solutions allow you to generate predictions and are available for download. As part of this release, we have added new functionalities that make it easier to deploy and to use Solutions.

To generate predictions, you can now choose between even more options!

You can rely on the purely python based solution clients that we have been shipping for a while: the online client, for single sample predictions, the batch client, for multi sample predictions, or the forecast client, for time series workflows. The jupyter notebook shows you how to use these clients in practice. All requirements are easy to install with a single script.

Example python Solution client. The new Solution server makes it very easy to generate predictions, as this example shows. Simply define your feature values and send a request via the REST API. And you do not have to use python! Requests can be sent via a language of your choice.

With the new release, most Solutions now also include everything needed for a client-server setup. The interface to generate predictions, i.e. the REST API, is standardized. This means that you do not have to change the format of your requests if you swap out Solutions. The Solution server can be run in pure python mode or it can be launched within a Docker container. The Docker container neatly bundles all Solution dependencies into a single package, making it easier to deploy your prediction service. Additionally, you are no longer restricted to python and can generate predictions via a programming language of your choice!

You can find more information in the on-platform documentation, as well as the Solution readme, which have both been reworked completely to introduce these new deployment options. 

Classification with a probabilistic outcome

Among many other use cases, classification workflows allow you to predict if a customer is likely to churn in the near future, what kind of risk group a patient falls into, or if there is a manufacturing defect in a specific product. But how certain are these statements?

In this release, we enable “classification with a probabilistic outcome”. This feature allows you to gauge how definitive the predictions of a classification task are.

Like for a traditional classification workflow, you upload a dataset with categorical labels (e.g. customer will churn or will not churn) to the Modulos AutoML platform. But now you can produce Solutions that compute the probability per available category (e.g. probability of customer churning: 80%, not churning: 20%), rather than the category directly! Of course, you can still infer the original label from such Solutions: e.g. simply pick the category with the highest probability.

Examples from the MNIST dataset. You are now able to predict the probability of a specific image containing a certain digit. This allows you to gauge how certain these predictions are. For clearly written digits the probability for a specific category is high (e.g. “1”). For digits that are difficult to identify, the probability is spread across different categories (e.g. “4”, “8”). A traditional classification workflow returns the category with the highest probability (highlighted in green/red).
Example case: MNIST

The MNIST database includes a large number of images containing handwritten digits and corresponding labels. We can use the Modulos AutoML platform to create a ML Solution that directly predicts which digit each image contains. Or we can build a Solution that returns the probability of a specific image showing a “0”, “1”, “2”, etc. 

ROC curve for binary classification. The ROC-AUC objective aims to maximize the area under the curve. For a perfect classifier this area would be equal to 1. For binary classification with probabilistic outcome this figure is available in the solution readme.

To use this feature, make sure to choose the new ROC-AUC objective in the workflow creation. The goal of the ROC-AUC objective is to maximize the area under curve (AUC) for the receiver operating characteristic (ROC) curve. 

Returning to the churn example from above: Let’s assume our model predicts that a customer will churn with a 55% probability. The big advantage of probabilities is that you can decide whether this customer falls into the “will churn” category because the probability is higher than 50%. Or, if the client is part of the “will not churn” group, if you want to be more conservative. 

The ROC curve shows how the number of true and false positives changes as a function of this probability threshold. A perfect classifier model is very good at distinguishing positive and negative outcomes. For such a model we expect the true positive rate to be high, even for the highest cut offs. It should also not change significantly as we vary the threshold. For a perfect classifier the area under the ROC is hence close to 1.

At the moment, classification with a probabilistic outcome is available for labels that are either boolean or contain more than three categories. For more information please see the on-platform documentation.

Module updates & new python version 

ML modules available in version 0.4.5 of the Modulos AutoML platform.

In addition to the binary and macro versions of the ROC-AUC objective, we have also added two new models. Version 0.4.5 of the Modulos AutoML platform contains k-Nearest Neighbor (kNN) models for classification and regression. For classification, a sample’s category is based on the class that is most common amongst its nearest neighbors. For regression, predictions are determined by averaging the values of a sample’s nearest neighbors. This makes kNN a simple, but intuitive and easy to interpret ML algorithm. kNNs are also fast since they do not have to be trained and are suited for small datasets. 

For the random forest and ridge regression models, we have refined the range of possible hyperparameter configurations. For example, this makes the random forest more robust for unbalanced datasets. It also increases the performance of ridge regression on a wider variety of datasets.

Since python 3.6 is reaching its end of life soon, we stopped its support. Instead, we have added support for python 3.8 and 3.9. This extends the range of supported versions to python 3.7, 3.8, and 3.9. Consequently, you can now also use these more recent python versions to generate predictions.

Finally, we have updated many of the used third party libraries within our code base. This increases the overall robustness and security of the platform. It also ensures that the generated ML Solutions are up to date.


  • Improved the installation and setup procedure. The update now allows users to skip Modulos AutoML platform versions easily. We also greatly increased the quality of life of the automl tool by refining the communication, adding clearer user prompts, and increasing the flexibility for the storage locations of the various backups.
  • Increased the speed of the identity feature extractor by changing its batch size
  • Included all categories in the confusion matrix figure, even rare ones, which are not part of the validation dataset.
  • Streamlined the files shipped in the Solution, thereby decreasing its size.
  • Added the workflow type and label categories to the solution readme. 
  • Fixed inconsistency on the license page.

Share Post

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp

Modulos Newsletter

Sign up for our newsletter to receive updates on our products and company.

Adrian Weber

Advisory Board

The bad news is time flies. The good news is you’re the pilot

Adrian has more than 18 years of working experience in top-tier management consulting. He has a track record with retail banks, wealth managers, technology providers as well as central banks and regulatory authorities and has worked in more than 20 countries. Recently, after having served as a Senior Partner and Head of Financial Services Switzerland and Head of Global Central Banking Practice at Roland Berger, he co-founded ADVYCE Switzerland, a boutique consulting firm based in Zurich.

Michael Röthlisberger

Michael Röthlisberger

Data Scientist

Data handling with structure

He started to take an interest in Data Science and Software Development during his master’s degree. For his master thesis he worked on the image reconstruction software for a new PET detector. Michael gained some first experience in an internship for Sensirion AG. There he was part of the R&D team, which was developing a new gas sensor. The participation of a machine learning hackathon was sparking the interest of Michael in ML and he decided to pursue a career in this field. He is now exited to face new challenges with modulos and experience working in a rising start-up.

Kevin Schawinski

Kevin Schawinski

CEO / Co-Founder

Running a startup is super relaxing, right?

While a Ph.D student, he co-founded the Galaxy Zoo citizen science project involving more than a million members of the public in scientific research because machines weren’t quite good enough yet to go map the cosmos and classify galaxies. He stayed in Oxford as the Henry Skynner Junior Research fellow at Balliol College before moving to Yale as a NASA Einstein Fellow. In 2012, he started the galaxy and black hole research group at ETH Zurich as an assistant professor and began a close collaboration with Ce Zhang from computer science to work on the project. He is now the CEO of Modulos.

Ce Zhang

Ce Zhang


Random is best.

He believes that by making data—along with the processing of data—easily accessible to non-computer scientists, we have the potential to make the world a better place. His current research focuses on building data systems to support machine learning and help facilitate other sciences. Before joining ETH, Ce was advised by Christopher Ré. He finished his PhD round-tripping between the University of Wisconsin-Madison and Stanford University, and spent another year as a postdoctoral researcher at Stanford. His PhD work produced DeepDive, a trained data system for automatic knowledge-base construction. He participated in the research efforts that won the SIGMOD Best Paper Award (2014) and SIGMOD Research Highlight Award (2015), and was featured in special issues including the Science magazine (2017), the Communications of the ACM (2017), “Best of VLDB” (2015), and the Nature magazine (2015).

Alexandra Arvaniti

Alexandra Arvaniti

Operations Manager

“You miss 100% of the shots you don’t take.” – Wayne Gretzky

During the last twenty years, she worked in different roles, setting up and running PMOs, supporting the Executive Management Team or as Operations Manager for the DACH region. She loves all organizational challenges, which she can use well at Modulos, like set up and establish administrative business processes.

Rudolf Bar

Rudolf Bär

Chairman of the Advisory Board

After initially working for Dow Corning International in Zurich and Brussels (1964 to 1969), he held various management functions in the Private Banking Group Julius Baer, Zurich, lastly as CEO from 1993 to 2000 and retired from its Board of Directors in 2005. Since 2014 he has been studying at the Institute for Particle Physics and Astrophysics at the ETH, Zurich.

Marianne Chiesi

Marianne Chiesi


Marianne has worked in administration of various companies and the ETH.

Marianne Chiesi worked in the administration of various companies before taking time off to raise her children. She translated text books and literary works into Braille and joined the ETH Zurich as an administrative assistant. At ETH, she worked with professorships and researchers in many areas, including astrophysicists, particle physicists and biochemists. She now runs the administration at Modulos.

Bojan Karlaš

Bojan Karlaš

Software Engineer

Real engineers must be a little bit lazy.

After getting a bachelor’s degree in software engineering at the University of Belgrade, Serbia, Bojan spent 2 years working as a developer at Microsoft building distributed database solutions. He then went to Switzerland to pursue a computer science master’s degree at EPFL. He did his master thesis with Ce Zhang at ETH Zürich on the topic of time series forecasting, after which he joined Ce’s group as a PhD student. His industry experience also includes internships at Microsoft, Oracle and Logitech. His research interests revolve around systems and abstractions for making machine learning accessible to non-experts.

Romain Lencou

Romain Lencou

Head of Engineering

Deleted code is debugged code. (Jeff Sickel)

Romain Lencou graduated from the Grenoble Institut National Polytechnique with M.Sc in Computer Science in 2008. Growing up in France in the 90’s, he developed an enthusiasm for pop culture, technology and food. Always eager for technological challenges, Romain worked for companies like VMware, Intel and Logitech, covering various topics including cryptography, virtualization and computer vision. Bitten by the machine learning bug, he is looking forward to apply his problem solving skills in Modulos.

Dominic Stark

Dominic Stark

Data Scientist

Code quality correlates with food quality.

Dominic Stark studied physics at ETH Zürich. The transition of his career path to Data Science began when he was analyzing UV images of galaxies. Together with Kevin Schawinski an Ce Zhang, he worked on applying the latest advances of deep learning research to his problem. It turned out that the method itself was at least as interesting as the problem they designed it for. After publishing the results, his research project was about using Reinforcement Learning to develop novel ideas for data acquisition in astronomy. As a Data Scientist at Modulos, he keeps on solving problems, that require new ideas and technologies.

Andrei Văduva

Andrei Văduva

Senior Software Engineer

The trendsetter geek

He focused his attention on designing Architectures of Computer Systems. During university, he gained an excellent understanding of performance optimization and scalability on architectures such as distributed systems. Having a good experience in various Computer Science fields like big data analytics and Artificial Intelligence, he did his bachelor’s thesis designing a Machine Learning algorithm for social media platforms. After graduation, he joined the investment banking industry, in London, where he gained good experience in designing and building high-quality software. Andrei moved to Switzerland to explore new perspectives and found a great challenge in the startup world. Using his passion for technology and professional experience, he brings the best practices in software engineering to Modulos.

Dennis Turp

Dennis Turp

Data Scientist

Dennis Turp is the first employee of Modulos.

Prior to his work at Modulos he studied physics at ETH Zurich. During his Master studies he worked together with Kevin Schawinski and Ce Zhang on exploring machine learning related topics in astronomy. In these one and a half years they published three scientific papers together. Dennis Turp is currently employed as a Data Scientist. His main expertise lies in the fields of generative modeling and anomaly detection.

Elena Maran

Sales Executive

The bad news is time flies. The good news is you’re the pilot

Elena pursued her studies in Bologna University, UC Berkley and Bocconi University, where she obtained her master in Finance. In 2021, she was awarded Dean’s list honours in an Executive Master in Digital Transformation and Innovation Leadership at the IE, in Madrid. She worked for over twelve years in prestigious international financial institutions such as Citibank and China Construction Bank, in different functions and senior roles spanning from sales and trading to corporate relationship management. She worked and travelled in several countries with multicultural teams and clients. She is now living in Zurich with her husband and young daughter. An ex professional volleyball player, in her free time she now enjoys travelling and discovering off-track places, their traditions and culture.

Modulos appoints Anna Weigel as CTO

Anna Weigel

Chief Technology Officer

After acquiring Bachelor and Master degrees in Physics, Anna completed her PhD in Astrophysics in Kevin Schawinski’s group at ETH. Her work on the relationship between supermassive black holes and their host galaxies is summarized in five first-author papers. After exploring the depths of our Universe, Anna joined Modulos as the Head of Data Science. She has since been appointed the role of CTO and is now leading the overall technology development.

Claudio Bruderer

Claudio Bruderer

Head of Product

Give me coffee to function.

After obtaining a BSc and a MSc degree in physics at ETH Zurich, Claudio decided to continue his studies of the Universe as a PhD student in Prof. Refregier’s Cosmology research group. He studied the gravitational lensing effect, whereby he measured the shapes of several billions of galaxy images (mostly synthetic ones). After acquiring his PhD, Claudio then joined the consulting company AWK Group AG and worked as a project manager and associate for IT and communications projects in the logistics and mobility sectors and for the federal government. Determined to create cutting-edge IT solutions, he decided to join Modulos as a product manager.

Thank you for submitting this form.

Laura Guerrini

Data Science Intern

Laura Guerrini is the first intern of Modulos.

Laura is currently finishing her Master’s in Robotics, Systems and Control at ETH. During her studies, she focused on machine learning, control theory and optimization. She joined Modulos as a Data Science Intern to put theory into practice and boost her machine learning and programming skills.

Jérôme Fischer

Sales Development

“The only way to do great work, is to love what you do.” – Steve Jobs

Jérome Fischer is an expert on Sales. Apart from the successful build up of several companies like the Ad Interim Sales GmbH and the Sales4IT GmbH, he passes on his experience in various Sales and Marketing coachings. Jérome now supports Modulos in establishing the first contact with our customers.

In his free time, Mr. Fischer is an ambitious athlete with numerous awards.

Simone Severini

VP Revenue

“There are always three sides to every story!”

Simone graduated at the Politecnico di Torino in Electronics Engineering and recently gained an Executive MBA at MIP Politecnico di Milano. He has two decades of experience covering various management roles in Sales and Marketing in Fortune 500 companies such as Vodafone, Nokia, Qualcomm, Lear and US west coast tech startups. He travelled extensively for business across 40 countries and currently enjoys his time in Southern Switzerland with his wife and three daughters.

In his free time he enjoys taking off with his paraglider from anywhere high and coding for fun.

Matthias Eppenberger

Board Member

“There are always three sides to every story!”

Matthias studied law and economics at the University of St. Gallen HSG and finished with a PhD in law and bar exam. From 1989 to 1998 he worked for Goldman Sachs in New York, London and Zurich as Executive Director Wealth Management before founding his own firm “Private Client Bank, Zurich” which he ran as CEO from 2004 till 2018. He is still a shareholder of this bank and serves in the board.