Tag Archive: model selection


Machine learning friends! 💡

William of Ockham, a 14th-century friar and philosopher, had a deep appreciation for simplicity. His famous principle, Ockham’s Razor, suggests that when several explanations are possible, we should prefer the simpler one.

In machine learning terms, the idea is remarkably relevant: the less complex an ML model is, the more likely it is that a good empirical result reflects something real rather than simply the peculiarities of the sample.

This is one reason why model complexity matters. A highly sophisticated model may fit the training data extremely well, but that does not necessarily mean it will generalize to new, unseen data. Sometimes, the simplest model that explains the evidence is also the most useful.

And we should never forget that philosophy often speaks first about the interesting, new, and seemingly crazy ideas that later influence science and technology.

The real art in science, machine learning, and software engineering is not necessarily to build the most complicated solution. It is to find solutions that are simple, explainable, robust, and elegant.

Sometimes, less really is more.

Hello my AI friends!

Today, I would like to share with you skrobot!

skrobot is an open-source Python module I have created at Medoid AI for automating Machine Learning (ML) tasks. It is built on top of scikit-learn framework and follows object-oriented design (OOD) for ML task creation, execution, and reproducibility. Multiple ML tasks can be combined together to implement an experiment. It also provides seamless tracking and logging of experiments (e.g. saving experiments’ parameters).

It can help Data Scientists and Machine Learning Engineers:

  • to keep track of modelling experiments / tasks
  • to automate the repetitive (and boring) stuff when designing ML modelling pipelines
  • to spend more time on the things that truly matter when solving a problem

The current release of skrobot (1.0.13) supports the following ML tasks for binary classification problems:

  • Automated feature engineering / synthesis
  • Feature selection
  • Model selection (i.e. hyperparameters search)
  • Model evaluation
  • Model training
  • Model prediction

For more information you can check out the online documentation!

Lastly, many thanks to all contributors who helped to extend and support skrobot.

Stay safe!