Many senior developers start in Machine Learning by building big and complex projects. An app powered by computer vision, sentiment analysis, or a recommendation system over a big database are examples of complex projects which involve Machine Learning.
It is perfectly all right to have big goals in Machine Learning. Indeed, we want to have these stunning projects in our portfolio. That’s why we practice and learn every day; because we want to be part of a great team creating incredible products.
But the problem is that big projects are time-consuming. They have a lot of details, and they require a lot of studies before you can make any progress. And because you stay a long time without any results, you will be demotivated and drop your project.
So if you want to keep your motivation and make real progress on your portfolio, you need to build simpler and smaller projects. These projects will be simple because you will need little theory to work on them. And these projects need to be small so that you complete them in a few hours or days. Yet, if you still have a big goal in mind, break it into smaller parts and make them little projects so that you can present your intermediary results.
How to make Machine Learning projects smaller
In this section, we present some ideas to simplify your projects so that you can finish your projects more quickly.
- Use a smaller dataset: the dataset you are using is too big, and you need special treatment for them. Choose a dataset that fits entirely in memory or select only some lines of the original dataset.
- Select a subset of attributes: select only a subset of attributes. Add more attributes to your project incrementally.
- Select a clean dataset: select a clean dataset so you can focus on modeling.
- Limit data preprocessing: you can spend life in preprocessing and feature engineering your dataset. Limit the techniques you will use so you can move on with the project.
- Test a subset of algorithms: you don’t need to apply all the algorithms you know in a single project. You can even dedicate a project to study one algorithm.
- Limit hyperparameter tuning: hyperparameter tuning is also a process that can take forever. Set a goal of how much you want to improve your model.
- Use simple tools: use the tools you already know.
- Targeted practice: focus one skill at a time. Practice loading and cleaning a dataset, calculating statistics, a single algorithm, and so on. Practice your skills separately and combine them in later projects
Building skills is an iterative process. After a cycle of practice, we need a reward so we can assess our progress. In Machine Learning, this is no different. Published projects are rewards for our hard work. Also, by completing projects, we can determine how much we learned and which are our knowledge gaps, so that we can fill them during the next cycle of practice.
This mechanism works better if our projects are small so we can complete them quickly (2 weeks at most). Bigger projects can take too much time to complete, and they can reveal too many gaps, which can demotivate us.
Therefore, we need to practice with small projects so we can keep a constant pace in building our skills and our motivation. As we gain practice, we can incrementally create more complex projects.
If you are not sure in which projects to work on, check some examples in the link below. There you can find a list of small projects you can complete in a few days or even minutes: