A successful AI projects is the result of the synergy between business expertise, technical proficiency, a strong methodology and an astute management of the progress. It is also a challenge at the individual level, and we’ve asked Albert Comellas, data scientist at Wizata, to share what he always keeps on his radar when solving difficult issues, be it root cause analysis or production process optimization.
A clear idea of the objective
Your main goal is to keep your eyes on the final objective of your client, which can be arduous when you’re concentrating your attention on a subset of the problem. As a data scientist, it usually takes the form an information that you must provide, such as the identification of the problem for a root cause analysis or a prediction or prescription through a forecasting/predictive model. Starting from the data to find out what answer you can bring typically won’t work: you should begin by knowing precisely which question you aim to solve. Multiple paths can then be explored towards an answer.
Leveraging your business expertise
There’re myriad of ways you can transform data to refine it into useful information. Understanding the data at a deep level through your business knowledge allows you to transform the data, by extracting new features and refining it into key information, which can then provide you with the best results. This is where experience and profound expertise adds real value to the data scientist’s work, and it is also the part that is extremely hard to automatize.
A systematic approach to problems that works within a team
When it’s clear what you’re aiming to do, you break down the problem in small, distinct steps. With clearly defined input and output for these individual stages, you can also distribute these problems and work as team.
Avoid unnecessary complexity
Complexity for itself is a bad habit. The basic and simple techniques shouldn’t be underestimated: they are often useful and provide answers that are more interpretable compared to complex models.
Combine different techniques
For each of the individual steps of the problem you’re looking to solve, try the techniques you’re most familiar with. Try to apply and combine them creatively in ways you’ve never tried before searching for other tools or methods. Combining diverse approaches can also make way for surprisingly good answers.
Develop reusable code
Try to code in a way that enables you to recycle what you’ve already developed on your project or on previous research without reinventing the wheel every single time. This also allows you to try different combinations of programs parts, and to test several settings of parameters and different approaches when experimenting. Programming in a modular way can also enable you to run the same codes on other projects, if you’re trying to achieve a similar goal than before. It also allows to iterate more rapidly and maximize efficiency.